Introduction to Java Programming

Java

JAVA is one of the most popular languages and widely used. Let's start the journey of learning Java programming with a bit of introduction about Java. 
  • History of Java
  • Uses of Java
  • Features of Java

History of Java

First public version of Java (1.0) was released in 1996 by Sun Microsystems. History of Java goes beyond 1996. James Gosling, Mike Sheridan and Patrick Naughton initiated the Java language project in June 1991. It was initially called as Oak then renamed to Green and finally Java (derived from Java coffee, A type of coffee in Indonesia). Java was designed with C/C++ like syntax so this can be found familiar by the developers. 

On November 13, 2006 Sun released much of it's Java Virtual Machine (JVM) as free and open source software. This process was finished on May 8, 2007. 

Below were the five primary goals behind the creation of Java. 
  • It must be Simple, Object oriented and familiar. 
  • It must be Robust and Secure. 
  • It must be architecture neutral and portable. 
  • It must execute with high performance. 
  • It must be interpreted, threaded and dynamic. 

Uses of Java

Java is widely used for developing.
  • Desktop Applications
  • Web Applications
  • Web Servers 
  • Application Servers
  • Mobile Applications 
  • Games 
This isn't the full list and there are much more applications where Java can be used. 

Features of Java

Platform Independent

Java is compiled and interpreted. Compiler converts the Java program to Bytecode and JVM executes the Bytecode generated by the compiler. Bytecode compiled can be run on any platform making Java platform independent (E.g.: Java code compiled on windows can be run on Mac OS or Linux, Vice versa). 

Object Oriented Programming Language

Object oriented programming is a way that the program is written as a collection of objects. An instance of a class is referred as an Object. 

Below are the primary concepts of Object oriented programming. 
  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

Simple

Java is easy to learn and use. It does not contain the complex features like pointers, Explicit memory allocation, operator overloading and multiple inheritances making it easy to learn and maintain. 

Java contains the structure similar to C/C++ making it familiar to the developers. 

Robust

Java is Robust as it is designed to catch the errors as early as possible. Java is capable of handling run time errors, supports automatic garbage collection (automatically deallocates the memory blocks) and exception handling. 

Secure

Java programs run in a separate environment independent of the OS, this makes Java more secure. Also, Java does not use the pointers, this makes the Java program secure from secure from flaws like stack corruption or buffer overflow.

Distributed

Java programs can be easily distributed to multiple systems that are connected through internet. Remote Method Invocation and Enterprise Java Beans are used to create distributed applications in Java.

Multithreading

Java supports multithreading, that allows concurrent execution of multiple parts of the program (two or more) for maximum CPU utilization.

Portable

Java is platform independent, it's bytecode can be taken to any platform for execution. 

High Performance

Java architecture is defined to reduce the overhead during the runtime. Java uses JIT (Just In Time) compiler which compiles code on-demand basics, it only compiles the methods that are called in the program. This makes the applications to execute faster. 

If you have any Suggestions or Feedback, Please leave a comment below or use Contact Form.

Comments

Popular posts from this blog

What is the importance of User Open (USROPN) in RPGLE - IBM i

What is Deep Learning? Beyond the Basics of AI

What is Artificial Intelligence?