Training: Java Novice naar Javanista - Deel 2 Java Apprentice
Java
36 uur
Engels (US)

Training: Java Novice naar Javanista - Deel 2 Java Apprentice

Snel navigeren naar:

  • Informatie
  • Inhoud
  • Kenmerken
  • Meer informatie
  • Reviews
  • FAQ

Productinformatie

Wil jij jezelf ontwikkelen van Java Novice naar Javanista? Dan is dit ontwikkelpad voor jou!

Dit is deel 2 van het ontwikkelpad Java Novice naar Javanista.

Java is een van de meest gevraagde programmeertalen ter wereld en een van de twee officiële programmeertalen die gebruikt worden bij de ontwikkeling van Android. Hoewel Java een pure object-georiënteerde taal is, heeft het zich ontwikkeld tot een multi-paradigma taal waardoor het zeer geschikt is voor elke situatie. Ontwikkelaars die bekend zijn met Java kunnen een breed scala aan applicaties, games en tools bouwen.

In dit tweede deel neem je een diepe duik in de geavanceerde functies van Java - zoals exception handling, Generics, Lambdas en Reflection. Het tweede deel sluit af met een focus op het bouwen van jar-bestanden voor Java-bibliotheken.

Inhoud van de training

Java Novice naar Javanista - Deel 2 Java Apprentice

36 uur

Handling Errors: An Introduction to Exceptions

Developers need to be aware of the concept of exceptions in the context of Java and how they are implemented in the language so that they can handle it efficiently. Use this course to familiarize yourself with Java exceptions from both a theoretical and practical standpoint. Delve into the two major categories of Java exceptions - checked exceptions that can be identified at the compile stage and unchecked exceptions which occur while the program is running. Next, you'll be able to try your hand at some hands-on programming and discover how to work with compile-time errors and distinguish them from exceptions. After finishing this course, you'll be in a position to recognize the purpose and categories of Java exceptions and how to tackle them.

Handling Errors: Handling Exceptions in Java

It is important to handle exceptions proactively in Java to ensure that the flow of a program doesn't break on the occurrence of an exception. Take this course to explore the fundamentals of handling exceptions and different constructs available in Java that allow you to do so. Delve into working with try-catch, finally, and try-with-resource blocks to handle various exceptions within your code. These blocks can be used to catch single, multiple, or categories of exceptions, clean up after your code has run, and handle exceptions related to specific Java objects, respectively. Upon completion of this course, you'll be able to implement exception handling within Java effectively.

Handling Errors: Advanced Topics in Exceptions

While handling exceptions is enough for most programmers, if you are building an app that other developers consume, you should know how to throw exceptions proactively and the various options available in Java in this regard. This is precisely the focus of this course. Learn about throwing an exception based on your conditions in a Java program and how nested function calls influence exception throwing and handling. You'll get a chance to explicitly throw an exception using the throw keyword, add complexity to your code by throwing different exceptions based on different conditions, and build a customized Exception class to define an exception that is not covered by Java's library. Having finished this course, you'll have the knowledge to throw exceptions and run your program without breaking its flow.

Collections in Java: Arrays & Non-parameterized ArrayLists

The Java collections framework is a set of classes and interfaces that implement commonly reusable collection data structures. Though not part of the Java collection framework, arrays allow you to store multiple elements. They are incredibly useful, albeit with significant drawbacks, when used as collection containers. Use this course to practice working with arrays and collections. Start by storing data in an ordered form using arrays. Through this, explore the drawbacks of arrays. Next, examine multi-dimensional arrays and jagged arrays. Finally, create and use the non-parameterized array list to store elements. When you're finished with this course, you'll have a good understanding of how arrays work, their drawbacks, and how the use of collections can overcome many of the limitations of working with arrays.

Collections in Java: Lists & List Operations

If you're writing Java code and need a container to store elements, a list is likely what you'll use. The Java collections framework provides several different list implementations. Use this course to practice using parameterized lists. Start by working with parameterized collections with type parameters to indicate the type of data you want to store within that collection. Compare parameterized and non-parameterized lists. Then, explore first-hand the advantages of working with parameterized lists. Next, investigate all the methods you can use to operate on lists in Java, examining the inheritance hierarchy of interfaces in the Java collections framework and the use case for each kind of interface. When you're finished with this course, you'll be able to use parameterized lists to store your data and perform the correct operation based on your use case.

Collections in Java: Sets & Maps

