top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

    Get Free Article Updates

Facebook Login
Site Registration
Print Preview

Evolution of Java

0 votes


Java has, over the years, undergone a series of changes and evolved into the robust language that it is today.

Java Origins: Embedded Systems (1991-1994)

In 1991, at Sun, c++ was found to be unsuitable for a project on embedded electronics and a need for a portable and platform-independent language arose. Therefore, James Gosling and others created a new language, initially called “Oak” and later renamed to Java. Java failed to capture the market.

Java: A Client-side Wonder (1995-1997)

In 1995, web pages did not have dynamic capability. Java provide this capability. Later, Java gained popularity and served as ideal software for networked computers.

Java: Moved into the middle-tier (1997 to Present)

In the late 1990’s, Sun revised middle-tier capabilities for Java to ensure that it runs on Web/Application Servers. In 1997, Sun defined servlets for java to generate dynamic HTML web pages. Sun also defined Enterprise JavaBeans (EJB) so that business logic can be developed in java. In 1999, sun offered a middle-tier solution for java called java 2 Enterprise Edition (J2EE).


A platform is a hardware or software environment in which a program runs. Some of the commonly used platforms are Microsoft Windows, Linux and Solaris. A number of these platforms such as Linux and Solaris are a combination of operating system and underlying hardware components

The java platform can be considered as an execution engine referred to as virtual engine and not a specific operating system or hardware.

The java platform comprises two essential components:-

  • The java virtual machine (JVM): The java virtual machine (JVM) is the java runtime environment and is available on different operating systems. It serves as the intermediary between a java program and a host computer. JVM executes compiled java programs (byte codes).

  • The Java Application Programming Interface (API): Java APIs contain vast libraries of classes and other software components such as interfaces. These are included as a part of the java SDK. Newer releases of Java APIs provide enhanced features with introduction of new class libraries and packages.

posted Jun 15 by anonymous

  Promote This Article
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button

Related Articles

New State

A thread can exist in several states, such as new, runnable, blocked, waiting and terminated, according to its various phases in a program.

When a thread is newly created, it is a new Thread and is not alive.

In this state, it is an empty Thread object with no system resources allocated. So the thread is left as a “new thread” state till the start() method is invoked on it. When a thread is in this state, you can only start the thread or stop it. Calling any method before starting a thread raises an IllegalThreadStateException.

Code snippet

Thread th1Obj=new Thread();

An instance of Thread class is created.

Runnable State

A new thread can be in a runnable state when the start() method is invoked on it. A thread in this state is alive. A thread can enter this state from running or blocked state.

Threads are prioritised because in a single processor system all runnable threads can not be executed at a time. In the runnable state, a thread is eligible to run, but may not be running as it depends on the priority of the thread. The runnable thread, when it becomes on the priority of the thread. The runnable thread, when it becomes eligible for running, executes the instructions in its run() method.

Code Snippet

MyThreadClass myThread = new MyThreadClass();


An instance of thread is created and is in a runnable state.

Blocked State

Blocked State is one of the states in which a thread:

  • Is alive but currently not eligible to run as it is blocked for some other operation
  • Is not runnable but can go back to the runnable state after getting the monitor or lock.

A thread in the blocked state waits to operate on the resource or object which at the same time is being processed by another thread. A running thread goes to blocked state when sleep(), wait() or suspend() method is invoked on it.

Waiting State

A thread is in this state when it is waiting for another thread to release resources for it. When two or more threads run concurrently and only one thread takes hold of the resources all the time, other threads ultimately wait for this thread to release the resource for them. In this state, a thread is alive but not running.

A call to the wait() method puts a thread in this state. Invoking the notify() or notifyAll() method brings the thread from the waiting state to the runnable state.

Terminated State

A thread, after executing its run() method dies and is said to be in a terminated state. This is the way a thread can be stopped naturally. Once a thread is terminated, it can not be brought back to runnable state. Methods such as stop() and destroy() can force a thread to be terminated.

For more go through the below tutorial:

Contact Us
+91 9880187415
#470/147, 3rd Floor, 5th Main,
HSR Layout Sector 7,
Bangalore - 560102,
Karnataka INDIA.