Skip to content

Commit 3f45d9b

Browse files
committed
docs updated
1 parent b3edf1c commit 3f45d9b

File tree

7 files changed

+293
-52
lines changed

7 files changed

+293
-52
lines changed

README.md

+27-16
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,49 @@
22

33
A project to explore more about the new features of Java 8, 9, ...
44

5-
## Resume
5+
[JDK Release Notes](https://www.oracle.com/java/technologies/javase/jdk-relnotes-index.html)
66

7-
* Java 8
7+
## Resume by Version
8+
9+
* [Java 8](java-8/README.md)
810
* API
9-
* Stream
10-
* Lambda
11-
12-
* Java 9
13-
* Jigsaw
14-
* jlink
15-
* Segmented code cache
11+
* Stream API
12+
* Project Lambda
13+
* Repeating annotations
1614

17-
* Java 10
15+
* [Java 9](java-9/README.md)
16+
* Milling Project Coin
1817
* Process API
18+
* Platform Logging API and Service
19+
* Concurrency improvements
20+
* Collections improvements
21+
* Project Jigsaw
22+
* Segmented code cache
23+
* JShell
24+
* much more (see JEPs)
25+
26+
* [Java 10](java-10/README.md) (March 20th, 2018)
27+
* Process API improvements
1928
* Collections improvements
2029
* Application Class-Data Sharing
21-
* var
30+
* `var` keyword to declare variables
2231

23-
* Java 11
32+
* [Java 11](java-11/README.md)
2433
* Removal of Java EE Modules, JavaFX and deprecated API
2534
* Http Client (incubator)
2635
* var in lambda expressions
2736
* API improvements
2837
* Null I/O
2938

30-
* Java 12
39+
* [Java 12](java-12/README.md)
3140
* Switch expression (preview 1)
3241
* Compact Number Format
3342
* Collectors improvements
3443
* CompletableFuture improvements
3544
* CDS enable by default
3645
* New GC and improvements
3746

38-
* Java 13
47+
* [Java 13](java-13/README.md)
3948
* Switch expression (preview 2)
4049
* Text blocks
4150
* String API updates
@@ -44,9 +53,11 @@ A project to explore more about the new features of Java 8, 9, ...
4453
* Dynamic CDS Archives
4554
* ZGC: Uncommit Unused Memory
4655

47-
* Java 14 (May 17th, 2020)
56+
* [Java 14](java-14/README.md) (May 17th, 2020)
4857
* Switch expression (standard)
4958
* Pattern matching for `instanceof` (preview)
5059
* Text blocks improvements
5160
* Records (preview)
52-
* Helpful NullPointerExceptions
61+
* Helpful NullPointerExceptions
62+
* Packaging tool
63+
* JFR even streaming

java-10/README.md

+26-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,34 @@
11
# Java 10
22

3+
## Features
4+
5+
### Language
6+
7+
* `var` keyword to declare variables
8+
* `var universeAnswer = 42`
9+
* Process API improvements
10+
* Collections API improvements
11+
12+
### JVM
13+
14+
* Application Class-Data Sharing
15+
316
## JEPs
417

18+
* [286](https://openjdk.java.net/jeps/286) - Local-Variable Type Inference
19+
* [296](https://openjdk.java.net/jeps/296) - Consolidate the JDK Forest into a Single Repository
20+
* [304](https://openjdk.java.net/jeps/304) - Garbage-Collector Interface
21+
* [307](https://openjdk.java.net/jeps/307) - Parallel Full GC for G1
522
* [310](https://openjdk.java.net/jeps/310) - Application Class-Data Sharing
23+
* [312](https://openjdk.java.net/jeps/312) - Thread-Local Handshakes
24+
* [313](https://openjdk.java.net/jeps/313) - Remove the Native-Header Generation Tool (javah)
25+
* [314](https://openjdk.java.net/jeps/314) - Additional Unicode Language-Tag Extensions
26+
* [316](https://openjdk.java.net/jeps/316) - Heap Allocation on Alternative Memory Devices
27+
* [317](https://openjdk.java.net/jeps/317) - Experimental Java-Based JIT Compiler
28+
* [319](https://openjdk.java.net/jeps/319) - Root Certificates
29+
* [322](https://openjdk.java.net/jeps/322) - Time-Based Release Versioning
630

731
## Links
832

9-
* [JDK 10 Documentation](https://docs.oracle.com/javase/10/)
33+
* [JDK 10 Documentation](https://docs.oracle.com/javase/10/)
34+
* [JDK 10 JEPs](https://openjdk.java.net/projects/jdk/10/)

java-11/README.md

+21
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,30 @@
4040
* `Predicate::not`
4141
* `Pattern::asMatchPredicate`
4242

43+
## JEPs
44+
45+
* [181](https://openjdk.java.net/jeps/336) - Nest-Based Access Control
46+
* [309](https://openjdk.java.net/jeps/335) - Dynamic Class-File Constants
47+
* [315](https://openjdk.java.net/jeps/333) - Improve Aarch64 Intrinsics
48+
* [318](https://openjdk.java.net/jeps/332) - Epsilon: A No-Op Garbage Collector
49+
* [320](https://openjdk.java.net/jeps/331) - Remove the Java EE and CORBA Modules
50+
* [321](https://openjdk.java.net/jeps/330) - HTTP Client (Standard)
51+
* [323](https://openjdk.java.net/jeps/329) - Local-Variable Syntax for Lambda Parameters
52+
* [324](https://openjdk.java.net/jeps/328) - Key Agreement with Curve25519 and Curve448
53+
* [327](https://openjdk.java.net/jeps/327) - Unicode 10
54+
* [328](https://openjdk.java.net/jeps/324) - Flight Recorder
55+
* [329](https://openjdk.java.net/jeps/323) - ChaCha20 and Poly1305 Cryptographic Algorithms
56+
* [330](https://openjdk.java.net/jeps/321) - Launch Single-File Source-Code Programs
57+
* [331](https://openjdk.java.net/jeps/320) - Low-Overhead Heap Profiling
58+
* [332](https://openjdk.java.net/jeps/318) - Transport Layer Security (TLS) 1.3
59+
* [333](https://openjdk.java.net/jeps/315) - ZGC: A Scalable Low-Latency Garbage Collector (Experimental)
60+
* [335](https://openjdk.java.net/jeps/309) - Deprecate the Nashorn JavaScript Engine
61+
* [336](https://openjdk.java.net/jeps/181) - Deprecate the Pack200 Tools and API
62+
4363
## Links
4464

4565
* [Java 11 Documentation](https://docs.oracle.com/en/java/javase/11/index.html)
66+
* [Java 11 JEPs](https://openjdk.java.net/projects/jdk/11/)
4667
* [Java 11 Migration Guide](https://blog.codefx.org/java/java-11-migration-guide/)
4768
* [Oracle's Z GC](https://wiki.openjdk.java.net/display/zgc/Main)
4869
* [Replacements for deprecated JPMS modules with Java EE APIs](https://stackoverflow.com/questions/48204141/replacements-for-deprecated-jpms-modules-with-java-ee-apis/48204154#48204154)

java-12/README.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ To run each example use:
2828
## JEPs
2929

3030
* [12](https://openjdk.java.net/jeps/12) - Preview language and VM features
31-
* [325](http://openjdk.java.net/jeps/325) - Switch expressions (preview)
32-
* [341](http://openjdk.java.net/jeps/341) - Default CDS Archives
33-
* [189](http://openjdk.java.net/jeps/189) - Low-Pause-Time GC (experimental)
34-
* [344](http://openjdk.java.net/jeps/344) - Abortable mixed collections for G1
35-
* [345](http://openjdk.java.net/jeps/346) - Promptly return unused memory from G1
36-
* [334](http://openjdk.java.net/jeps/334) - JVM Constants API
31+
* [189](https://openjdk.java.net/jeps/189) - Low-Pause-Time GC (experimental)
32+
* [230](https://openjdk.java.net/jeps/230) - Microbenchmark Suite
33+
* [325](https://openjdk.java.net/jeps/325) - Switch expressions (preview)
34+
* [334](https://openjdk.java.net/jeps/334) - JVM Constants API
35+
* [340](https://openjdk.java.net/jeps/340) - One AArch64
36+
* [341](https://openjdk.java.net/jeps/341) - Default CDS Archives
37+
* [344](https://openjdk.java.net/jeps/344) - Abortable mixed collections for G1
38+
* [345](https://openjdk.java.net/jeps/346) - Promptly return unused memory from G1
3739

3840
## Warnings
3941

java-14/README.md

+7-3
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,20 @@ To run each example use: `java --enable-preview --source 14 <FileName.java>`
1010
* Promotion to standard
1111
* Text blocks improvements
1212
* added new flags
13-
* Patttern matching for `instanceof`
13+
* Pattern matching for `instanceof`
1414
* added as Preview
1515
* Records
1616
* added as Preview
17+
* JFR Event Streaming
18+
* [Here](https://github.com/flight-recorder/health-report) is a great example of a tool built
19+
20+
### JVM
21+
1722
* Helpful NullPointerExpections
1823
* flag to enable: `-XX:+ShowCodeDetailsInExceptionMessages`
1924
* Packaging tool to create self-contained Java applications
2025
* bin: `jpackage`
21-
* JFR Event Stream
22-
* [Here](https://github.com/flight-recorder/health-report) is a great example of a tool built
26+
2327

2428
## JEPs
2529

java-8/README.md

+84-16
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,97 @@
1-
# Java 8 New Features
1+
# Java 8
22

3-
A project to explore more about the new features of Java...
3+
## Features
44

5-
- new methods from APIs
6-
- lambda expression to create anonymous method
7-
- lambda access scope (enclosing scope)
8-
- lambda expression to call constructors through method reference
9-
- Streams
5+
### Languages
106

7+
* new methods from APIs
8+
* Stream API
9+
* Project Lambda:
10+
* lambda expression to create anonymous method
11+
* lambda access scope (enclosing scope)
12+
* lambda expression to call constructors through method reference
13+
* Annotation improvements:
14+
* Annotations on Java Types
15+
* Repeating annotations
16+
* Method parameter reflection
1117

12-
Lambda expression consiste of:
1318

14-
- A comma-separated list of formal parameters enclosed in parentheses: (paramX, paramY) or singleParam or ()
15-
- An [weird] arrow token: ->
16-
- A body, which consists of a single expression or a statement block: {} or a single expression without ;
19+
Lambda expression consiste of:
1720

18-
E.g.:
21+
* A comma-separated list of formal parameters enclosed in parentheses: (paramX, paramY) or singleParam or ()
22+
* An [weird] arrow token: ->
23+
* A body, which consists of a single expression or a statement block: {} or a single expression without ;
1924

20-
- (x, y) -> return x + y
21-
- (x, y) -> { System.out.println(x); System.out.println(y); }
22-
- name -> System.out.println(name)
25+
E.g.:
2326

27+
* (x, y) -> return x + y
28+
* (x, y) -> { System.out.println(x); System.out.println(y); }
29+
* name -> System.out.println(name)
2430

2531
For further information read the Java Tutorial at section about [Lambda Expressions] (http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html).
2632

33+
## JEPs
34+
35+
36+
* [126](https://openjdk.java.net/jeps/126) - Lambda Expressions & Virtual Extension Methods
37+
* [138](https://openjdk.java.net/jeps/138) - Autoconf-Based Build System
38+
* [160](https://openjdk.java.net/jeps/160) - Lambda-Form Representation for Method Handles
39+
* [161](https://openjdk.java.net/jeps/161) - Compact Profiles
40+
* [162](https://openjdk.java.net/jeps/162) - Prepare for Modularization
41+
* [164](https://openjdk.java.net/jeps/164) - Leverage CPU Instructions for AES Cryptography
42+
* [174](https://openjdk.java.net/jeps/174) - Nashorn JavaScript Engine
43+
* [176](https://openjdk.java.net/jeps/176) - Mechanical Checking of Caller-Sensitive Methods
44+
* [179](https://openjdk.java.net/jeps/179) - Document JDK API Support and Stability
45+
* [142](https://openjdk.java.net/jeps/142) - Reduce Cache Contention on Specified Fields
46+
* [122](https://openjdk.java.net/jeps/122) - Remove the Permanent Generation
47+
* [173](https://openjdk.java.net/jeps/173) - Retire Some Rarely-Used GC Combinations
48+
* [136](https://openjdk.java.net/jeps/136) - Enhanced Verification Errors
49+
* [147](https://openjdk.java.net/jeps/147) - Reduce Class Metadata Footprint
50+
* [148](https://openjdk.java.net/jeps/148) - Small VM
51+
* [171](https://openjdk.java.net/jeps/171) - Fence Intrinsics
52+
* [153](https://openjdk.java.net/jeps/153) - Launch JavaFX Applications
53+
* [101](https://openjdk.java.net/jeps/101) - Generalized Target-Type Inference
54+
* [104](https://openjdk.java.net/jeps/104) - Annotations on Java Types
55+
* [105](https://openjdk.java.net/jeps/105) - DocTree API
56+
* [106](https://openjdk.java.net/jeps/106) - Add Javadoc to javax.tools
57+
* [117](https://openjdk.java.net/jeps/117) - Remove the Annotation-Processing Tool (apt)
58+
* [118](https://openjdk.java.net/jeps/118) - Access to Parameter Names at Runtime
59+
* [120](https://openjdk.java.net/jeps/120) - Repeating Annotations
60+
* [139](https://openjdk.java.net/jeps/139) - Enhance javac to Improve Build Speed
61+
* [172](https://openjdk.java.net/jeps/172) - DocLint
62+
* [103](https://openjdk.java.net/jeps/103) - Parallel Array Sorting
63+
* [107](https://openjdk.java.net/jeps/107) - Bulk Data Operations for Collections
64+
* [109](https://openjdk.java.net/jeps/109) - Enhance Core Libraries with Lambda
65+
* [112](https://openjdk.java.net/jeps/112) - Charset Implementation Improvements
66+
* [119](https://openjdk.java.net/jeps/119) - javax.lang.model Implementation Backed by Core Reflection
67+
* [135](https://openjdk.java.net/jeps/135) - Base64 Encoding & Decoding
68+
* [149](https://openjdk.java.net/jeps/149) - Reduce Core-Library Memory Usage
69+
* [150](https://openjdk.java.net/jeps/150) - Date & Time API
70+
* [155](https://openjdk.java.net/jeps/155) - Concurrency Updates
71+
* [170](https://openjdk.java.net/jeps/170) - JDBC 4.2
72+
* [177](https://openjdk.java.net/jeps/177) - Optimize java.text.DecimalFormat.format
73+
* [178](https://openjdk.java.net/jeps/178) - Statically-Linked JNI Libraries
74+
* [180](https://openjdk.java.net/jeps/180) - Handle Frequent HashMap Collisions with Balanced Trees
75+
* [127](https://openjdk.java.net/jeps/127) - Improve Locale Data Packaging and Adopt Unicode CLDR Data
76+
* [128](https://openjdk.java.net/jeps/128) - BCP 47 Locale Matching
77+
* [133](https://openjdk.java.net/jeps/133) - Unicode 6.2
78+
* [184](https://openjdk.java.net/jeps/184) - HTTP URL Permissions
79+
* [113](https://openjdk.java.net/jeps/113) - MS-SFU Kerberos 5 Extensions
80+
* [114](https://openjdk.java.net/jeps/114) - TLS Server Name Indication (SNI) Extension
81+
* [115](https://openjdk.java.net/jeps/115) - AEAD CipherSuites
82+
* [121](https://openjdk.java.net/jeps/121) - Stronger Algorithms for Password-Based Encryption
83+
* [123](https://openjdk.java.net/jeps/123) - Configurable Secure Random-Number Generation
84+
* [124](https://openjdk.java.net/jeps/124) - Enhance the Certificate Revocation-Checking API
85+
* [129](https://openjdk.java.net/jeps/129) - NSA Suite B Cryptographic Algorithms
86+
* [130](https://openjdk.java.net/jeps/130) - SHA-224 Message Digests
87+
* [131](https://openjdk.java.net/jeps/131) - PKCS#11 Crypto Provider for 64-bit Windows
88+
* [140](https://openjdk.java.net/jeps/140) - Limited doPrivileged
89+
* [166](https://openjdk.java.net/jeps/166) - Overhaul JKS-JCEKS-PKCS12 Keystores
90+
* [185](https://openjdk.java.net/jeps/185) - Restrict Fetching of External XML Resources
91+
92+
2793
## Links
2894

29-
* [JDK 8 Documentation](https://docs.oracle.com/javase/8/)
95+
* [JDK 8 Documentation](https://docs.oracle.com/javase/8/)
96+
* [JDK 8](https://openjdk.java.net/projects/jdk8/)
97+
* [Java Programming Language Enhancements](https://docs.oracle.com/javase/8/docs/technotes/guides/language/enhancements.html#javase8)

0 commit comments

Comments
 (0)