The Java collections framework has several different, specialized collections, such as sets and maps. These allow you to store values and data in different ways. In this course, you'll explore these and other valuable collections from the Java collections framework. Create and work with sets, performing several different operations, including union, intersection, difference, and subset operations. Next, explore the different set implementations that Java offers beyond the basic HashSet. Discover how the LinkedHashSet and TreeSet differ in how elements of the set are accessed. Finally, work with another important and commonly used Java collection, the map. Investigate several different map implementations and use maps to build a Least Recently Used cache and a priority queue. When you're finished, you'll have a solid foundational, working knowledge in using special collections in the Java collections framework.

Generics in Java: Creating Classes and Methods Using Generics

Generics is a handy tool in Java that greatly increases the maintainability of your code by allowing you to reuse code, using the same class or method with different types of data. Furthermore, generics also convert runtime checks to compile-time checks, making your code less error-prone. In this course, learn how to use generics in Java to write reusable and maintainable code, exploring why generic code has several advantages over non-generic code. Get hands-on practice with creating and defining classes with generic type parameters. Investigate how these generic types can be used as types for member variables, input arguments to methods, and return values from methods. Moving along, implement generic methods where the generic type parameter is associated with the method rather than the class itself. When you're finished, you'll have a solid foundation in defining and working with generic classes and methods in Java.

Generics in Java: Bounded Type Parameters & Wildcards

In Java, bounded type parameters and wildcards offer certain flexibility and disadvantages. Recognizing these will help you decide when and how to use these tools to your advantage when writing code. Use this course to get to grips with what's meant by unbounded and bounded type parameters, explore the use of wildcards in Java, and recognize the applications of unbounded, upper-bounded, and lower-bounded wildcards. As you advance, investigate what's meant by 'wildcard capture' and 'type erasure.' When you're finished, you'll be able to correctly identify scenarios for using bounded type parameters and wildcards and implement them correctly.

Classes in Java: Working with Static Nested, Inner, & Local Classes

Static nested and inner classes in Java are used when classes have a logical relationship with or are intimately associated with the outer class within which they are defined. Local classes are classes defined within a scope and can only be accessed and used within that scope. They're the perfect tools to use when you want to limit the visibility of your classes. Through this course, learn to create and use static nested classes defined within an outer class. Explore how a closer relationship with an outer class can be expressed using inner classes and why access modifiers do not apply to local classes. And define and use local classes created with a code block. When you're finished with this course, you'll be able to pick the right kind of class for your use case and correctly implement nested classes, inner classes, and local classes.

Classes in Java: Creating & Using Anonymous Classes

Anonymous classes in Java allow you to define code that use-and-throw. These are classes where you define and instantiate a class simultaneously and which are anonymous, i.e., do not have a name. These are perfect in scenarios where you want a class that implements a certain interface but will not be reused beyond where it is defined and accessed. Through this course, learn to create and use anonymous classes, recognizing how they are nested, inner, and unnamed classes that either implement an interface or derive from a base class. As you advance, explore some common use cases for anonymous classes. When you're finished with this course, you'll be able to create and use anonymous classes in Java correctly, with the correct syntax, and for the proper use case.

Classes in Java: Implementing Functional Interfaces Using Lambdas

Lambda expressions allow you to define classes that implement single-method interfaces in a very concise and compact manner. This makes code that uses lambda functions easier to read and understand and much more maintainable. Lambda expressions can be made even more compact and readable by the use of method references. In this course, you will learn to create and use lambda expressions to implement functional interfaces. You will see that lambda expressions are essentially blocks of code that accept input arguments, perform operations, and return values. Lambda expressions can be used in any place where we use anonymous classes or a named class that implements an interface with just a single abstract method. You will see that lambdas can only be used to implement functional interfaces i.e. interfaces that have exactly one abstract method. Such interfaces are usually annotated using the @FunctionalInterface annotation which allows the compiler to detect if the single abstract method contract has been violated for such interfaces. You will understand and implement the four types or categories of functional interfaces, the Predicate, Function, Consumer, and Supplier interfaces. Finally, you will round this course off by exploring and implement method references which are essentially even more compact representations of lambda expressions. When you are finished with this course you will have the skills and knowledge to construct lambda expressions in the right way and use Predicates, Functions, Suppliers, and Consumers to process and store your objects.

Java: Getting Started with Reflection

Reflection is a popular programming technique that accesses and modifies class and object information at runtime. Reflection is available in many programming languages, but Java has an especially powerful set of reflection APIs that reflect - no pun intended - the emphasis that Java lays on type safety. Learn how to access a Java class object. Use reflection APIs to view class fields, constructors, and methods. Create objects for various built-in classes and use reflection to view the class of an object. Investigate the significance of the fully qualified name of a class and how you can use the .forName() method from the built-in class java.lang.Class. Use this method to obtain variables of primitive types and arrays of differing dimensionality. Then use reflection to access modifiers applied to member fields. Upon completion, you'll be able to use reflection in your Java operations with confidence.

