Java is a programming language created by James Gosling from Sun Microsystems (Sun) in 1991. The target of Java is to write a program once and then run this program on multiple operating systems. The first publicly available version of Java (Java 1.0) was released in 1995. Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has now the steermanship for Java. In 2006 Sun started to make Java available under the GNU General Public License (GPL). Oracle continues this project called OpenJDK.
• Stage free: Java projects utilize the Java virtual machine as deliberation and don’t get to the working framework straightforwardly. This makes Java programs very compact. A Java program (which is standard-agreeable and pursues certain principles) can run unmodified on every upheld stage, e.g., Windows or Linux.
• Article orientated programming language: Except for the crude information types, all components in Java are objects.
• Specifically programming language: Java is specifically, e.g., the kinds of the utilized factors must be pre-characterized and transformation to different articles is moderately exacting, e.g., must be done much of the time by the developer.
• Translated and incorporated language: Java source code is moved into the bytecode position which does not rely upon the objective stage. These bytecode guidelines will be deciphered by the Java Virtual machine (JVM). The JVM contains a purported Hotspot-Compiler which deciphers execution basic bytecode guidelines into local code directions.
• Programmed memory the executives: Java deals with the memory allotment and de-distribution for making new items. The program does not have direct access to memory. The purported city worker consequently erases articles to which no dynamic pointer exists.
• Java SE-Simple, independent applications are created utilizing Java Standard Edition. Once known as J2SE, Java SE gives the majority of the APIs expected to create customary work area applications.
• Java EE-The Java Enterprise Edition, in the past known as J2EE, gives the capacity to make server-side parts that can react to an electronic solicitation reaction cycle. This game plan permits the making of Java programs that can associate with Internet-based customers, including internet browsers, CORBA-based customers and even REST-and SOAP-based web administrations.
• Java ME-Java likewise gives a lightweight stage to versatile improvement known as Java Micro Edition, some time ago known as J2ME. Java ME has demonstrated a pervasive stage for inserted gadget advancement, however it attempted to pick up footing in the cell phone improvement field.
• Programs created in Java offer portability in a network. Sourcecode is compiled into what Java calls bytecode, which can run anywhere in a network, on a server or on a client that has a Java virtual machine (JVM). The JVM interprets the bytecode into code that will run on computer hardware.
• Java is object-oriented. An object is made up of data as fields or attributes and code as procedures or methods. An object can be a part of a class of objects to inherit code common to the class.
• The code is robust. Unlike programs written in C++, Java objects contain no references to data external to themselves or other known objects.
• Data is secure. Unlike C++, Java does not use pointers, which can be unsecured. Data converted to bytecode by Java is also not readable to humans. Additionally, Java will run programs inside a sandbox to prevent changes from unknown sources.
• Applets offer flexibility. In addition to being executed on the client rather than the server, a Java applet has other characteristics designed to make it run fast.
• Developers can learn Java quickly. With syntax similar to C++, Java is relatively easy to learn, especially for those with a background in C