Java 7 SE, Part 1 of 4: Enhancements and Concurrency
Interactive

Java 7 SE, Part 1 of 4: Enhancements and Concurrency

LearnNow Online
Updated Aug 21, 2018

Course description

In this course the instructor will take you through a whirlwind overview of the new packages and frameworks, features, JVM enhancements and Java language updates that are part of Java SE 7.You’ll spend some time on those language enhancements, small changes that make a big difference in our code. You’ll also be covering the concurrency utilities provided by Java SE 7, including the brand new Fork Join framework, which supports parallel processing, by taking full advantage of the multiple processors on most modern systems. You’ll also see the new ThreadLocalRandom class, which generates random numbers in multi-threaded applications without the concurrency issues seen in Java SE 6. Then you will see the new Phaser synchronization mechanism, used to ensure threads march in step together, from one phase of the application to the next.

Each LearnNowOnline training course is made up of Modules (typically an hour in length). Within each module there are Topics (typically 15-30 minutes each) and Subtopics (typically 2-5 minutes each). There is a Post Exam for each Module that must be passed with a score of 70% or higher to successfully and fully complete the course.


Prerequisites

This course assumes that the users have a solid understanding object-oriented principals and experience coding with Java 5 or greater. This course was filmed using Eclipse for RCP and RAP developers (Java developer edition). A general understanding of Eclipse is required but only to understand the methods shown. The theory for this course will work on any IDE that supports the Java 7 SE SDK.


Meet the expert

Brigitte Birze

Brigitte Birze is a seasoned software development professional with over 25 years of experience in Corporate IT and Engineering across many verticals. Brigitte has been involved in every phase of the software development lifecycle from the perspective of several roles: individual contributor, team lead, S/W architect, system engineer, proposal author, and project manager. Her innovative software architectures have resulted in six published papers and eight patents. Brigitte's dynamic communication skills, paired with her depth and breadth of technical knowledge, give her the unique ability to make the complex understandable and to convey technical concepts to cross-functional groups, speaking at the business or technical level.

Video Runtime

82 Minutes

Time to complete

163 Minutes

Course Outline

Language Enhancements

Overview (07:27)

  • Introduction (00:29)
  • Java SE 7 Overview (00:53)
  • New Packages and Frameworks (01:48)
  • New Features (01:04)
  • Java Programming Language (01:17)
  • JVM Enhancements (01:19)
  • Summary (00:34)

Language Enhancements (18:54)

  • Introduction (00:26)
  • Small Language Enhancements (01:56)
  • Strings in Switch Statements (00:57)
  • Demo: Switch (02:54)
  • Try-Catch Enhancements (01:35)
  • Demo: Try-Catch (04:43)
  • Demo: Throwing Exceptions (03:26)
  • Demo: Rethrown Exceptions (02:26)
  • Summary (00:26)

Generic Type Inference (07:16)

  • Introduction (00:28)
  • Generic Type Inference (01:30)
  • Demo: Generic Type Inference (04:34)
  • Summary (00:42)

Data Type Enhancements (06:53)

  • Introduction (00:35)
  • Data Type Enhancements (02:13)
  • Demo: Data Type Enhancements (03:33)
  • Summary (00:31)

Enhancements (10:55)

  • Introduction (00:35)
  • Non-Reifiable Types (02:35)
  • Varargs & Non-Reifiable Types (01:58)
  • Varag Methods (01:01)
  • Improved Compiler Warnings (00:42)
  • Demo: Heap Pollution (03:27)
  • Summary (00:33)
Concurrency Utilities

New Concurrent Utilities (13:44)

  • Introduction (00:37)
  • New Concurrent Utilities (01:13)
  • New Fork/Join Framework (00:56)
  • New Fork/Join Classes (01:00)
  • Fork/Join Divide and Conquer (01:05)
  • Demo: Fork/Join (03:47)
  • Demo: Fork Output (04:36)
  • Summary (00:27)

ThreadLocalRandom Class (05:06)

  • Introduction (00:35)
  • ThreadLocalRandom Class (01:36)
  • Demo: ThreadLocalRandom Class (02:26)
  • Summary (00:28)

Phaser Class (12:18)

  • Introduction (00:32)
  • Phaser Class (01:14)
  • Demo: Phaser (04:34)
  • Demo: Run Phaser (02:59)
  • Demo: Synchronization Methods (02:24)
  • Summary (00:32)