This paper talks about the importance and usage of Java in both the mobile and non-mobile platforms. It further discusses the key aspects of Java which have revolutionized the concept of internet by providing dynamic web pages. This paper further argues evolution of Java that how it progressed and flourished for commercial usage. Afterwards, different versions of Java were created to support consumers of different levels. This paper further describes the features and the scope of Java in mobiles. Java platform for mobiles opened new horizons and offered various services to clients generating more revenue for operators and manufacturers. This paper further talks about Java mobile environment and its components especially CLDC which play vital role to run Java powered applications in mobile phones.
Introduction to Java:
Java is considered a unique language and many of its properties are also found in other languages. The extensive usage of Java language by programmers indicates that the Sun Microsystems have founded the right amalgam of sophistication and functionality. Java is actually derived from C++ language which increases the complexity of software with its features. However, the origin of Java is C++ and it uses many of its features by eliminating the drawback found in origin language. Java has eliminated direct memory access, pointers, multiple inheritance and pointers etc. Java was integrated with the support for World Wide Web and made it lucrative for the purpose of programming over network.
One of the main benefits which is associated with Java language is object orientation. Primitive languages such as Pascal, C and Basic are referred as procedural languages. These languages however offer the programming facilities to devise the software but they do not provide them in efficient way and do not provide robustness in nature. While Java devise software by keeping the concept of objects and classes under consideration. Classes contain the member of class along with the data and methods which further work upon the data. Java is actually object oriented in nature, however; there also exist many other object oriented languages such as Visual Basic, C++, Smalltalk and Delphi. (Reilly, Reilly, 2002)
Programmers happily adopt object oriented languages as they provide safety and ease as compared primitive procedural languages. One of the positive aspects of Java language is its simplicity as programmers refrain from using C++ due to complexity as it allows the direct memory access, dangling pointers and explicit memory de-allocation and allocation for structures and objects. Furthermore, Java supports inheritance but disallow the multiple inheritances. Java has been integrated with the automatic garbage collection which prevents the memory waste. In C and C++, the memory for structures and objects is allocated and after usage, memory is de-allocated otherwise the allocated memory may cause memory leakage.
Java satisfies the basic principles of object orientation such as encapsulation, inheritance, abstraction and polymorphism (Hunt, 2002) Java basically runs under the virtual environment which incorporates it in every operating system, this is why Java is compatible with Linux, Mac and Windows. Java incorporates the ability to run the code on every platform without the need recompilation again or changing in the source code. This aspect saves a lot time and amount as it alleviates the need to software creation for every platform.
The software which is created in Java supports every type of CPU and operating system with Java support. However, there is a cost which is associated with the portability feature as the source code of Java is converted into the bytecode which is further executed by Java Virtual Machine. This is why Java code does not run as fast as the native compiled code to instructions. However, when Just in Time special compiles is utilized for the conversion of java to native code but after conversion, it uses a lot of memory during operations.
Evolution of Java:
Java now has become on of the most establishment programming language and stands amongst the most adopted and famous programming languages. It is being utilized nearly in every aspect of virtual world such as in applications for web hosts, desktops, enterprise systems and is also embedded in various devices such as Blu-ray players and mobile phones. (Parsons, 2012)