Java Class Library is the fourth and final course in the Core Java Specialization. The Core Java Specialization is part of a series of programming specializations, derived from LearnQuest's private Java Bootcamps, designed to provide the skill set necessary to be hired as an IT developer using Java in many corporate environments.
After completing this course, you will be able to write reusable code that remains type-safe using Java Generics, work with collections of objects, work with files, handle runtime errors, and generally be prepared to move on to learning to use Java frameworks such as Spring Boot and Jakarta EE.
There are over 4200 classes in the Java 8 class library, with 100s of new ones compared to prior versions of Java. In this course, we will cover additional language features that enable the class library, essential library areas, and provide roadmaps to areas for self-exploration.
To be successful in this course, you should have taken:
- Course 1: Introduction to Java
- Course 2: Introduction to Object-Oriented Programming with Java
- Course 3: Object-Oriented Hierarchies in Java
or have equivalent knowledge.
This module provides an overview of the Core Java - Java Class Library course. There are over 4200 classes in the Java 8 class library, with hundreds of new ones compared to prior versions of Java. In this course, we will cover additional language features that enable the class library, essential library areas, and provide roadmaps to areas for self-exploration.
In this module, we will learn about a major Java feature, Generics (known as template or parameterized types in some other languages), introduced in Java 5. Generics are a key tool in ensuring type safety.
In this module, we'll talk about the Java Collection classes, which were introduced in Java 5 and have been expanded upon in Java 8 with the introduction of Java Streams (java.util.stream) technology. Collections give us much more power and capability for managing collections of data than the simple, linear, arrays we have used up to this point in the curricula.
Different programming models handle error conditions in different ways. Some, for example, require programmers to check error codes after every function call.
Java, learning from other environments such as C++, takes a different approach known as exception handling. In this module, you will learn how Java deals with exceptions, and learn to both handle and -- when necessary -- create exceptions.
Input and Output
Java has rich Input and Output (I/O) capabilities, which have evolved constantly over the years. Java can handle network I/O, file I/O; blocking and non-blocking I/O and more. In this module we will look at an overview of I/O, and focus mostly on simple text I/O using files. We will also take a brief look at the extensive improvements made to I/O in Java 7 and Java 8, with readings to provide additional information.
Java Enums provide us with the ability to create a fixed set of constant values. They are objects, so they can have methods and properties, but they are a fixed, constant, set, nonetheless. The simplest ones might merely be something like the suits of a deck of cards, but we'll take a more complete look at their capabilities, and how you might use them.
Annotations are a way of attaching meta-data to Java code. Added in Java 5, this passive meta-data facility might not seem important at first, but is the key to how modern Java frameworks work. Spring, Spring Boot, Spring Cloud, NetFlix OSS, Java Persistence Architecture, Jakarta EE (née Java EE) containers, JAX-WS, JAX-RS, and so many others.
In this module, we will look at the Java Annotations technology, look at existing annotations, and -- in the lab -- create a custom annotation, and write code to see that annotation at run-time. This means that you will not only have the ability to use annotations, but also have at least the rudiments necessary to write and process your own annotations, such you have the need.