Core Java: Advanced

Video description

7 Hours of Video Instruction

Core Java®, Volumes I and II, have long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers who want to write robust Java code for real-world applications.

In Core Java®: Advanced LiveLessons, Cay S. Horstmann takes that same approach to introducing experienced programmers to Java, with detailed demonstration. This training pairs with the tenth edition of Core Java®, Volume II Advanced Features, which has been fully updated to cover Java SE 8.

In these video LiveLessons, you will learn about advanced Java language features along with the most useful parts of the standard library.

In order to take full advantage of the lessons, be sure to download the companion source code.

Related Content:

Core Java LiveLessons (Complete Video Course)
Core Java, Volume I—Fundamentals, Tenth Edition
Core Java, Volume II—Advanced Features, Tenth Edition

Lessons 1 and 2 cover lambda expressions, an important addition to Java 8, and the streams library, which makes extensive use of lambda expressions. With streams, you can efficiently analyze large data sets, simply by telling what you want to achieve. Leave it to the streams library to figure out the “how.”

Lesson 3 covers bread-and-butter issues related to input and output: text processing, file handling, regular expressions, and connecting to web servers.

Lesson 4 covers concurrency, the most important lesson within this LiveLessons training. Nowadays, processors have multiple cores and we need to keep them busy. But it is challenging to write programs that safely run tasks in parallel. This lesson gives you a set of strategies to meet that challenge.

The next two lessons are all about building tools. Lesson 5 introduces the annotation mechanism. You will see how tools use annotations for checking program correctness, generating code, interfacing with databases and web services. Another way of making your programs smarter is by allowing your users to provide extensions in Java or a scripting language. Lesson 6 shows you how to run the Java compiler or a language interpreter in your programs.

In Lesson 7, you will learn how to write programs for users anywhere in the world, with their preferences for formatting and messages in their language.

Lesson 8 covers the new java.time package that handles complexities like leap years, time zones, and daylight savings time.

The last two lessons, Lessons 9 and 10, show you how to interface with relational databases and how to read and write XML data. These are essential skills for programming server-side application.

About the Instructor

Cay S. Horstmann is a professor of computer science at San Jose State University and a Java Champion. He is also the author of Core Java®, Tenth Edition (Prentice Hall, 2016), Core Java® for the Impatient (Addison-Wesley, 2015), Java SE 8 for the Really Impatient (Addison-Wesley, 2014), and Scala for the Impatient, Second Edition (Addison-Wesley, forthcoming 2017). He has written more than a dozen other books for professional programmers and computer science students. Cay is the video instructor for Core Java Complete Video Course LiveLessons(Addison-Wesley, 2017).

Skill Level

Intermediate to Advanced

What You Will Learn
  • Understand lambda expressions and streams
  • Read and write files, work with directories, and work with data on the internet
  • Understand how to write programs with concurrent tasks
  • Build sophisticated tools with annotations, compilation, and scripting
  • Write programs that please your customers around the world, by adapting to their preferences, and how to work with dates, times, and time zones
  • Use Java for accessing databases and for analyzing XML data

Who Should Take This Course

Experienced Java programmers

Course Requirements

Experience programming in Java and know how to program with loops and arrays, define classes, and use collections such as lists and maps.

Table of Contents

Lesson 1: Java 8 Interfaces and Lambda Expressions
Lesson 2: Streams
Lesson 3: Processing Input and Output
Lesson 4: Concurrent Programming
Lesson 5: Annotations
Lesson 6: Compiling and Scripting
Lesson 7: Internationalization
Lesson 8: Date and Time
Lesson 9: Java Database Connectivity
Lesson 10: XML

About LiveLessons Video Training

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at:

Table of contents

  1. Introduction
    1. Advanced Core Java: Introduction
  2. Lesson 1: Java 8 Interfaces and Lambda Expressions
    1. Learning objectives
    2. 1.1 Recall the concept of interfaces
    3. 1.2 Understand Java 8 features of interfaces
    4. 1.3 Recall how interfaces are used for callbacks
    5. 1.4 Understand how lambda expressions work
  3. Lesson 2: Streams
    1. Learning objectives
    2. 2.1 Understand the stream concept and its benefits
    3. 2.2 Be able to create streams
    4. 2.3 Transform streams into other streams
    5. 2.4 Know how to get answers from stream data
    6. 2.5 Work with the Optional type
    7. 2.6 Place stream results into collections
    8. 2.7 Place stream results into maps
    9. 2.8 Understand the concept of reduction operations
    10. 2.9 Work with streams of primitive type values
    11. 2.10 Speed up stream operations with parallel streams
  4. Lesson 3: Processing Input and Output
    1. Learning objectives
    2. 3.1 Understand the concept of input/output streams
    3. 3.2 Read and write text files
    4. 3.3 Work with binary data
    5. 3.4 Create, access, and delete files and directories
    6. 3.5 Process data from the Internet
    7. 3.6 Work with regular expressions
    8. 3.7 Understand the concept of serialization
  5. Lesson 4: Concurrent Programming
    1. Learning objectives
    2. 4.1 Use executors to run tasks concurrently
    3. 4.2 Understand the risks of concurrent execution
    4. 4.3 Use the Java API for parallel algorithms
    5. 4.4 Use the threadsafe data structures in the Java API
    6. 4.5 Work with atomic values
    7. 4.6 Become familiar with low-level locks
    8. 4.7 Understand the characteristics of Java threads
    9. 4.8 Organize asynchronous computations
    10. 4.9 Run operating system processes
  6. Lesson 5: Annotations
    1. Learning objectives
    2. 5.1 Know how to annotate declarations and type uses
    3. 5.2 Define your own annotations
    4. 5.3 Be familiar with the annotations in the Java API
    5. 5.4 Understand how annotations are processed
  7. Lesson 6: Compiling and Scripting
    1. Learning objectives
    2. 6.1 Run the Java compiler from a Java program
    3. 6.2 Use a scripting language in a Java program
    4. 6.3 Become familiar with the Nashorn JavaScript interpreter
  8. Lesson 7: Internationalization
    1. Learning objectives
    2. 7.1 Understand the concept of a locale
    3. 7.2 Use locale-specific formatting for numbers and dates
    4. 7.3 Work with strings in multiple languages
    5. 7.4 Organize locale-specific data in resource bundles
  9. Lesson 8: Date and Time
    1. Learning objectives
    2. 8.1 Understand the challenges of computing with dates and times
    3. 8.2 Work with instants and durations
    4. 8.3 Use the Java classes for local dates and times
    5. 8.4 Be able to handle time zones
    6. 8.5 Interoperate with legacy date and time classes
  10. Lesson 9: Java Database Connectivity
    1. Learning objectives
    2. 9.1 Understand the design of the Java database connectivity API
    3. 9.2 Be able to connect to a database in a Java program
    4. 9.3 Execute SQL statements from a Java program
    5. 9.4 Use database query results
    6. 9.5 Group SQL statements into transactions and batches
    7. 9.6 Access database metadata
  11. Lesson 10: XML
    1. Learning objectives
    2. 10.1 Parsing XML documents
    3. 10.2 Work with the XPath and namespaces specifications in Java
    4. 10.3 Use a streaming parser
    5. 10.4 Generate XML documents
  12. Summary
    1. Advanced Core Java: Summary

Product information

  • Title: Core Java: Advanced
  • Author(s): Cay S. Horstmann
  • Release date: December 2016
  • Publisher(s): Pearson
  • ISBN: 0134643593