all about java

Java - Overview




Java programming language was originally developed by Sun Microsystems which was initiated by James Gosling and released in 1995 as core component of Sun Microsystems' Java platform (Java 1.0 [J2SE]).

The latest release of the Java Standard Edition is Java SE 8. With the advancement of Java and its widespread popularity, multiple configurations were built to suit various types of platforms. For example: J2EE for Enterprise Applications, J2ME for Mobile Applications.

The new J2 versions were renamed as Java SE, Java EE, and Java ME respectively. Java is guaranteed to be Write Once, Run Anywhere.

Java is −

  • Object Oriented − In Java, everything is an Object. Java can be easily extended since it is based on the Object model.

  • Platform Independent − Unlike many other programming languages including C and C++, when Java is compiled, it is not compiled into platform specific machine, rather into platform independent byte code. This byte code is distributed over the web and interpreted by the Virtual Machine (JVM) on whichever platform it is being run on.

  • Simple − Java is designed to be easy to learn. If you understand the basic concept of OOP Java, it would be easy to master.

  • Secure − With Java's secure feature it enables to develop virus-free, tamper-free systems. Authentication techniques are based on public-key encryption.

  • Architecture-neutral − Java compiler generates an architecture-neutral object file format, which makes the compiled code executable on many processors, with the presence of Java runtime system.

  • Portable − Being architecture-neutral and having no implementation dependent aspects of the specification makes Java portable. Compiler in Java is written in ANSI C with a clean portability boundary, which is a POSIX subset.

  • Robust − Java makes an effort to eliminate error prone situations by emphasizing mainly on compile time error checking and runtime checking.

  • Multithreaded − With Java's multithreaded feature it is possible to write programs that can perform many tasks simultaneously. This design feature allows the developers to construct interactive applications that can run smoothly.

    • Interpreted − Java byte code is translated on the fly to native machine instructions and is not stored anywhere. The development process is more rapid and analytical since the linking is an incremental and light-weight process.

    • High Performance − With the use of Just-In-Time compilers, Java enables high performance.

    • Distributed − Java is designed for the distributed environment of the internet.

    • Dynamic − Java is considered to be more dynamic than C or C++ since it is designed to adapt to an evolving environment. Java programs can carry extensive amount of run-time information that can be used to verify and resolve accesses to objects on run-time.

    History of Java

    James Gosling initiated Java language project in June 1991 for use in one of his many set-top box projects. The language, initially called ‘Oak’ after an oak tree that stood outside Gosling's office, also went by the name ‘Green’ and ended up later being renamed as Java, from a list of random words.

  • Sun released the first public implementation as Java 1.0 in 1995. It promised Write Once, Run Anywhere (WORA), providing no-cost run-times on popular platforms.

    On 13 November, 2006, Sun released much of Java as free and open source software under the terms of the GNU General Public License (GPL).

    On 8 May, 2007, Sun finished the process, making all of Java's core code free and open-source, aside from a small portion of code to which Sun did not hold the copyright.

    Tools You Will Need

    For performing the examples discussed in this tutorial, you will need a Pentium 200-MHz computer with a minimum of 64 MB of RAM (128 MB of RAM recommended).

    You will also need the following softwares −

    • Linux 7.1 or Windows xp/7/8 operating system
    • Java JDK 8
    • Microsoft Notepad or any other text editor

    This tutorial will provide the necessary skills to create GUI, networking, and web applications using Java.

What is Java?

Java is a general-purpose, class-based, object-oriented programming language designed for having lesser implementation dependencies. It is a computing platform for application development. Java is fast, secure, and reliable, therefore. It is widely used for developing Java applications in laptops, data centers, game consoles, scientific supercomputers, cell phones, etc.

What is Java Platform?

Java Platform is a collection of programs that help programmers to develop and run Java programming applications efficiently. It includes an execution engine, a compiler, and a set of libraries in it. It is a set of computer software and specifications. James Gosling developed the Java platform at Sun Microsystems, and the Oracle Corporation later acquired it.

Java Definition and Meaning

Java is a multi-platform, object-oriented, and network-centric language. It is among the most used programming language. Java is also used as a computing platform.

It is considered as one of the fast, secure, and reliable programming languages preferred by most organizations to build their projects.

What is Java used for?

Here are some important Java applications:

  • It is used for developing Android Apps
  • Helps you to create Enterprise Software
  • Wide range of Mobile java Applications
  • Scientific Computing Applications
  • Use for Big Data Analytics
  • Java Programming of Hardware devices
  • Used for Server-Side Technologies like Apache, JBoss, GlassFish, etc.

