Learn your way! Get started

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

with expert Brigitte Birze

Watch trailer

Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 12/22/2014
Level Intermediate
Runtime 1h 22m
Closed captioning Included
Transcript Included
eBooks / courseware N/A
Hands-on labs N/A
Sample code Included
Exams Included

Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More

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.


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.

Learning Paths

This course will help you prepare for the following certification and exam:
Java SE 7 Programmer I
1Z0-803: Java SE 7 Programmer I

This course is part of the following LearnNowOnline SuccessPaths™:
Java Development

Meet the expert

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.

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)