Overview
Explore the concept of parametric polymorphism in Java with Brian Goetz's talk from the JVM Language Summit 2016. Dive into Project Valhalla's goals, value types, and their potential impact on Java development. Learn about alternatives to traditional object-oriented approaches, including tuples and stack slots. Examine code examples demonstrating the conversion of values to objects and various attempts at implementing generics. Investigate specialized classes, nested classes, and parameterized classes, as well as method descriptors and arrays. Gain insights into generic methods, reification, species statics, and accessibility. Conclude with discussions on conditional methods, wildcards, and reflection in the context of parametric polymorphism.
Syllabus
Intro
Project Valhalla
Project Goals
Value Types
Who wants these
ArrayList of Integer
Alternatives
Tuples
Stack Slots
Converting Values to Objects
Example Code
Questions
Generics
First Prototype
Compatibility
Third Attempt
Generic Class
Nested Classes
Parameterized Classes
Method Descriptor
Arrays
Specialization
Example
Generic Methods
Reification
Species Static
Accessibility
Conditional Methods
Wildcards
Reflection
Taught by
Java