Java: Accessing Constructors, Methods, & Fields Using Reflection

Reflective access allows a whole range of operations on objects that may not be permitted when you construct and use objects in the regular manner. This is extremely useful while building frameworks that may need access to the internals of your object. Use this course to extract information and metadata about the constructors in a class and use them, accessed via reflection, to instantiate objects. Access and modify fields or the member variables in an object. Access and invoke the methods defined on a class. Invoke static methods on the class itself and instance methods on specific objects of a class. When you're done, you'll have the ability to use reflection to access and work with all class members, whether they are fields, constructors, or methods.

Java: Working with Annotations, Generics, & Arrays Using Reflection

Annotations on Java code allow you to associate additional metadata with classes, member variables, constructors, and methods. These annotations can be used to perform additional checks or add functionality to your Java code. Use this course to practice using annotations with reflection. Work with both built-in and custom annotations and see how you can access the annotations applied on classes, fields, and methods. Learn why not all annotations can be accessed via reflection. Create your own custom annotation and experiment with various retention policies. Next, examine accessing generics and arrays with reflection. When you're finished, you'll be able to harness the power of reflection to add new functionality to your code and work with generics and arrays.

Java: Leveraging Reflection to Build Dynamic Proxies & Unit Tests

Reflection in Java is commonly used to create and use dynamic proxies, which allow you to create objects that implement one or more interfaces at runtime. Reflection is also used to build harnesses for unit testing frameworks to invoke set up and tear down methods and run tests. Use this course to get to grips with these use cases. Work with and learn why dynamic proxies are incredibly powerful. Investigate what happens to methods you invoke on an instance of a dynamic proxy class. Then create a unit-testing framework harness similar to the JUnit framework in Java. Use annotations to identify methods and mark tests to run before using reflection to identify them and run them in the correct sequence. When you're finished, you'll have the ability to use reflection to create dynamic proxies and build harnesses for unit test frameworks.

Java Archive (JAR): Building Java Archives

Java Archives (JARs) wrap a Java application into a single archive file for deployment, distribution, and execution. Use this course to acquaint yourself with building Java archives or JAR files using the JAR utility, run from the command line. Over the length of the course, you'll outline how a simple Java project packaged into a JAR file can be executed directly, different attributes of a JAR manifest can affect the use of a JAR file, and a project with external dependencies can be packaged into an executable JAR. Upon completion of this course, you'll be able to build different Java archives: JAR with multiple main classes, JAR containing several packages, and JAR that is not directly executable by itself but usable as a dependency in other projects.

Java Archive (JAR): Packaging Java Apps Using Maven

Based on the concept of a project object model (POM), Apache Maven is a project management software as well as build automation and comprehension tool. Explore the flexibility offered by Maven in the creation of Java archives or JAR files using this course. Try your hand at using Apache Maven to build a Java application and package it into an executable JAR file, create a JAR file for an app with external dependencies and ways to execute it, and package your Java app along with all of its external dependencies into a single package known as a fat or uber JAR. Having finished this course, you'll have the skills and knowledge to build lean as well as uber JAR files using Apache Maven.

Final Exam: Java Apprentice

Final Exam: Java Apprentice will test your knowledge and application of the topics presented throughout the Java Apprentice track of the Skillsoft Aspire Java Novice to Javanista Journey.

Kenmerken

Docent inbegrepen
Bereidt voor op officieel examen
Engels (US)
36 uur
Java
365 dagen online toegang
HBO

Meer informatie

Doelgroep Softwareontwikkelaar, Webontwikkelaar
Voorkennis

Je bent bekend met de basisprincipes van software ontwikkeling, Object Oriented Programming en database concept. Je hebt deel 1 van dit ontwikkelpad afgerond.

Resultaat

Na het volgen van deze training ben je bekend met:

  • De geavanceerde functies van Java
  • Het bouwen van jar-bestanden voor Java-bibliotheken

Positieve reacties van cursisten

Training: Leidinggeven aan de AI transformatie

Nuttige training. Het bestelproces verliep vlot, ik kon direct beginnen.

- Mike van Manen

Onbeperkt Leren Abonnement

Onbeperkt Leren aangeschaft omdat je veel waar voor je geld krijgt. Ik gebruik het nog maar kort, maar eerste indruk is goed.

- Floor van Dijk

Training: Leidinggeven aan de AI transformatie

Al jaren is icttrainingen.nl onze trouwe partner op het gebied van kennisontwikkeling voor onze IT-ers. Wij zijn blij dat wij door het platform van icttrainingen.nl maatwerk en een groot aanbod aan opleidingen kunnen bieden aan ons personeel.

- Loranne, Teamlead bij Inwork

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties