O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Core Java 9/10 Advanced, Second Edition

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.

The source code and presentation slides for this course can be found at:
http://horstmann.com/corejava/livelessons2/index.html#(1)

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.

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: http://www.informit.com/livelessons.

Table of Contents

  1. Introduction
    1. Core Java: Advanced Introduction 00:03:14
  2. Lesson 1: Java 8 Interfaces and Lambda Expressions
    1. Learning objectives 00:00:23
    2. 1.1 Recall the concept of interfaces 00:03:29
    3. 1.2 Understand Java 8 features of interfaces 00:06:43
    4. 1.3 Recall how interfaces are used for callbacks 00:02:41
    5. 1.4 Understand how lambda expressions work 00:18:33
  3. Lesson 2: Streams
    1. Learning objectives 00:00:25
    2. 2.1 Understand the stream concept and its benefits 00:05:27
    3. 2.2 Be able to create streams 00:06:42
    4. 2.3 Transform streams into other streams 00:07:19
    5. 2.4 Know how to get answers from stream data 00:03:38
    6. 2.5 Work with the Optional type 00:16:11
    7. 2.6 Place stream results into collections 00:07:34
    8. 2.7 Place stream results into maps 00:12:05
    9. 2.8 Understand the concept of reduction operations 00:02:41
    10. 2.9 Work with streams of primitive type values 00:07:44
    11. 2.10 Speed up stream operations with parallel streams 00:06:50
  4. Lesson 3: Processing Input and Output
    1. Learning objectives 00:00:22
    2. 3.1 Understand the concept of input/output streams 00:06:32
    3. 3.2 Read and write text files 00:10:51
    4. 3.3 Work with binary data 00:07:14
    5. 3.4 Create, access, and delete files and directories 00:13:57
    6. 3.5 Process data from the Internet 00:08:51
    7. 3.6 Work with regular expressions 00:12:09
    8. 3.7 Understand the concept of serialization 00:07:18
  5. Lesson 4: Concurrent Programming
    1. Learning objectives 00:00:26
    2. 4.1 Use executors to run tasks concurrently 00:08:24
    3. 4.2 Understand the risks of concurrent execution 00:14:28
    4. 4.3 Use the Java API for parallel algorithms 00:03:43
    5. 4.4 Use the threadsafe data structures in the Java API 00:09:55
    6. 4.5 Work with atomic values 00:04:23
    7. 4.6 Become familiar with low-level locks 00:11:24
    8. 4.7 Understand the characteristics of Java threads 00:12:14
    9. 4.8 Organize asynchronous computations 00:13:45
    10. 4.9 Run operating system processes 00:06:37
  6. Lesson 5: Annotations
    1. Learning objectives 00:00:21
    2. 5.1 Know how to annotate declarations and type uses 00:10:25
    3. 5.2 Define your own annotations 00:02:40
    4. 5.3 Be familiar with the annotations in the Java API 00:05:44
    5. 5.4 Understand how annotations are processed 00:15:56
  7. Lesson 6: The Java Platform Module System
    1. Learning objectives 00:00:31
    2. 6.1 Basic concepts 00:10:15
    3. 6.2 Exporting packages and requiring modules 00:06:21
    4. 6.3 Runtime access 00:10:03
    5. 6.4 Migration and troubleshooting 00:10:25
  8. Lesson 7: Compiling and Scripting
    1. Learning objectives 00:00:23
    2. 7.1 Run the Java compiler from a Java program 00:06:29
    3. 7.2 Use a scripting language in a Java program 00:06:32
    4. 7.3 Become familiar with the Nashorn JavaScript interpreter 00:13:09
  9. Lesson 8: Internationalization
    1. Learning objectives 00:00:20
    2. 8.1 Understand the concept of a locale 00:05:24
    3. 8.2 Use locale-specific formatting for numbers and dates 00:09:17
    4. 8.3 Work with strings in multiple languages 00:12:21
    5. 8.4 Organize locale-specific data in resource bundles 00:06:42
  10. Lesson 9: Date and Time
    1. Learning objectives 00:00:27
    2. 9.1 Understand the challenges of computing with dates and times 00:01:59
    3. 9.2 Work with instants and durations 00:03:24
    4. 9.3 Use the Java classes for local dates and times 00:05:52
    5. 9.4 Be able to handle time zones 00:04:58
    6. 9.5 Interoperate with legacy date and time classes 00:02:05
  11. Lesson 10: Java Database Connectivity
    1. Learning objectives 00:00:20
    2. 10.1 Understand the design of the Java database connectivity API 00:01:20
    3. 10.2 Be able to connect to a database in a Java program 00:04:36
    4. 10.3 Execute SQL statements from a Java program 00:06:25
    5. 10.4 Use database query results 00:12:50
    6. 10.5 Group SQL statements into transactions and batches 00:01:53
    7. 10.6 Access database metadata 00:05:06
  12. Lesson 11: XML
    1. Learning objectives 00:00:19
    2. 11.1 Parsing XML documents 00:11:47
    3. 11.2 Work with the XPath and namespaces specifications in Java 00:05:15
    4. 11.3 Use a streaming parser 00:05:30
    5. 11.4 Generate XML documents 00:06:03
  13. Summary
    1. Core Java: Advanced Summary 00:01:28