Java: Difference between revisions
Jump to navigation
Jump to search
(→Java 9) |
|||
(109 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=External= | =External= | ||
* Java 8 | * Java 11 https://docs.oracle.com/en/java/javase/11/docs/api/ | ||
* https://docs.oracle.com/javase/specs/ | * Java 10 https://docs.oracle.com/javase/10/docs/api/ | ||
* Java 8 https://docs.oracle.com/javase/8/docs/api/ | |||
* Java Language and Virtual Machine Specification https://docs.oracle.com/javase/specs/ | |||
* Java Release Notes https://www.oracle.com/java/technologies/javase/jdk-relnotes-index.html | |||
=Internal= | |||
* [[Object-Oriented Programming]] | |||
* [[Go]] | |||
* [[Python]] | |||
=Overview= | |||
Java is an object oriented language. However, "object oriented" is just one of the way the language can be used, one of the styles of coding Java supports. The language also has procedural capabilities and functional programming capabilities. | |||
=Subjects= | =Subjects= | ||
{| | {|class="wikitable" style="text-align: left;" | ||
| [[Java | | [[Java on Linux|Java on Linux]] || [[Java Bytecode]] || [[java Format|Format]] || [[java Threads|Threads]] || [[java Streams|Streams]] | ||
|- | |||
| [[javaagent]] || || [[java Troubleshooting|Troubleshooting]] || [[java Time|Time]] || [[java Timer|Timer]] | |||
|- | |||
| [[JMX]] || [[Java Memory|Memory]] || [[XML and Java]] || [[Java Type System]] || [[javadoc]] | |||
|- | |||
| [[JNDI]] || [[JAX-RS]] || [[java Class]] || [[java Networking|Networking]] || [[java Services|Services]] | |||
|- | |- | ||
| [[java Random Access Files|Random Access Files]] || [[JDBC]] || [[Java synchronized mechanism#Overview|'synchronized' mechanism]] || [[java final Keyword|final Keyword]] || [[java Math]] | |||
|- | |- | ||
| [[ | | [[NIO]] || [[jar]] || [[java 5 Enums|Enums]] || [[java Shutdown|Shutdown]] || [[java Regular Expressions|Regular Expressions]] | ||
|- | |- | ||
| [[ | | [[Creating Native Processes from Java]] || [[JSR]] || [[java 8 Lambda Expressions]] || [[java String Metacharacters]] || [[java Security]] | ||
|- | |- | ||
| [[ | | [[Java Autoboxing|Autoboxing]] || [[Java Collections|Collections]] || [[java.lang]] || [[Java Virtual Machine]] || [[javadoc]] | ||
|- | |- | ||
| [[ | | [[JavaBeans]] || [[Java Cryptography]] || [[Java HashMap]] || [[Java Temporary Files and Directories|Temporary Files and Directories]] || [[Java Recursively Delete a Directory|Recursively Delete a Directory]] | ||
|- | |||
| [[Java Same Address Space Event and Notification Mechanisms]] || <span id='Numeric_Values_Representation_in_Java'></span>[[Numeric Values Representation in Java]] || [[Java Logging|Logging]] || [[Java in a Container]] || | |||
|- | |||
| [[Java on Mac|Java on Mac]] || [[Java Dynamic Proxies]] || [[Java Arrays]] || [[Java Bit Manipulation|Bit Manipulation]] | |||
|} | |} | ||
=Language= | |||
{{Internal|Java Language|Java Language}} | |||
=Chronology= | =Chronology= | ||
==Java 4== | |||
* [[NIO Concepts|NIO]] | |||
* <code>[[Java assert Keyword|assert]]</code> | |||
==Java 5== | ==Java 5== | ||
* [[java.util.concurrent]] | |||
* [[Java Generics]] | |||
* [[Java and Unicode#Overview|Unicode supplementary characters handling enhancements]] | |||
* [[Iterable]] | |||
* [[Java Annotations#Overview|Annotations]] and [[Java Annotation Processor|Annotation Processors]] | |||
* <code>enum</code> | |||
==Java 6== | ==Java 6== | ||
==Java 7== | ==Java 7== | ||
* http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html | * '''Java 7 Release Notes''' http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html | ||
* [[Java 7 try-with-resources|try-with-resources]] | |||
* [[Java 7 Fork/Join Framework|Fork/Join Framework]] | |||
* [[Java_Generics_Concepts#The_Diamond|The Diamond <code><></code>]] | |||
* [[Java 7 Type Inference|Type Inference]] | |||
* [[Java NIO 2]] | |||
* [[Java 7 Catching Multiple Exceptions and Exception Improved Type Checking|Catching Multiple Exceptions and Exception Improved Type Checking]] | |||
==Java 8== | ==Java 8== | ||
* http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html | * '''Java 8 Release Notes''' http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html (March 2014) | ||
* [[Java 8 Lambda Expressions]] | * [[Java 8 Lambda Expressions|Lambda Expressions]] | ||
* [[Java 8 Streams API|Streams API]] | |||
* [[Java 8 Optional|Optional]] | |||
* [[Java 8 Default Methods in Interfaces|Default Methods in Interfaces]] | |||
* [[Java_Language#Java_8_Effectively_Final_Variable|Java 8 Effectively Final Variables]] | |||
* TODO https://www.infoq.com/presentations/effective-java-third-edition | |||
* [[Java_Annotations#JSR_308_Annotations_on_Java_Types|JSR 308 Annotations on Java Types]] | |||
==Java 9== | ==Java 9== | ||
* https://docs.oracle.com/javase/9/whatsnew/toc.htm | * '''Java 9 Release Notes''' https://docs.oracle.com/javase/9/whatsnew/toc.htm (September 2017) | ||
* [[Java 9 Modules|Java Modules]] | |||
* [[Java 9 Reactive Streams|Java Reactive Streams]] | |||
* <code>module</code>, <code>requires</code>, <code>transitive</code>, <code>exports to</code>, <code>uses</code>, <code>provides</code>, <code>with</code>, <code>opens to</code> | |||
==Java 10== | |||
* https://docs.oracle.com/javase/10/index.html | |||
* [[Java 10 var|<code>var</code>]] | |||
==Java 11== | |||
* [[Java 11 JEP 321 HTTPClient|JEP 321 HTTPClient]] | |||
* [[Java 11 Local Variable Syntax for Lambda Parameters|Local Variable Syntax for Lambda Parameters]] | |||
* [[Java 11 Nests|Nests]] | |||
* https://dzone.com/articles/90-new-features-and-apis-in-jdk-11 | |||
* [[Java 11 Single-File Source Code]] | |||
==Java 15== | |||
==Java 17== | |||
=Libraries= | =Libraries= |
Latest revision as of 22:46, 2 July 2024
External
- Java 11 https://docs.oracle.com/en/java/javase/11/docs/api/
- Java 10 https://docs.oracle.com/javase/10/docs/api/
- Java 8 https://docs.oracle.com/javase/8/docs/api/
- Java Language and Virtual Machine Specification https://docs.oracle.com/javase/specs/
- Java Release Notes https://www.oracle.com/java/technologies/javase/jdk-relnotes-index.html
Internal
Overview
Java is an object oriented language. However, "object oriented" is just one of the way the language can be used, one of the styles of coding Java supports. The language also has procedural capabilities and functional programming capabilities.
Subjects
Language
Chronology
Java 4
Java 5
- java.util.concurrent
- Java Generics
- Unicode supplementary characters handling enhancements
- Iterable
- Annotations and Annotation Processors
enum
Java 6
Java 7
- Java 7 Release Notes http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
- try-with-resources
- Fork/Join Framework
- The Diamond
<>
- Type Inference
- Java NIO 2
- Catching Multiple Exceptions and Exception Improved Type Checking
Java 8
- Java 8 Release Notes http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html (March 2014)
- Lambda Expressions
- Streams API
- Optional
- Default Methods in Interfaces
- Java 8 Effectively Final Variables
- TODO https://www.infoq.com/presentations/effective-java-third-edition
- JSR 308 Annotations on Java Types
Java 9
- Java 9 Release Notes https://docs.oracle.com/javase/9/whatsnew/toc.htm (September 2017)
- Java Modules
- Java Reactive Streams
module
,requires
,transitive
,exports to
,uses
,provides
,with
,opens to
Java 10
Java 11
- JEP 321 HTTPClient
- Local Variable Syntax for Lambda Parameters
- Nests
- https://dzone.com/articles/90-new-features-and-apis-in-jdk-11
- Java 11 Single-File Source Code