Having read the specification at the evolution phases as a JSR member and then having implemented some of these language features in the Eclipse Java Compiler (ECJ) of Java Development Tools (JDT), planning to bring in the perspective of "why" a particular feature exists in the first place. Of course, I will be covering the "what" in detail, and then planning to go into a few major characteristics of each feature to help the attendee go beyond the "dry" lecture of different language features. A brief discussion of some changes in JVM specifications is also inevitable since the compiler at the end, produces the byte code and some of these features indeed had byte code changes - however, the discussion would just provide what an "ordinary" Java programmer would require and not for the byte-code-anlayser programmer. I may touch upon the non-compiler part of JDT only on a need basis for these features without delving too much into the details leaving that scope for another session.
Java 14 and 15 features would include Switch Expressions, Records, Text Blocks, Pattern InstanceOf, and Sealed Types. Each of these features will be explained with examples that would give insights into the feature, time permitting. Attendees are expected to have some prior programming experience with Java and no other pre-requisite is expected. After attending the session, attendees would have an overall understanding of the features discussed and would have an idea as to how and when to use them.