Java was initially created by Sun Microsystems which was launched by James Gosling and released in 1995 as core part of Sun Microsystems' Java stage (Java 1.0 [J2SE]). As of December 2008, the most recent release of the Java Standard Edition is 6 (J2se). With the headway of Java and its across the board fame, numerous arrangements were constructed to suite different sorts of stages. Ex: J2ee for Enterprise Applications, J2me for Mobile Applications. Sun Microsystems has renamed the new J2 forms as Java SE, Java EE and Java ME individually. Java is ensured to be Write Once, Run Anywhere.
Features of Java:
- Object Oriented Concept: In Java, every entity is an Object. The Object Model of Java makes it the power of extensibility.
- Platform independent Language: Java is compiled into "byte code".Byte code is platform independent.This byte code is conveyed over the web and translated by Java virtual Machine (JVM) independent of platform.
- Simple and Easy: Java is quite simple and easy to learn. You just need to have your OOPS concept clear.
- Secure Coding Language: Java Enables developers to develop more secure application which is virus-free, tamper-free systems via its Secure Feature. Authentication techniques are focused around public-key encryption.
- Architectural-neutral : Java compiler generates an architecture-neutral object file format which makes the compiled code to be executable on many processors, with the presence of Java runtime system.
- Portable: Being architectural-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 do many tasks simultaneously. This design feature allows developers to construct smoothly running interactive applications.
- 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: Java empowers high performance with the utilization of Just-In-Time compilers.
- 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.
James Gosling started the Java programming language extend in June 1991 for utilization in one of his numerous set-top box ventures. Java, at first called Oak after an oak tree that was outside James Gosling's office, likewise passed by the name Green and wound up later being renamed as Java, from an arrangement of irregular words.
Sun released its first public implementation as Java 1.0 in the year 1995. It guaranteed it to be Write Once, Run Anywhere, providing no-expense run-times on popular platforms.
Sun Microsystems released much of Java as free and open source programming software on 13th November 2006 under the terms and conditions of the GNU General Public License (GPL).
Sun Microsystems completed the process of making all of Java's core code open-source and free and released on 8th May 2007.Only a small portion of code was not released as Sun did not hold the copyright of that.
Tools you required
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).
The following softwares will be needed too:
- Linux 7.1 or Windows 95/98/2000/XP operating system.
- Java JDK 5
- Microsoft Notepad or any other text editor
From Sun Micro Systems and other companies:
- SDK or JDK (Software Development Kit) – JVM, compiler, interpreter, JFC, JavaDoc, Jdb, AppletViewer ...
- Java Plug-in for browsers to run applets
- Microsoft Notepad or any other text editor
- Java IDEs – integrated development environments
- JavaOS – compact os for running Java programs
- Server side – Servelet, JSP, JDBC, Application Web server
- Many, many other tools and applications.
Java Language Features
- Platform independence
- Totally Object-oriented, but simpler than C++
- Dynamic incremental loading and linking
- Automatic GC
- Systematic class, package, and source ﬁle naming
- GUI and graphics programming
- Web and network applications support
- Internationalization (programs in Unicode)
Java Virtual Machine
- Compact JVM interprets bytecode, does GC
- Written in C, has OS/platform layer
- Uses threads
- Has just-in-time compilation
- JVM has simple instruction set
- Bytecode register based, byte order independent
- Easy to generate machine code