Learning Java 9 – Databases and Multithreading in Java

Learning Java 9 – Databases and Multithreading in Java

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 1h 40m | 272 MB

Comfortably build parallel applications in Java 9

Java programs can perform many actions in parallel, with each action being performed by a separate process known as a thread. A multi-threaded program might perform database access using one thread while another thread handles the display. Multithreading is a very powerful feature of the Java language. The downside to writing a multithreaded program is the additional complexity of dealing with the thread model. To solve this, we will start by examining the different types of databases available and the benefits of each type, along with a few simple examples. We will learn how to work with simple database operations in Java, including a hands-on example in which we start by processing a JSON file containing vehicle information, before persisting those vehicle objects to a database.

Moving along, we will expand on our example to process a JSON text file containing data, before persisting those objects to a MySQL database, leveraging the Hibernate framework. Finally, we will learn some of the basics of concurrency in Java, before we jump into a real-life example. We will look at how we can accelerate processing a large list of data, assuming the time to process each element of the list is expensive. We will look at some crucial techniques and caveats to be aware of in Java, with a hands-on example of how processes can lock or not be thread-safe when threading issues are incorrectly considered. We will expand our example to look at how we can accelerate our file processing and data manipulation by leveraging Java’s multithreading functionalities. This will include a discussion on thread safety, and some of the steps a developer must take to ensure multi-threaded applications do not encounter problems. Threads ensure users are not blocked as they are independent and can perform multiple operations at the same time. Also threads help your application to run smoothly, and make tasks easier to perform.

Taking this course will show you exactly how to write programs so multiple activities can proceed concurrently in the same program, making optimal use of the available resources, especially when your computer has multiple CPUs.

This video will allow you to explore the exciting capabilities of concurrency in Java. After watching this video, you will be able to comfortably build parallel applications in Java 9.

What You Will Learn

  • What is a database and why do I need to use one in my application?
  • The two major database classes : SQL and NoSQL
  • How to integrate a database into your application
  • The need for multithreading
  • Speeding up applications using multithreading
  • Deadlocks and livelocks, and how to avoid them
Table of Contents

Introduction to Databases
1 The Course Overview
2 What Is a Database, and Why Do We Need One in an Application
3 Relational Databases – The Basics
4 NoSQL Databases – The Next Generation, and Why We Need Them

Using Hibernate to Persist Objects to Postgres
5 Parsing JSON File into a Native Java Object
6 Introduction to Object Persistence in Hibernate
7 Creating and Connecting to a Postgres Database
8 Persisting Objects to Postgres
9 Retrieving Objects from Postgres Using Hibernate

Concurrency in Java
10 Introduction to Multithreading and Why We Need It
11 Multithreading in Java
12 Issues Introduced by Multithreading – Race Conditions, Deadlocks, and Livelocks
13 Creating Thread Safe Applications
14 Processing a Large Data File Using the Executor Service