×

History and Evolution of Java

Java is invented by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems, Inc. in 1991. Java is related to C++, which is inherited from the language C. The characters of Java is inherited from C and C++ language. It took approx. Eighteen months to develop the first working version. It was first named as “Oak” but was renamed as “Java” in 1995. It is publicly announced in the spring of 1995.

The basic idea behind creating this language is to create a platform-independent language that is used to develop software for consumer electronic devices such as microwave ovens, remote controls, etc. Initially, it was not designed for Internet applications.

Other languages have the problem that they are designed to compile the code for a specific platform. Let us take the example of C++, it is possible to compile C++ code for any processor but to do so it requires a full C++ compiler targeted for that particular processor and platform. That makes it expensive and time-consuming. To overcome this, Gosling and others started working on a portable and platform-independent language, this leads to the creation of Java.

Java had an extreme effect on the Internet by the innovation of a new type of networked program called the Applet. An applet is a Java program that is designed to be transmitted over the internet and executed by the web browser that is Java-compatible. Applets are the small program that is used to display data provided by the server, handle user input, provide a simple function such as calculator etc.

Java solves the Security and the portability issue of the other language that is being used. The key that allows doing so is the Bytecode. Bytecode is a highly optimized set of instruction that is designed to be executed by the Java Virtual Machine (JVM). Java programs are executed by the JVM also helps to make Java a secure programming g language because the JVM contains the application and prevents it from affecting the external systems.

Evolution of Java:

VersionRelease DateFeatures
JDK Beta1995--
JDK 1.0January 1996This is the first stable version.
    JDK 1.1    February 1997In this version, added many new library elements, redefined the way of handling events, and reconfigured most of the libraries of 1.0 and deprecated some features defined by 1.0. Added inner class, JavaBeans, JDBC, RMI, JIT (Just In time) compiler.
    J2SE 1.2    December 1998Added support for many features, such as Swing and Collection Framework. The methods suspend(), resume() and stop() of Thread class were deprecated.
J2SE 1.3May 2000A very small improvement, as it just improved the development environment.
J2SE 1.4February 2002It added some upgrades such as the new keyword assert, chained exception and a channel-based I/O subsystem. Also added some feature to the collection framework and the Networking classes.
J2SE 5.0September 2004The significant new features added to this version are – Generics, Annotation, Autoboxing and Auto-unboxing, Enumeration, for-each, variable-length argument, Static import, Formatted I/O, Concurrency utilities.
Java SE 6December 2006In this version the API libraries and several new packages got enhanced and offered improvements to the run time. It supports JDBC 4.0.
Java SE 7July 2011Added JVM support for dynamic language, String in the switch, Automatic resource management in try-statement, support for underscore in integers, binary integer literals etc…
Java SE 8March 2014Added Date and time API, Repeating annotation, JavaFX.
Java SE 9September 2017Added Java platform module system update, jshell, XML Catalog, jlink, and the JavaDB was removed from JDK
Java SE 10March 2018Added features are local variable type interface, Application class data sharing, Garbage collector interface, etc…
Java SE 11September 2018Feature added: Dynamic class file loader, HTTP client, and Transport layer security.  JavaFX, Java EE, and CORBA modules have been removed from JDK.
Java SE 12March 2019Added Microbenchmark Suite, JVM Constant API, One AArch64 Port, Default CDS Archives etc.

Related Topics

How to Convert String to char in Java

How to Convert String to char in Java There are two methods to convert String to char are: Using charAt() method Using tocharArray() method Using charAt() method This is the method of String class that...

3 minutes read.

Zigzag Traversal of Binary Tree in Java

In this article, you will be acknowledged about the zigzag traversal of binary tree in java and the approaches or ways in which the zigzag traversal can be done. Zigzag Traversal A...

10 minutes read.

How to Convert String to boolean in Java

How to Convert String to boolean in Java There are two methods to convert String to boolean: Using parseBoolean(string) method Using valueOf(string) method If the string contains "True," "true," or "TRUE,"...

3 minutes read.

Magic Square in Java

A square with numbers is referred to as a magic square. The numbers in a magic square of order n are arranged to ensure that the sum of all of...

4 minutes read.

Java Program to Create Set of Pairs Using HashSet

HashSet in Java: HashSet is an assortment in Java that has a place with java.util bundle. It inside utilises HashMap to store components. It is an execution of the Set connection...

11 minutes read.

Cyclic Barrier in Java

Programmers often find it challenging to run multiple threads simultaneously. Java introduces the idea of concurrency, which enables us to run many threads concurrently, making this work simpler. Concurrent programming...

6 minutes read.

Java HashMap

Java HashMap extends AbstractMap and implements Map interface. It is the collection of multiple entries where an entry consists of key and value pair. The HashMap can contain only one...

7 minutes read.

Java Clone Array

We frequently need to copy an array to back up its original components. We have a few unique numbers and strings, including Armstrong numbers, palindrome numbers, and palindrome strings. To...

4 minutes read.

Java throws

Java throws: The Java throws keyword is used with the signature of the method to indicate that the method may raise an exception. The method that uses the Java throws...

3 minutes read.

Java gc()

Garbage collection Java language provides different ways to perform the task of memory management. In Java, objects are declared and assigned references. Once lifeof an object is completed it is dereferenced...

4 minutes read.

Composition in Java

Composition Java uses the composition method to implement a has-a connection. Composition allows us to reuse code in the same way that Java inheritance does. The "is-a" relationship is implemented using the...

3 minutes read.

3N+1 problem program in Java

The 3N+1 problem is a hypothesis in the field of abstract mathematics (not yet proven). Collectively known as the Collatz problem. This tutorial will describe about the 3N+1 problem and...

3 minutes read.

Producer Consumer Problem in Java Using Synchronized Block

The producer-consumer dilemma is a well-known instance of a multi-process synchronization issue in computing. Two processes—the producer and the consumer—are described in the issue, and they share a single, fixed-size...

4 minutes read.

Java Tutorial

What is Java? Java is an object-oriented, robust, secured and platform-independent programming language. With the help of Java Programming, we can develop console, window, web, enterprise and mobile applications. Java language was...

22 minutes read.

Java Math nextAfter() Method

The nextAfter() method of Math class returns the floating-point value adjacent to the first argument in direction of the second argument. Syntax: public static double nextAfter (double start, double direction)public static float...

2 minutes read.

Java Boyer Moore

A string searching or matching technique called the Boyer-Moore algorithm was created in 1977 by Robert S. Boyer and J. Strother Moore. It is the most popular and effective string-matching...

9 minutes read.

Java Boolean logicalXor() Method

The logicalXor() method of Java Boolean class returns the result of implementing logical XOR operation on the specified Boolean operands. Syntax: public static boolean logicalXor (boolean a, boolean b) Parameters: The parameters ‘a’ and...

2 minutes read.

Java Math floorDiv() Method

The floorDiv () method of Math class returns the largest integer value that is less than or equal to the algebraic quotient. It firstly divides the dividend and divisor and...

2 minutes read.

Java program to find frequency of characters in a string

In this article, you will understand the how to find the frequency of characters in strings by using Java programming language. Along with this, you will understand the hashing concept...

3 minutes read.

Java array list remove time complexity

Java: We know that java is one of the programming languages. The main feature of java which is not in C or object oriented programming language is platform independence. Not only the...

7 minutes read.