All new, noteworthy features of Java, from Java 1.7 to Java 22, with discussions and code examples. It includes all the following features, JEP, and JSR: Enums, JSR-292, Strings in switch, try With Resources, Diamond Operator <>, Vargs in Method Declaration, Binary Integer Literals, Underscores in Numeric Literals, Multiple Exception Types, JSR-166, JSR-203, Translucent and Shaped Windows, Network Protocols, Updates to XML and Unicode, default, static Interface Methods, JSR-335, JEP-126, JEP-174, JSR-308, JEP-104, Unsigned Integer Arithmetic, JEP-120, JSR-310, JEP-150, JEP-178, JEP-153, JEP-122, Private Interface Methods, Collection Factory Methods, JSR-376, JavaDB Removal, JEP-213, JEP-222, JEP-254, JEP-263, JEP-266, JEP-268, JEP-282, JEP-295, JEP-286, JEP-296, JEP-304, JEP-307, JEP-310, JEP-312, JEP-313, JEP-314, JEP-316, JEP-317, JEP-319, JEP-322, JEP-181, JEP-309, JEP-320, JEP-321, JEP-323, JEP-327, JEP-328, JEP-330, JEP-331, JEP-333, JEP-335, JEP-336, JEP-230, JEP-334, JEP-344, JEP-346, JEP-351, JEP-353, JEP-345, JEP-349, JEP-358, JEP-361, JEP-363, JEP-352, JEP-371, JEP-373, JEP-377, JEP-378, JEP-379, JEP-385, JEP-347, JEP-376, JEP-390, JEP-392, JEP-394, JEP-395, JEP-306, JEP-356, JEP-398, JEP-409, JEP-415, JEP-400, JEP-408, JEP-416, JEP-418, JEP-421, JEP-431, JEP-439, JEP-440, JEP-441, JEP-444, JEP 445, JEP-452, JEP-423, JEP-454, JEP-456, JEP-458.
Some of the projects do not compile on purpose, to show some features of the compiler or some limitations of the JDK.