Thursday, August 20, 2009

Introduction to J2ME

Hi everyone,

Today Everybody in Information Technology Industry, use to follow java as a programming language. But the problem is among majority of them stop learning further more after completing J2SE or j2EE. But today in most IT companies expect wireless technology from developers as now the technology has gone beyond the Global village concept and wireless mobility has become a one of the key factor to that.
When talking about wireless mobility, learning java micro edition can not be neglected. So this post will give you a little introduction on J2ME and its basic features.


This tutorial assumes that you have some familiarity with general programming concepts and the Java language.

What is J2ME?

J2ME stands for Java 2, Micro Edition. It is a stripped-down version of Java targeted at devices which have limited processing power and storage capabilities and intermittent or fairly low-bandwidth network connections. These include mobile phones, pagers,wireless devices and set-top boxes among others.

A Sample Wireless Stack would consist of:

  • Profiles
  • Configurations
  • Java Virtual Machines
  • Host Operating System

What is a J2ME Configuration?

A configuration defines the minimum Java technology that an application developer can expect on a broad range of implementing devices.

J2ME Connected, Limited Device Configuration (CLDC)

  • specifies the Java environment for mobile phone, pager and wireless devices
  • CLDC devices are usually wireless
  • 160 - 512k of memory available for Java
  • typically has limited power or battery operated
  • network connectivity, often wireless, intermittent, low-bandwidth (9600bps or less)

J2ME Connected Device Configuration (CDC)

  • describes the Java environment for digital television set-top boxes, high end wireless devices and automotive telematics systems.
  • device is powered by a 32-bit processor
  • 2MB or more of total memory available for Java
  • network connectivity, often wireless, intermittent, low-bandwidth (9600bps or less)

These two configurations differ only in their respective memory and display capabilities.

What is a J2ME Profile?

A specification layer above the configuration which describes the Java configuration for a specific vertical market or device type.

J2ME Profiles

J2ME Mobile Information Device Profile (MIDP)

  • this is the application environment for wireless devices based on the CLDC
  • contains classes for user interface, storage and networking

J2ME Foundation Profile, Personal Basis, Personal and RMI profiles

  • these are profiles for devices based on the CDC, which are not addressed in this tutorial

Virtual Machines

The CLDC and the CDC each require their own virtual machine because of their different memory and display capabilities. The CLDC virtual machine is far smaller than that required by the CDC and supports less features. The virtual machine for the CLDC is called the Kilo Virtual Machine (KVM) and the virtual machine for the CDC is called the CVM.

In my next post I will show how to create a simple J2ME application using netbeans IDE.

Thank you.


Nimpas said...

cool machan...this is really enviable blog for novice programmers...hope u ll continue this and make others also aware of this aspect...

Indunil Moremada said...

well done dude, keep it up !

SHYAM said...

Thank you for the info. It sounds pretty user friendly. I guess I’ll pick one up for fun. thank u

J2ME Developer

Mirnalini Sathya said...

Thank you sharing the excellent post about JAVA programming. you helped me to gain more information on the JAVA language.
Best JAVA Training institute in Chennai
Java Courses in Chennai