Introduction to Java
- Java is an application programming language created by James Gosling from Sun Microsystems in 1991.
- Along with James Gosling, Patrick Naughton, Cris Worth, Mike Sheridan, Ed Frank are the core team member of the initial Java project. This small team of sun engineer is called the Green Team.
- The main object of Java programs is to write once and run anywhere.
- The first public version of Java(Java 1.0) is launched in 1995.
- Oracle acquired Sun microsystems in 2010 and Now Java is developed under Oracle.
- Over time various versions of Java are launched, the latest version of Java-13.
History of Java
- Java is an object-oriented programming language developed in 1991 by James Gosling in Sun Microsystems.
- The initial team includes members James Gosling, Patrick Naughton, Mike Sheridon, Chris worth, and Ed Frank. This team is named the green team.
- Initially, green team starts a project to develop a language for digital tv, set-top boxes, etc and decided to use C++ for the project.
- Later James gosling and team decided to expand C++ to overcome various problems and develop a new language initially named "greentalk" and the file extension for greentalk is .gt.
- Later greentalk is renamed with Oak. Oak name is inspired by a tree that resides outside the office of James gosling. An oak tree is a symbol of unity and already declared a national tree of many countries like the USA, Germany, France, Romania, etc.
- Oak is already a trademark by Oak Technologies so it is again renamed with Java. Java name originates for an espresso bean.
Versions of Java
The first beta version of Java is launched in 1995. Since than java go through the thousands of changes and the addition of features that lead the launch of new versions. The current stable version of Java is Java-11. All the Java versions are listed below...
JDK Beta Version (1995)
This version contains various APIs that are highly unstable.
JDK 1.0 (January 23, 1996)
It is the first stable released version of Java with the first stable Jdk version JDK 1.0.2 and it is called Java-1.
In JDK 1.0.1, private and protected keywords can be used together which is removed in version JDK 1.0.2.
JDK 1.1 (February 19, 1997)
In this version, various features are added as listed below...
- Inner class
- Java beans
- Redesigned AWT event model
- JIT (Just in time) Compiler for Microsoft windows developed for Javasoft by Symantec.
- Unicode and Internationalized support.
J2SE 1.2 (December 8, 1998)
In this version, the following features are introduced...
- Collections structure
- Java String memory map for constants
- JIT (Just In Time) compiler
- Jar Signer for marking Java Archive (JAR) records
- Policy Tool for allowing access to framework assets
- Java Foundation Classes (JFC) which used in Swing 1.0, Drag and Drop, and Java 2D class libraries.
- Java Plug-in
- Scrollable result sets, BLOB, CLOB, user characterized types in JDBC
J2SE 1.3 (May 8, 2000)
- Java Sound
- Jar Indexing
- Huge list of advancements for improving the Java area
J2SE Version 1.4 (February 6, 2002)
- XML Processing
- Java Print Service
- Logging API
- Java Web Start
- JDBC 3.0 API
- API preferences
- IPv6 Support
- Regular Expressions
- Image I/O API
J2SE Version 5.0 (September 30, 2004)
- Enhanced for Loop
- Typesafe Enums
- Static Import
- Metadata (Annotations)
Java Version SE 6 (December 11, 2006)
- Scripting Language Support
- JDBC 4.0 API
- Java Compiler API
- Pluggable Annotations
- Java GSS, Kerberos and LDAP support
- Incorporated Web Services
- Many more improvements
Java Version SE 7 (July 28, 2011)
- Strings in switch Statement
- Type Inference for Generic Instance Creation
- Different Exception Handling
- Backing for Dynamic Languages
- Attempt with Resources
- Java NIO Package
- Binary Literals underscore in literals
- Null Handling
Java Version SE 8 (March 18, 2014)
- Lambda Expressions
- Pipelines and Streams
- Date and Time API
- Default Methods
- Type Annotations
- Concurrent Accumulators
- Parallel operations
- TLS SNI
Java SE 9 (September 21, 2017)
- Modularization of the JDK under Project Jigsaw
- Given Money and Currency API
- Reconciliation with JavaFX
- Java usage of reactive streams
- More Concurrency Updates
- Provided Java Linker
- Programmed scaling and measuring
Java SE 10 (March 20, 2018)
- Local Variable Type Inference
- Exploratory Java-Based JIT Compiler: This is the incorporation of the Graal dynamic compiler for the Linux x64 stage.
- Time-sensitive Release Versioning,/li>
- Parallel Full GC for G1
- Garbage collector Interface
- Extra Unicode Language-Tag Extensions
- Root Certificates
- String Local Handshakes
- Remove the Native-Header Generation Tool – java
- Combine the JDK Forest into a Single Repository.
Java SE 11 (September 25, 2018)
- Type Inference for Lambda Parameters
- New Characters, Scripts, and Blocks
- Standard HTTP Client
- toArray(IntFunction) Default Method
- Epsilon Garbage Collector
- Low-overhead Heap Profiling
- Improved KeyStore Mechanisms
- Z Garbage Collector
- Dynamic Allocation of Compiler Threads
- New File Methods