java 8 in anger - qcon new york · •java db •jdk 8 includes java db 10.10. •networking •the...

31
Java 8 in Anger Trisha Gee Developer & Technical Advocate, JetBrains #QConNewYork

Upload: others

Post on 04-Jun-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Java 8 in AngerTrisha Gee

Developer & Technical Advocate, JetBrains

#QConNewYork

Page 2: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

•java.lang and java.util Packages

•Parallel Array Sorting

•Standard Encoding and Decoding Base64

•Unsigned Arithmetic Support

•JDBC

•The JDBC-ODBC Bridge has been removed.

•JDBC 4.2 introduces new features.

•Java DB

•JDK 8 includes Java DB 10.10.

•Networking•The class java.net.URLPermission has been added.

•In the class java.net.HttpURLConnection, if a security manager is installed, calls that request to open a connection require

permission.

•Concurrency•Classes and interfaces have been added to the java.util.concurrent package.

•Methods have been added to the java.util.concurrent.ConcurrentHashMap class to support aggregate operations based on the

newly added streams facility and lambda expressions.•Classes have been added to the java.util.concurrent.atomic package to support scalable updatable variables.

•Methods have been added to the java.util.concurrent.ForkJoinPool class to support a common pool.

•The java.util.concurrent.locks.StampedLock class has been added to provide a capability-based lock with three modes for

controlling read/write access.

•Java XML - JAXP

•HotSpot•Hardware intrinsics were added to use Advanced Encryption Standard (AES). The UseAESand UseAESIntrinsics flags are available to

enable the hardware-based AES intrinsics for Intel hardware. The hardware must be 2010 or newer Westmere hardware. For example, to

enable hardware AES, use the following flags:

-XX:+UseAES -XX:+UseAESIntrinsics

To disable hardware AES use the following flags:

-XX:-UseAES -XX:-UseAESIntrinsics

•Removal of PermGen.

•Default Methods in the Java Programming Language are supported by the byte code instructions for method invocation.

•Java Mission Control 5.3 Release Notes

•JDK 8 includes Java Mission Control 5.3.

Java 8 has many new features

Page 3: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Lambda Expressions

Page 4: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

(…and Streams)

Page 5: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Real World Application

Page 6: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Twitter Dashboard

Page 7: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,
Page 8: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Play Along

https://github.com/trishagee/sense

Page 9: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Leader board: Top Tweeters

Page 10: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Twitter Leaderboard

Page 11: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Twitter Leaderboard

Page 12: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Twitter Leaderboard

Page 13: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Mood: Happy, Sad or Both?

Page 14: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Overall Mood

Page 15: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Overall Mood

Page 16: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Overall Mood

Page 17: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Mood: Are We Getting Happier?

Page 18: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Happiness Over Time

Page 19: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Happiness Over Time

Page 20: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Tweet Service: Publishing Real Twitter Data

Page 21: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Real Tweet Data

Page 22: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

User Service: Extracting the Twitter Handle

Page 23: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

User Service

Page 24: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Mood Service: Figuring Out the Tweet Mood

Page 25: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Mood Service

Page 26: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Now, Fraught With Danger…

Page 27: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Really Real Data

Page 28: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

What have we learnt?

Page 29: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

What have we learnt?

•How to use Streams to manipulate data

•Where Lambdas might simplify your code

•Basics of building a JavaFX UI

Page 30: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Resources

http://bit.ly/Java8InAnger

Page 31: Java 8 in Anger - QCon New York · •Java DB •JDK 8 includes Java DB 10.10. •Networking •The class java.net.URLPermission has been added. •In the class java.net.HttpURLConnection,

Questions?

@trisha_gee

http://bit.ly/Java8InAnger