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.
Table of Contents
1. Introduction to Java
2. Evolution of Java
3. Features of Java
4. Scope of Java in Mobiles
5. Java Environment in Mobile
6. Components of J2ME
7. Connected Limited Device Configuration (CLDC)
Research Objectives and Themes
The primary objective of this paper is to examine the historical development, technical evolution, and functional utility of the Java programming language, with a specific focus on its application and deployment within mobile environments.
- The historical transition of Java from an embedded systems project to a universal web and mobile programming standard.
- Core principles of Java, including object-orientation, portability, and memory management via automatic garbage collection.
- Market dynamics and the strategic role of Java Micro Edition (J2ME) for wireless operators and device manufacturers.
- Technical architecture and constraints of mobile-specific configurations, such as CLDC and CDC.
Excerpt from the Book
Connected Limited Device Configuration (CLDC):
The concept of application is defined by CLDC which talks about the low level applications (Naing, 2008). It explains that it defines an application at basic level and Java Virtual Machine apprehends it as an executable code. CLDC is referred as the basic building block which is utilized to build J2ME profiles for pagers, cell phones and for low end palm devices. (Topley, 2002)
The devices are further categorized with respect to their processing power and memory resource limitations which prevents the utilization of full Java features. CLDC implements the java functions in a limited environment for the devices which have limited resources. CLDC makes java environment compatible with devices which are unable to run java with full features. For example, to run a simple application of “Hello World!” on the platform of windows, it requires the allocation of 16MB memory which is too much for small devices while in case of CLDC it requires 128 KB ROM or memory backed by battery to ensure the storage persistency of Java virtual machine along with class libraries.
For runtime allocation of 32 KB volatile memory is required to for the satisfaction of dynamic java applications which also include the heap allocation and class loading. To support the java runtime environment with the availability of limited resources, the reduced amount of requirements is specified by CLDC for language, core libraries and virtual machine. CLDC not only observes the restrictions for floating point but there are also some other features which are not incorporated with applications of CLDC. The reflection package is not available in CLDC just to save the memory. Similarly, due to shortage of memory, weak references are also not included. CLDC lacks of finalize() method as it produces greater complexities for very little outcome.
Summary of Chapters
Introduction to Java: Provides an overview of Java's origins as an object-oriented language derived from C++ and highlights its core advantages regarding safety and simplicity.
Evolution of Java: Describes the historical progression of Java from Sun Microsystems' internal research project to its widespread adoption for web and electronic devices.
Features of Java: Details key technical attributes such as portability, multi-threading, and the security benefits provided by bytecode verification and automatic garbage collection.
Scope of Java in Mobiles: Analyzes the market forces involving wireless operators and manufacturers that drove the adoption of Java ME in mobile handsets.
Java Environment in Mobile: Categorizes the scope of Java into three editions (J2SE, J2EE, and J2ME) and discusses the challenges of cross-platform compatibility.
Components of J2ME: Distinguishes between the two primary configurations of J2ME, specifically identifying the target use cases for CLDC and CDC.
Connected Limited Device Configuration (CLDC): Examines the technical limitations and architectural building blocks of CLDC designed for low-power devices with restricted memory.
Keywords
Java, Mobile Environment, J2ME, CLDC, Programming Languages, Sun Microsystems, Object-Oriented Programming, Portability, Bytecode, Wireless Operators, Software Development, Memory Management, Virtual Machine, Embedded Systems, Multi-threading.
Frequently Asked Questions
What is the fundamental focus of this paper?
The paper explores the importance and practical usage of the Java programming language across mobile and non-mobile platforms, tracing its history and technical features.
What are the primary thematic areas covered?
The themes include the evolution of Java, its object-oriented nature, its portability, the Java ME platform, and the specific role of configuration components like CLDC.
What is the central research goal of the document?
The goal is to analyze how Java adapted to meet the power and memory constraints of mobile devices to provide revenue-generating services for operators and manufacturers.
Which scientific or analytical method is utilized?
The work utilizes a descriptive analysis of programming paradigms, architectural frameworks (like J2ME), and market-driven research regarding mobile technology adoption.
What topics are discussed in the main body?
The main body covers the transition from C++ to Java, the features of Java (such as security and portability), the market scope of J2ME, and the technical specifics of memory allocation in restricted environments.
Which keywords best characterize the work?
Key terms include Java, J2ME, CLDC, Mobile Environment, Portability, and Object-Oriented Programming.
How does CLDC handle memory limitations?
CLDC implements Java functions in a stripped-down environment, removing features like the reflection package and finalize() method to fit within 128 KB of ROM.
What are the differences between J2SE, J2EE, and J2ME?
J2SE is for standard PCs, J2EE provides enterprise-level tools for servers, and J2ME is specifically designed with lightweight virtual machines for small mobile devices.
Why did the author mention Moore's Law in the context of Java?
Moore's Law is cited to explain the rapid increase in device capabilities, which provided the necessary hardware foundation for mobile applications to flourish.
- Quote paper
- Dr Kelly Clarkson (Author), 2012, Java and the Mobile Environment, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/213222