Wednesday, July 23, 2008

Welcome to the World of Java

Java refers to a number of computer software products and specifications from Sun Microsystems that together provide a system for developing application software and deploying it in a cross-platform environment. Java is used in a wide variety of computing platforms spanning from embedded devices and mobile phones on the low end to enterprise servers and supercomputers on the high end. Java is fairly ubiquitous in mobile phones, Web servers and enterprise applications, and somewhat less common on desktop computers, though users may have come across Java applets when browsing the World Wide Web.

Writing in the Java programming language is the primary way to produce code that will be deployed as Java bytecode, though there are compilers available for other languages such as JavaScript, Python and Ruby, java syntax borrows heavily from C and C++ but it eliminates certain low-level constructs such as pointers and has a very simple memory model where every object is allocated on the heap and all variables of object types are references.

Memory management is handled through integrated automatic garbage collection performed by the Java Virtual Machine (JVM).

Platform

The Java platform is the name for a bundle of related programs, or platform, from Sun which allow for developing and running programs written in the Java programming language. The platform is not specific to any particular processor or operating system, but rather an execution engine (called a virtual machine).

There are different "editions" of the platform which are available, it includes:

Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier client-server enterprise applications.
Java SE (Standard Edition): For general purpose use on desktop PCs, servers and similar devices.
Java ME (Mobile Edition): Specifies several different sets of libraries (known as profiles) for devices which are sufficiently limited that supplying the full set of Java libraries would take up unacceptably large amounts of storage.

The Java Platform consists of several programs, each of which provides a distinct portion of its overall capabilities. For example, the Java compiler, which converts Java source code into Java bytecode (an intermediate language for the Java Virtual Machine (JVM)), is provided as part of the Java Development Kit (JDK). The Java Runtime Environment (JRE), complementing the
JVM with a just-in-time (JIT) compiler, converts intermediate bytecode into native machine code.

Java Virtual Machine

The heart of the Java Platform is the concept of a "virtual machine" that executes Java bytecode programs. This bytecode is the same no matter what hardware or operating system the program is running under. There is a JIT compiler within the Java Virtual Machine, or JVM. The JIT compiler translates the Java bytecode into native processor instructions at run-time. The use of bytecode as an intermediate language permits Java programs to run on any platform that has a virtual machine available.

Although Java programs are platform independent, the code of the Java Virtual Machine (JVM) that execute these programs is not: Every supported operating platform has its own JVM.

I will be talking about the different editions of Java in my coming writeups.

2 comments:

Unknown said...

Its a real new concept you have come up with. A lot of productive information. Keep updating it please

Unknown said...

Hi

Nice to hear from You. Ofcourse I will keep contributing through this medium but it required your participation also...

Cheers

Madhu S