2. About author
• Works in IT since 2000
• 11 year of Java SE/EE experience
• Occupied senior Java developer/Team Lead
positions
• Winner of 2013 JBoss Community Recognition
Award. https://www.jboss.org/jbcra
3. About author
• 6 times speaker at Odessa Java User Group
• 2 times speaker at JEEConf (2013 and 2014) in Kiev
• Speaker at Java Breeze 2013 in Odessa
• Speaker at Java Day 2014 in Minsk
• Works 2 years as Java lector
4. Java 8
• Java 8 has been influenced by Scala much more
than how Scala has been influenced by Java
• Most expected Java release ever
22. Project Lambda
• Lambdas are not serializable
• Applied to functional interfaces(with SAM)
• Cannot use this
• Not applied to abstract classes(even with SAM)
24. Project Lambda
Interface Description
Function Function with single
argument and result
Predicate Tests condition of single
argument
Consumer Performs operation over
single argument
Supplier Supplies results
BinaryOperator Functions with two
arguments and results
45. Parallelism level
• Parallel streams use ForkJoinPool to split and
combine tasks
• By default number of threads is equal to number of
processors
• This behavior may be overridden by changing
system property
java.util.concurrent.ForkJoinPool.common.parallelism
87. Type annotations
• In Java 8, you can annotate any type use.
• This can be useful in combination with tools that
check for common programming errors
89. Type annotations
• Generic type arguments
• Superclass and implemented interface
• Constructor invocations
• Casting and instanceof
• Exception specifications
• Wild card and type bounds
92. Nashorn
• Based on Da Vinci Machine
• Intends to enable Java developers embedding of
JavaScript in Java applications
• Successor of JavaScript Rhino engine which was
started in 1997 by Netscape and maintained by
Mozilla.
100. Accumulators
• Scalable updatable variables. Maintaining a single
count, sum, etc., that is updated by possibly many
threads is a common scalability problem.
• Added features that make ConcurrentHashMap
and classes built from them more useful as caches.
Better support for maps with large numbers of
elements.
• Added functionality and improved performance for
ForkJoinPool