Java Versions

Here are a brief history of all the Java versions with its release date.

Java VersionsRelease Date
JDK Alpha and Beta1995
JDK 1.023rd Jan 1996
JDK 1.119th Feb 1997
J2SE 1.28th Dec 1998
J2SE 1.38th May 2000
J2SE 1.46th Feb 2002
J2SE 5.030th Sep 2004
Java SE 611th Dec 2006
Java SE 728th July 2011
Java SE 818th Mar 2014
Java SE 921st Sep 2017
Java SE 1020th Mar 2018
JAVA SE 1125th Sep 2018
JAVA SE 1219th Mar 2019
JAVA SE 1317th Sep 2019
JAVA SE 1417th Mar 2020
JAVA SE 15

Java Features

Here are some important Java features:

  • It is one of the easy-to-use programming languages to learn.
  • Write code once and run it on almost any computing platform.
  • Java is platform-independent. Some programs developed in one machine can be executed in another machine.
  • It is designed for building object-oriented applications.
  • It is a multithreaded language with automatic memory management.
  • It is created for the distributed environment of the Internet.
  • Facilitates distributed computing as its network-centric.

Components Of Java Programming Language

A Java Programmer writes a program in a human-readable language called Source Code. Therefore, the CPU or Chips never understand the source code written in any programming language.

These computers or chips understand only one thing, which is called machine language or code. These machine codes run at the CPU level. Therefore, it would be different machine codes for other models of CPU.

However, you need to worry about the machine code, as programming is all about the source code. The machine understands this source code and translates them into machine understandable code, which is an executable code.

All these functionalities happen inside the following 3 Java platform components:

Java Development kit (JDK)

JDK is a software development environment used for making applets and Java applications. The full form of JDK is Java Development Kit. Java developers can use it on Windows, macOS, Solaris, and Linux. JDK helps them to code and run Java programs. It is possible to install more than one JDK version on the same computer.

Why use JDK?

Here are the main reasons for using JDK:

  • JDK contains tools required to write Java programs and JRE to execute them.
  • It includes a compiler, Java application launcher, Appletviewer, etc.
  • Compiler converts code written in Java into byte code.
  • Java application launcher opens a JRE, loads the necessary class, and executes its main method.

Java Virtual Machine (JVM):

Java Virtual Machine (JVM) is an engine that provides a runtime environment to drive the Java Code or applications. It converts Java bytecode into machine language. JVM is a part of the Java Run Environment (JRE). In other programming languages, the compiler produces machine code for a particular system. However, the Java compiler produces code for a Virtual Machine known as Java Virtual Machine.

Why JVM?

Here are the important reasons of using JVM:

  • JVM provides a platform-independent way of executing Java source code.
  • It has numerous libraries, tools, and frameworks.
  • Once you run a Java program, you can run on any platform and save lots of time.
  • JVM comes with JIT (Just-in-Time) compiler that converts Java source code into low-level machine language. Hence, it runs faster than a regular application.

Java Runtime Environment (JRE)

JRE is a piece of software that is designed to run other software. It contains the class libraries, loader class, and JVM. In simple terms, if you want to run a Java program, you need JRE. If you are not a programmer, you don’t need to install JDK, but just JRE to run Java programs.

Why use JRE?

Here are the main reasons of using JRE:

  • JRE contains class libraries, JVM, and other supporting files. It does not include any tool for Java development like a debugger, compiler, etc.
  • It uses important package classes like math, swing, util, lang, awt, and runtime libraries.
  • If you have to run Java applets, then JRE must be installed in your system.

Different Types of Java Platforms

There are four different types of Java programing language platforms:

1. Java Platform, Standard Edition (Java SE): Java SE’s API offers the Java programming language’s core functionality. It defines all the basis of type and object to high-level classes. It is used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

2. Java Platform, Enterprise Edition (Java EE): The Java EE platform offers an API and runtime environment for developing and running highly scalable, large-scale, multi-tiered, reliable, and secure network applications.

3. Java Programming Language Platform, Micro Edition (Java ME): The Java ME platform offers an API and a small-footprint virtual machine running Java programming language applications on small devices, like mobile phones.

4. Java FX: JavaFX is a platform for developing rich internet applications using a lightweight user-interface API. It user hardware-accelerated graphics and media engines that help Java take advantage of higher-performance clients and a modern look-and-feel and high-level APIs for connecting to networked data sources.

To understand Java programming language, we need to understand some basic concept of how a computer program can run a command and execute the action.








15th Sep 2020 (latest Java Version)






0 Comments