Home / Computer Science / Java Language / Java and Its Features

Java and Its Features

Java Programming and Its Features

Java Tutorial:

Java is an object oriented and powerful programming language. By using java we can build mobile applications, desktop application and web applications. In This blog, we are going to learn what is Java and its features.

History of Java:

Sun Microsystems, Inc. in 1991 developed Java. James Gosling is a head of the Java developing team. The members in his team are Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan. They have taken 18 months time to develop java language. The team which is developed java is called Green team. The history behind the name of Java is, Java is an island name in Indonesia the developing team sitting in a room in that island and saw a “oak” tree from their window and named it as oak language later it was named Java in 1995.

Bill Joy, Arthur van Hoff, Jonathan Payne, Frank Yellin, and Tim Lindholm were key contributors to the maturing of the original prototype. Sun released the first version of java in 1995. Sun promised Write once run anywhere (WORA), providing no-cost run-times on popular platforms. Oracle corporation owned Java in January 27, 2010. Now, Java is owned by Oracle Corporation and the latest version is Java SE 8.

JavaME for Mobile Application development
JavaEE for Enterprise application Development.

Java Environment Setup:

JavaSE is a free source software available in Oracle official website. Download any one of the suitable version to your PC and follow the instructions and run the .exe to install Java on your machine. After installing Java in your machine, you will need to set environment variables to point to correct installation directories.

Setting up of Path for Java:

Right click on My Computer -> Properties
-> Advanced System Settings
-> Environment Variables
-> Path -> New -> give like the below image.

Where to write java program and execute:

Popular java editors are eclipse IDE from eclipse, NetBeans IDE from Net Beans, Notepad and Edit Plus

Java Features or Buzz Words:

  • Simple
  • Secure
  • Portable
  • Object-oriented
  • Robust
  • Multithreaded
  • Architecture-neutral
  • Interpreted
  • High performance
  • Distributed
  • Dynamic

We discuss about these words how java supported.

Simple: java is simple to write program and easy to learn if you understand the basics of OOP. Because it was acquire some object oriented features from C/C++ languages.

Secure: Java is secured programming language with its secure features and it enables to develop threat/virus free systems. Java provides security to work in networked and distributed systems. All the references to memory are symbolic references, meaning that the user is not aware where in the memory program is present, it totally depends on the JVM and Machine on which the program is running. Java is strongly typed language which means that variables should be declared and variables should not change types.

Portable: Java is portable because its architectural neutral and having no implementation of dependent aspects of the specification.

Architectural- Neutral: Object file is produced by the Java compiler which is executable on many processors by using java run time. So this feature makes java is Architectural Neutral.

Object oriented: Java is a pure object oriented programming language. In java everything is represented in an object form. Because of its object oriented nature Java can be easily extended.
Robust: Java provides problem checking at two levels, one at compile time and the other at the run time, so programmers are highly reliable and eliminate situations that are error-prone compared to other programming languages like c/c++. Java provides powerful and robust exception handling mechanism which to deal with both checked and unchecked exceptions.

Multithreaded: Before answering what is multithreading, let me explain you what ‘thread’ is. Simply, a thread is a program’s path of execution. In your problems, when multiple events or actions need to occur at the same time, how you will handle it? For example, a program is not capable of drawing pictures when you keep pressing keys of the keyboard. The program gives its full attention to receiving the keyboard input and doesn’t draw the picture properly. The best solution to this problem is the execution of two or more sections of a program at the same time and this technique is known as multithreading.

It is an ability to execute more than one program concurrently or simultaneously. Java is inherently multi-threaded, for example garbage collection subsystem runs as alow-priority thread. Java program has many different threads these threads are executing independently and continuously, for example, different Java applets on the same web page can run together with getting equal time from the processor. Because multithreaded applications share data and all threads of an application exists in the same data space therefore to maintaining reliability is sometime difficult. To making easy the use of threads Java offers features for synchronization between threads

Dynamic: Java dynamic and it is adapted to evolving new environment. Run time information can be carried by the java programs that can be used to verify and resolve accesses to objects on run-time.

Distributed: Java is designed for the distributed environment of the internet.

High Performance: As we know in Java we have to first compile the program, then execute it using Java
Interpreter. In general, interpreters are slow, because an interpreter executes programs instruction by instruction while Java is a fast-interpreted language. Java program can be executed immediately after compilation. Java run time system can be optimized their performance by compiling byte code to native machine code. This is called “just in time” (JIT) compilation.

Platform Independent: Java is Platform independent. The meaning of platform here may be confusing for you but actually this word is poorly defined. In the computer industry it typically means some combination of hardware and system software but here you can understand it as your operating system. An intermediate form of java program is byte code. Java program immediate execution of java program is possible on host machine. Rather, this special program called the Java interpreter or Java Virtual Machine reads the byte code, translates it into the corresponding host machine instructions and then executes the machine instruction. A Java program can run on any computer system for which a JVM (Java Virtual Machine) and some library routines have been installed. The second important part which makes Java portable is the elimination of hardware architecture dependent constructs. For example, Integers are always four bytes long and floating-point variables follow the IEEE 754.You don’t need to worry that the interpretation of your integer is going to change if you move from one hardware to hardware like Pentium to a PowerPC. Java is a rich programming language because we can develop java program in one machine and run any host machine.

About Santosh Kumar Gadagamma

I'm Santosh Gadagamma, an Experienced Software Engineer passionate about sharing knowledge in technologies like Java, C/C++, DBMS/RDBMS, Bootstrap, Big Data, Javascript, Android, Spring, Hibernate, Struts, and all levels of software design, development, deployment, and maintenance. I believe computers are essential for the world's functioning, and I'm committed to helping others learn the skills they need to succeed in tech. My website is a valuable learning tool to help you reach greater heights in your education and career, and I believe that education has no end points.

Check Also

String Builder

String Builder : A Comprehensive Guide

String builder in Java is a class. It is like string objects, except that they …