
This video provides an overview of the entire course.
How to install and set up the development environment on MacOS and Windows?
What is Java, and how is it useful to developers?
How do I build an application in Java, and which tools are involved in this process?
What is the quickest way of writing an application in Java 9, using the JShell?
What is a Java class, and why is it a required component in any source file?
Which are the main paradigms in Java, and how can they help us write better code?
How can we design an application in Java based on given usability requirements?
Based on known requirements and a given design diagram, how do we implement them in Java code?
How do we start applying the OOP paradigms in our existing code to enhance our application?
Which data structures does Java come with that we can use to store series of objects? Also, what is the difference between the various data structures?
Which data structures in Java enable us to store data in a more complex way?
How can we enhance the existing structure of the application to enable answering more complex queries about the stored music?
How can we use static methods in Java to define behavior that does not need a stored state?
How can we use the concepts we learned to store the songs that a given user has listened to and allow querying from a user’s perspective?
How can we load some data into our application and have richer data structures?
How can we design a command-line user-facing interface to allow anyone to input data and interact with the application?
This video provides an overview of the entire course.
In this video, we will discuss module system introduced in Java 9, what they are good for, and what they are not good for.
This video shows steps to design your API and the package structure in your library.
In this video, we will be talking about strategies for easing these migration concerns.
This video shows how to use JShell to aid the learning path for new developers.
In this video, we will go over some of the key features in Java 9.
In this video, we will be covering how some of tools will be changing to take advantage of new Java 9 features.
This video shows the improvements in JVM logging.
In this video, we will be reviewing security and other JVM and runtime enhancements.
This video provides an overview of the entire course.
In this video, you will learn what Java Memory Model is.
In this video, you will learn about hardware affinity.
In this video, you will learn about JVM intrinsic functions.
In this video, you will understand and analyze byte-code.
In this video, you will learn about optimistic versus pessimistic locking.
In this video, you’ll learn about Compare and Set structures.
In this video, we will explore more about threads by coordinating them.
In this video, we will explore more of Java 9 with reactive streams.
In this video, we will look at the code of the application with a potential memory leak.
In this video, we will examine CPU and resource usages of the Java application.
In this video, we will go through the important points covered in this section.
This video gives an overview of the entire course.
In this video, the latest version of Java 9 is downloaded and installed on the development machine.
In this video, we will see that Eclipse Oxygen is downloaded from the Eclipse website. It is then installed and started.
In this video, we will see how Open Liberty Application Server is downloaded and then installed to the software directory. It is then configured under eclipse together with the Open Liberty plugins.
In this video, we will see how Apache Derby is downloaded from the Apache site and get installed under Eclipse.
This section provides an overview of the application that we are building. It covers use cases, screen flow, and the entity model. It ends with considering the applications limitations.
This video introduces JSF and its associated configuration files. It concludes with a simple application and deployment to Open Liberty application server.
In this video, the JSF lifecycle is introduced along with PrimeFaces facelets. It concludes with looking at how to use these facelets to develop our application.
This video covers entering data in JSF forms and navigating between screens. It also introduces CDI scope.
This video covers serving web pages using HTTP/2. It uses the Servlet 4.0 API, and also uses JShell and the HTTP/2 client in Java 9.
This section explains what CDI is and how it can be used to create better enterprise Java software.
This video develops a payment service using CDI. It also covers Java 9 optional and streams changes.
This section covers the evolution of Java interfaces under Java 8 and 9. It concludes with how to use this on the payment service.
This video explains the options for database access in Java. It explores JDBC, JPA, and concludes with Enterprise JavaBeans (EJB)
This video explains the options for database access in Java. It explores JDBC, JPA, and concludes with Enterprise JavaBeans (EJB)
This video covers how JPA mapping works and concludes with mapping the marathon entry system domain model to its database.
This video completes the JPA entity model for the marathon entry system. It covers mapping entity relationships.
This video explains what a microservice is and introduces RESTful microservices and JSON and JAX-RS.
This video develops a healthcheck microservice. It discusses why diagnostic healthcheck services are important and look at the Java 9 Process API.
This video covers the evolution of Java interfaces under Java 8 and 9. It concludes with how to use this on the payment service.
This video explains the reason behind Java modules, what a module is and the syntax of module-info.class.
This video works through a Java 9 module example using a payment interface and client.
This video discusses what multi-release jars are, and how they are structured.
A lot of applications built today need to handle huge amounts of traffic in low latency. Java is a very popular language and JVM is a popular platform to build high performance programs in Java. Writing high-performance concurrent and thread-safe programs is hard, but you’ll discover how and see what Java 9 adds to the software engineer toolkit.
Java 9 comes with a rich feature set. It intends to change the way Java developers used to write code. It introduces a modular JDK so that developers can only include the modules that they need. The prospect of being one of the first to explore the brand new JDK from Java is the primary motivator. Also, this is the biggest change been introduced in Java for a while.
This comprehensive 4-in-1 course will set you on the path to become a skilled and professional Java developer by exploring Java 9 and Java EE 8 and learning how these technologies can be used to create a modern, scalable enterprise application. Comprehensive and detailed, the easy to follow tutorial will take viewers on a journey to going from zero to hero Java programmers with the new Java 9 SDK.
Contents and Overview
This training program includes 4 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Java 9 Core Principles, covers exciting real-world examples with Java. As you progress in your journey, you will encounter more advanced topics including functional data processing, before investigating how you can build fast, scalable APIs for the connected web. In the final section, you will build an API to analyze the sentiment of sentences provided by the user, along with various statistics about your API.
The second course, Java 9 New Features Deep Dive, covers new modular programming concept in Java 9 and know how it will affect you and your clients ahead of time.We will start up with the setting up of Java 9 and learn the modularization concepts and then proceed to deployment. This should be hands on look at Java 9, but no one will be using it to make real-world applications yet. This is an assessment video for the millions of Java developers out there looking to put it to the test.
The third course, Writing High Performance Java Application in Java 9, covers how to monitor applications and write code in high concurrent with the proper tools. First, we’ll create efficient lock-free programs that leverage the multi-core architecture of the CPU using the newest Java 9 features. Then you’ll see how Java Memory Model affects the performance of your programs. You’ll discover why it’s even more important to be aware of the software-hardware co-operation of your programs in Java 9. Moving on, you’ll find out how to leverage constructs from JAVA 9 java.util.concurrent to create efficient multi-threaded programs. We’ll explore the different kinds of locking available in JAVA 9 and get to know when you should use which kind of locks. Finally, you’ll see what tools are shipped with the JDK 9 and know how to use them properly.
The fourth course, Hands-On Enterprise Application Development with Java 9, covers modern and scalable enterprise applications using Java 9 and Java EE 8 and become a professional Java developer. We will use case studies to explore how we can use the JEE8 technologies of JSF, EJB, and JPA to build a database-driven website, while all the time working with new Java 9 constructs. You'll learn how to extract a component from our website as a standalone microservice and decouple your microservice to allow it to be reused within an organization. We will then delve into Java 9 technologies such as JShell, modules, the Streams API, Multi-Jar, Process APIs, and HTTP/2 clients.
By the end of the course, you’ll get up and running with Java with exciting real-world examples to monitor applications and write code in high concurrent with the proper tools leveraging Java Concurrency.
About the Authors
Colibri is a technology consultancy company founded in 2015 by James Cross and Ingrid Funie. The company works to help its clients navigate the rapidly changing and complex world of emerging technologies, with deep expertise in areas such as big data, data science, machine learning, and cloud computing. Over the past few years they have worked with some of the World's largest and most prestigious companies, including a tier-1 investment bank, a leading management consultancy group, and one of the world's most popular soft drinks companies, helping all of them make better sense of their data and process it in more intelligent ways. The company lives by its motto: Data -> Intelligence -> Action. Andrei Ruse, our Author, is currently working with Colibri Ltd, has been working as a software developer in the financial service industry for over 3 years, and has over 6 years' experience with Java as the main programming language, both academically and professionally. Prior to his current role in a FinTech startup in London, he spent three years working for one of the World's largest investment banks, having joined it straight after graduating from Manchester University with a degree in Computer Science.
Peter Verhas is a senior developer and software system architect with more than 30 years' software development experience. He currently works for EPAM as a senior developer, where he is involved in many customer projects and actively participates in the educational activities of the company. Peter writes a technical blog and is committed to open source software development. He has been using Java since 2005 and is also an author at Java Code Geeks.
Tomasz Lelek is a Software Engineer who programs mostly in Java and Scala. He is a fan of microservice architectures and functional programming. He dedicates considerable time and effort to be better every day. Recently, he's been delving into big data technologies such as Apache Spark and Hadoop. He is passionate about nearly everything associated with software development. Tomasz thinks that we should always try to consider different solutions and approaches to solving a problem. Recently, he was a speaker at several conferences in Poland - Confitura and JDD (Java Developer's Day) and also at Krakow Scala User Group. He also conducted a live coding session at Geecon Conference. He is currently working on this website using ML
Martin Farrell is an independent Java consultant and trainer based in Edinburgh, UK, with over 18 years' Java experience. He has consulted across a range of businesses from banking to telecommunications and Silicon Valley start-ups. He also blogs about Java and Spring technologies on the popular javabullets blog, and is Most Valuable Blogger at dzone and a contributor to When not consulting, Martin likes to spend time with his wife and two children. He is also a keen cyclist and triathlete.