Introduction of New Generation Java Programming Guide (Java 10)

For organizing knowledge after Java 10

2020/3/13 A book called "New Generation Java Programming Guide" has been released [https://www.amazon.co.jp/dp/B085RBT3LH) This book consists of 4 parts

It has become. Since Java 14 has just been released the other day, it seems that it does not support the latest Java version, but the translator has added additions and translation notes about Java 13 and Java 14, making it easy to understand changes and new features from Java 10. I felt that it was a book that was organized and should be read by anyone working in Java. This time, I would like to comment on the "Part 1 Java 10" part of the above four parts. (I will not explain the contents very deeply, so I recommend reading a book if you are interested)

Changes in Java10

Java 10 is written about the following four.

Type inference of local variables

Many Java users know that var can be used in variable type declarations in Java, but in books, when can var be used and when can't it be used? It is written in detail about. There is also a simple quiz-style confirmation question called code check. I think it will help you to check your understanding. However, sometimes there are problems that are not directly related to the main subject, but in that case, the explanation is supplemented with something like "This problem is not directly related to XX." And finally, there is even an opinion that using var makes it more important to name variables (because you don't explicitly describe the type).

AppCDS application class data sharing

Application class data sharing is a useful function that helps improve the startup performance of Java applications and reduce memory usage, but I think that there is not much information in Japanese. In the book, there is a sample that actually executes a command to create an application shared archive file, and you can try it out.

Garbage collector optimization

It briefly describes the G1 GC that became the default in Java 9, and then describes that Java 10 provided a parallel full GC instead of a full GC that was executed using a single thread until Java 9. .. It also explains how to read the G1 GC log, etc., which will deepen your understanding of the internal operation.

Other improvements

Other improvements describe the following:

There are many features that developers can't use directly, and all the items are briefly touched on, but Graal is mentioned (as many of you may already know) and Java versioning is explained.

This is the introduction of the new generation Java programming guide (Java 10).

Recommended Posts

Introduction of New Generation Java Programming Guide (Java 10)
Introduction of New Generation Java Programming Guide (Java 11)
Introduction of New Generation Java Programming Guide (Java 12)
Introduction of the new generation Java programming guide (Java language extension project "Amber" edition)
[Java] New Thread generation method (2)
[Java] New Thread generation method (1)
Introduction to Functional Programming (Java, Javascript)
Summary of object-oriented programming using Java
[Java] Introduction
Java Programming Style Guide for the Java 11 Era
Output of the book "Introduction to Java"
I wrote EX25 of AtCoder Programming Guide for beginners (APG4b) in java.
The story of learning Java in the first programming
java programming basics
Introduction of milkode
JAVA: Realizes generation and scanning of various barcodes
Java permutation generation
Memorandum of new graduate SES [Java object-oriented edition]
java Generic Programming
[Java] Introduction to Java
I touched on the new features of Java 15
Introduction to java
[Introduction to Java] Basics of java arithmetic (for beginners)
Let's use Java New FileIO! (Introduction, for beginners)
[Java] Overview of Java
Introduction and introduction of management screen generation gem Administrate
[Introduction to Java] List of things that got caught by the 14th day of programming
Summary of revisions (new era) support by Java version
Experience of passing Java Silver as a new graduate
Introduction to Java for beginners Basic knowledge of Java language ①
Quick learning Java "Introduction?" Part 3 Talking away from programming
Java Performance Chapter 1 Introduction
Expired collection of java
Predicted Features of Java
Java 12 new feature summary
Constraint programming in Java
[Java] Significance of serialVersionUID
Introduction of Docker --Part 1--
NIO.2 review of java
Review of java Shilber
Java 13 new feature summary
[Java] Stream API-Stream generation
[Rails] Introduction of PAY.JP
java --Unification of comments
Java programming basics practice-array
History of Java annotation
Java programming (class method)
Introduction to Practical Programming
Introduction of user authentication
What's new in Java 8
NIO review of java
Introduction to java command
Java programming (class structure)
All about Java programming
Java 10 new feature summary
java competitive programming memo
[Java] Three features of Java
Java 14 new feature summary
What's new in Java 9,10,11
Summary of Java support 2018
Java Programming Thread Runnable