www.firstranker.com
J2ME – Interview Questions
What is J2ME
Java 2, Micro Edition is a group of specifications and technologies that pertain to Java on small devices.
The J2ME covers a wide range of devices, from pagers and mobile telephones through set-top boxes and
car navigation systems.
The J2ME world is divided into configurations and profiles, specifications that describe a Java
environment for a specific class of device.
What is a profile ?
A profile defines the type of device supported. The Mobile Information Device Profile (MIDP), for example,
defines classes for cellular phones. It adds domain-specific classes to the J2ME configuration to define
uses for similar devices.
Two profiles have been defined for J2ME and are built upon CLDC: KJava and MIDP. Both KJava and
MIDP are associated with CLDC and smaller devices.
Profiles are built on top of configurations. Because profiles are specific to the size of the device (amount
of memory) on which an application runs, certain profiles are associated with certain configurations.
A skeleton profile upon which you can create your own profile, the Foundation Profile, is available for
CDC.
What is a configuration?
In J2ME, a configuration defines the minimum Java runtime environment for a family of devices: the
combination of a Java virtual machine (either the standard J2SE virtual machine or a much more limited
version called the CLDC VM) and a core set of APIs. CDC and CLDC are configurations.
What is MIDP and CLDC.
MIDP:
The Mobile Information Device Profile (MIDP) is a specification for a J2ME profile. It is layered on top of
CLDC and adds APIs for application life cycle, user interface, networking, and persistent storage.
CLDC:
The Connected, Limited Device Configuration (CLDC) is a specification for a J2ME configuration. The
CLDC is for devices with less than 512 KB or RAM available for the Java system and an intermittent
(limited) network connection. It specifies a stripped-down Java virtual machine1 called the KVM as well as
several APIs for fundamental application services. Three packages are minimalist versions of the J2SE
java.lang, java.io, and java.util packages. A fourth package, javax.microedition.io, implements the Generic
Connection Framework, a generalized API for making network connections.
What is RMS?
The Record Management System (RMS) is a simple record-oriented database that allows a MIDlet to
persistently store information and retrieve it later. Different MIDlets can also use the RMS to share data.
What is difference between j2se, j2ee and j2me?
J2SE is considered the foundation edition of the Java platform and programming environment in which all
other editions are based. J2EE is the edition of the Java 2 platform targeted at developing multi-tier
enterprise applications. J2EE consists of a set of specifications, APIs and technologies defining
enterprise application development. J2EE technology providers expose tools, frameworks and platforms
that handle a good deal of the details of enterprise application infrastructure and behavior. J2EE
implementations enjoy all of the features of the Java 2 Standard Edition (J2SE) platform with additional
frameworks and libraries added to support distributed/Web development.
What are the optional packages?
An optional package is a set of J2ME APIs providing services in a specific area, such as database access
or multimedia.
www.firstranker.com
Unlike a profile, it does not define a complete application environment, but rather is used in conjunction
with a configuration or a profile. It extends the runtime environment to support device capabilities that are
not universal enough to be defined as part of a profile or that need to be shared by different profiles.
J2ME RMI and the Mobile Media RMI are examples of optional packages.
How is data written into RMS?
Information is stored in the record store in records, and each record is an array of bytes. The methods to
save to and retrieve from a record store all represent the record as an array of bytes.
What is profiling?
The J2ME Wireless Toolkit includes a profiler, a tool that collects statistics on your application as it runs.
After the run ends, you can see which methods in your application were called, how many times they
were called, and how much time these calls took.
What is preverifier?
Preverification is a new phase in the development and deployment cycle for Java applications designed
to run on theJ2ME CLDC.
Preverification performs certain checks on the Java bytecodes ahead of runtime. If this first verification
pass is ok, the preverifier annotates the classfiles (using standard Java bytecode “attributes”, so that
these are still plain old Java bytecodes and will be executable in VMs not aware of the benefits of
preverification), and then saves the annotated class files or passes them along to the next tool in the
compile chain.
When the KVM attempts to run execute a J2ME CLDC-based application, it checks the Java class files for
these preverification annotations. Proper annotations in the class files guarantee that certain compile-time
checks were made, and so the KVM can pass through its own verfication and security checks much faster
and start executing the application more quickly.
Sun’s CLDC reference implementation SDK includes the ‘preverify’ tool. You use the tool after compiling
your code via javac (or your favorite Java compiler).
What is obfuscator
Obfuscation is a technique used to complicate code. Obfuscation makes code harder to understand when
it is decompiled, but it typically has no affect on the functionality of the code. Obfuscation programs can
be used to protect Java programs by making them harder to reverse-engineer.
What is a MIDlet
A MIDlet is an application written for MIDP. MIDlet applications are subclasses of the
javax.microedition.midlet.MIDlet class that is defined by MIDP.
What is MIDlet suite
MIDlets are packaged and distributed as MIDlet suites. A MIDlet suite can contain one or more MIDlets.
The MIDlet suite consists of two files, an application descriptor file with a .jad extension and an archive
file with a .jar file. The descriptor lists the archive file name, the names and class names for each MIDlet
in the suite, and other information. The archive file contains the MIDlet classes and resource files.
What is OTA
A major new feature of MIDP is its ability to dynamically deploy and update applications over-the-air
(OTA). OTA provisioning, previously supported only as a recommended practice, is now required as part
of the MIDP 2.0 specification. The MIDP specification defines how MIDlet suites are discovered, installed,
updated and removed on mobile information devices. MIDP also enables a service provider to identify
which MIDlet suites will work on a given device, and obtain status reports from the device following
installation, updates or removal.
The MIDP OTA provisioning model ensures a single, standard approach to MIDP application deployment
that works across the broad range of mobile devices. The MIDP OTA provisioning model has been
defined and adopted by leading device manufacturers and service providers to deliver a reliable, secure
provisioning solution.
www.firstranker.com
What are the mandatory attributes?
For example: CLDC-1.0
MicroEdition-Configuration
MicroEdition-Profile
MIDlet-<n>
MIDlet-Jar-Size
MIDlet-Jar-URL
MIDlet-Name
MIDlet-Vendor
MIDlet-Version
What are high level UI and low level UI?
The Mobile Information Device Profile (MIDP) has two APIs for modifying the user interface (UI), referred
to as the highlevel and low-level APIs.
The high-level API requires you to use task-oriented abstractions to define what the user interface does.
You have no real control over what gets drawn on the screen — the java virtual machine selects
the best approach for the device. The User interface, buttons are standard and no modification can be
done.
The low-level API is aimed squarely at j2me game developers. Unlike the high-level API, the low-level API
gives you complete access to the screen and to input events. The game developer can modify the screen
or UI as required.
The game developer can either the high-level API or the low-level API, but not both.
J2me package for low level UI is javax.microedition.lcdui.*;
What is customItem?
CustomItem is customizable by subclassing to introduce new visual and interactive elements into Forms.
Subclasses are responsible for their visual appearance including sizing and rendering and choice of
colors, fonts and graphics.Subclasses are responsible for the user interaction mode by responding to
events generated by keys, pointer actions, and traversal actions.
What is CVM
The Compact Virtual Machine (CVM) is an optimized Java virtual machine1 (JVM) that is used by the
CDC.
What is 3G
Third generation (3G) wireless networks will offer faster data transfer rates than current networks. The
first generation of wireless (1G) was analog cellular. The second generation (2G) is digital cellular,
featuring integrated voice and data communications. So-called 2.5G networks offer incremental speed
increases. 3G networks will offer dramatically improved data transfer rates, enabling new wireless
applications such as streaming media.
What is 3GPP
The 3rd Generation Partnership Project (3GPP) is a global collaboration between 6 partners: ARIB,
CWTS, ETSI, T1, TTA, and TTC. The group aims to develop a globally accepted 3rd-generation mobile
system based on GSM.
What is 802.11
802.11 is a group of specifications for wireless networks developed by the Institute of Electrical and
Electronics Engineers (IEEE). 802.11 uses the Ethernet protocol and CSMA/CA (carrier sense multiple
access with collision avoidance) for path sharing.
What is API
An Application Programming Interface (API) is a set of classes that you can use in your own application.
Sometimes called libraries or modules, APIs enable you to write an application without reinventing
www.firstranker.com
common pieces of code. For example, a networking API is something your application can use to make
network connections, without your ever having to understand the underlying code.
What is AMPS
Advanced Mobile Phone Service (AMPS) is a first-generation analog, circuit-switched cellular phone
network. Originally operating in the 800 MHz band, service was later expanded to include transmissions
in the 1900 MHz band, the VHF range in which most wireless carriers operate. Because AMPS uses
analog signals, it cannot transmit digital signals and cannot transport data packets without assistance
from newer technologies such as TDMA and CDMA.
What is CDC
The Connected Device Configuration (CDC) is a specification for a J2ME configuration. Conceptually,
CDC deals with devices with more memory and processing power than CLDC; it is for devices with an
always-on network connection and a minimum of 2 MB of memory available for the Java system.
What is CDMA
Code-Division Multiple Access (CDMA) is a cellular technology widely used in North America. There are
currently three CDMA standards: CDMA One, CDMA2000 and W-CDMA. CDMA technology uses UHF
800Mhz-1.9Ghz frequencies and bandwidth ranges from 115Kbs to 2Mbps.
What is CDMA One
Also know as IS-95, CDMAOne is a 2nd generation wireless technology. Supports speeds from 14.4Kbps
to 115K bps.What is CDMA2000 Also known as IS-136, CDMA2000 is a 3rd generation wireless
technology. Supports speeds ranging from 144Kbps to 2Mbps.
What is CDPD
Developed by Nortel Networks, Cellular Digital Packet Data (CDPD) is an open standard for supporting
wireless Internet access from cellular devices. CDPD also supports Multicast, which allows content
providers to efficiently broadcast information to many devices at the same time.
What is cHTML
Compact HTML (cHTML) is a subset of HTML which is designed for small devices. The major features of
HTML that are excluded from cHTML are: JPEG image, Table, Image map, Multiple character fonts and
styles, Background color and image, Frame and Style sheet.
What is Deck
A deck is a collection of one or more WML cards that can be downloaded, to a mobile phone, as a single
entity.
What is EDGE
Enhanced Data GSM Environment (EDGE) is a new, faster version of GSM. EDGE is designed to support
transfer rates up to 384Kbps and enable the delivery of video and other high-bandwidth applications.
EDGE is the result of a joint effort between TDMA operators, vendors and carriers and the GSM Alliance.
What is ETSI
The European Telecommunications Standards Institute (ETSI) is a non-profit organization that
establishes telecommunications standards for Europe.
What is FDMA
Frequency-division multiple-access (FDMA) is a mechanism for sharing a radio frequency band among
multiple users by dividing it into a number of smaller bands.
What is Foundation Profile
The Foundation Profile is a J2ME profile specification that builds on CDC. It adds additional classes and
interfaces to the CDC APIs but does not go so far as to specify user interface APIs, persistent storage, or
www.firstranker.com
application life cycle. Other J2ME profiles build on the CDC/Foundation combination: for example, the
Personal Profile and the RMI Profile both build on the Foundation Profile.
What is Generic Connection Framework
The Generic Connection Framework (GCF) makes it easy for wireless devices to make network
connections. It is part of CLDC and CDC and resides in the javax.microedition.io package.
What is GPRS
The General Packet Radio System (GPRS) is the next generation of GSM. It will be the basis of 3G
networks in Europe and elsewhere.
What is GSM
The Global System for Mobile Communications (GSM) is a wireless network system that is widely used in
Europe, Asia, and Australia. GSM is used at three different frequencies: GSM900 and GSM1800 are
used in Europe, Asia, and Australia, while GSM1900 is deployed in North America and other parts of the
world.
What is HLR
The Home Location Register (HLR) is a database for permanent storage of subscriber data and service
profiles.
What is HTTPS
Hyper Text Transfer Protocol Secure sockets (HTTPS) is a protocol for transmission of encrypted
hypertext over Secure Sockets Layer.
What is i-appli
Sometimes called “Java for i-mode”, i-appli is a Java environment based on CLDC. It is used on handsets
in NTT DoCoMo’s i-mode service. While i-appli is similar to MIDP, it was developed before the MIDP
specification was finished and the two APIs are incompatible.
What is IDE
An Integrated Development Environment (IDE) provides a programming environment as a single
application. IDEs typically bundle a compiler, debugger, and GUI builder tog ether. Forte for Java is Sun’s
Java IDE.
What is iDEN
The Integrated Dispatch Enhanced Network (iDEN) is a wireless network system developed by Motorola.
Various carriers support iDEN networks around the world: Nextel is one of the largest carriers, with
networks covering North and South America.
What is i-mode
A standard used by Japanese wireless devices to access cHTML (compact HTML) Web sites and display
animated GIFs and other multimedia content.
What is J2ME WTK
The J2ME Wireless Toolkit is a set of tools that provides developers with an emulation environment,
documentation and examples for developing Java applications for small devices. The J2ME WTK is
based on the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile
(MIDP) reference implementations, and can be tightly integrated with Forte for Java
What is Java Card
The Java Card specification allows Java technology to run on smart cards and other small devices. The
Java Card API is compatible with formal international standards, such as, ISO7816, and industry-specific
standards, such as, Europay/Master Card/Visa (EMV).
What is JavaHQ
www.firstranker.com
JavaHQ is the Java platform control center on your Palm OS device.
What is JCP
The Java Community Process (JCP) an open organization of international Java developers and licensees
who develop and revise Java technology specifications, reference implementations, and technology
compatibility kits through a formal process.
What is JDBC for CDC/FP
The JDBC Optional Package for CDC/Foundation Profile (JDBCOP for CDC/FP) is an API that enables
mobile Java applications to communicate with relational database servers using a subset of J2SE’s Java
Database Connectivity. This optional package is a strict subset of JDBC 3.0 that excludes some of
JDBC’s advanced and server-oriented features, such as pooled connections and array types. It’s meant
for use with the Foundation Profile or its supersets.
What is JSR
Java Specification Request (JSR) is the actual description of proposed and final specifications for the
Java platform. JSRs are reviewed by the JCP and the public before a final release of a specification is
made.
What is KittyHawk
KittyHawk is a set of APIs used by LG Telecom on its IBook and p520 devices. KittyHawk is based on
CLDC. It is conceptually similar to MIDP but the two APIs are incompatible.
What is KJava
KJava is an outdated term for J2ME. It comes from an early package of Java software for PalmOS,
released at the 2000 JavaOne show. The classes for that release were packaged in the com.sun.kjava
package.
What is kSOAP
kSOAP is a SOAP API suitable for the J2ME, based on kXML.
What is kXML
The kXML project provides a small footprint XML parser that can be used with J2ME.
What is KVM
The KVM is a compact Java virtual machine (JVM) that is designed for small devices. It supports a subset
of the features of the JVM. For example, the KVM does not support floating-point operations and object
finalization. The CLDC specifies use of the KVM. According to folklore, the ‘K’ in KVM stands for kilobyte,
signifying that the KVM runs in kilobytes of memory as opposed to megabytes.
What is LAN
A Local Area Network (LAN) is a group of devices connected with various communications technologies
in a small geographic area. Ethernet is the most widely-used LAN technology. Communication on a LAN
can either be with Peer-to-Peer devices or Client-Server devices.
What is LCDUI
LCDUI is a shorthand way of referring to the MIDP user interface APIs, contained in the
javax.microedition.lcdui package.
Strictly speaking, LCDUI stands for Liquid Crystal Display User Interface. It’s a user interface toolkit for
small device screens which are commonly LCD screens.
What is MExE
The Mobile Execution Environment (MExE) is a specification created by the 3GPP which details an
applicatio n environment for next generation mobile devices. MExE consists of a variety of technologies
including WAP, J2ME, CLDC and MIDP.
www.firstranker.com
What is MIDP-NG
The Next Generation MIDP specification is currently under development by the Java Community Process.
Planned improvements include XML parsing and cryptographic support.
What is Mobitex
Mobitex is a packet-switched, narrowband PCS network, designed for wide-area wireless data
communications. It was developed in 1984 by Eritel, an Ericsson subsidiary, a nd there are now over 30
Mobitex networks in operation worldwide.
What is Modulation
Modulation is the method by which a high-frequency digital signal is grafted onto a lower-frequency
analog wave, so that digital packets are able to ride piggyback on the analog airwave.
What is MSC
A Mobile Switching Center (MSC) is a unit within a cellular phone network that automatically coordinates
and switches calls in a given cell. It monitors each caller’s signal strength, and when a signal begins to
fade, it hands off the call to another MSC that’s better positioned to manage the call.
What is PCS
Personal Communications Service (PCS) is a suite of second-generation, digitally modulated mobilecommunications
interfaces that includes TDMA, CDMA, and GSM. PCS serves as an umbrella term for
second-generation wireless technologies operating in the 1900MHz range
What is PDAP
The Personal Digital Assistant Profile (PDAP) is a J2ME profile specification designed for small platforms
such as PalmOS devices. You can think of PDAs as being larger than mobile phones but smaller than
set-top boxes. PDAP is built on top of CLDC and will specify user interface and persistent storage APIs.
PDAP is currently being developed using the Java Community Process (JCP).
What is PDC
Personal Digital Cellular (PDC) is a Japanese standard for wireless communications.
What is PDCP
Parallel and Distributed Computing Practices (PDCP) are often used to describe computer systems that
are spread over many devices on a network (wired or wireless) where many nodes process data
simultaneously.
What is Personal Profile
The Personal Profile is a J2ME profile specification. Layered on the Foundation Profile and CDC, the
Personal Profile will be the next generation of PersonalJava technology. The specification is currently in
development under the Java Community Process (JCP).
What is PersonalJava
PersonalJava is a Java environment based on the Java virtual machine1 (JVM) and a set of APIs similar
to a JDK 1.1 environment. It includes the Touchable Look and Feel (also called Truffle), a graphic toolkit
that is optimized for consumer devices with a touch sensitive screen. PersonalJava will be included in
J2ME in the upcoming Personal Profile, which is built on CDC.
What is PNG
Portable Network Graphics (PNG) is an image format offering lossless compression and storage
flexibility. The MIDP specification requires implementations to recognize certain types of PNG images.
What is POSE
Palm OS Emulator (POSE).
www.firstranker.com
What is PRC
Palm Resource Code (PRC) is the file format for Palm OS applications.
What is Provisioning
In telecommunications terms, provisioning means to provide telecommunications services to a user. This
includes providing all necessary hardware, software, and wiring or transmission devices.
What is PSTN
The public service telephone network (PSTN) is the traditional, land-line based system for exchanging
phone calls.
What is RMI
Remote method invocation (RMI) is a feature of J2SE that enables Java objects running in one virtual
machine to invoke methods of Java objects running in another virtual machine, seamlessly.
What is RMI OP
The RMI Optional Package (RMI OP) is a subset of J2SE 1.3’s RMI functionality used in CDC-based
profiles that incorporate the Foundation Profile, such as the Personal Basis Profile and the Personal
Profile. The RMIOP cannot be used with CLDC based profiles because they lack object serialization and
other important features found only in CDC-based profiles. RMIOP supports most of the J2SE RMI
functionality, including the Java Remote Method Protocol, marshalled objects, distributed garbage
collection, registry-based object lookup, and network class loading, but not HTTP tunneling or the Java
1.1 stub protocol.
What is RMI Profile
The RMI Profile is a J2ME profile specification designed to support Java’s Remote Method Invocation
(RMI) distributed object system. Devices implementing the RMI Profile will be able to interoperate via RMI
with other Java devices, including Java 2,Standard Edition. The RMI Profile is based on the Foundation
Profile, which in turn is based on CDC.
What is SIM
A Subscriber Identity Module (SIM) is a stripped-down smart card containing information about the
identity of a cell-phone subscriber, and subscriber authentication and service information. Because the
SIM uniquely identifies the subscriber and is portable among handsets, the user can move it from one
kind of phone to another, facilitating international roaming.
What is SMS
Short Message Service (SMS) is a point-to-point service similar to paging for sending text messages of
up to 160 characters to mobile phones.
What is SOAP
The Simple Object Access Protocol (SOAP) is an XML- based protocol that allows objects of any type to
communicated in a distributed environment. SOAP is used in developing Web Services.
What is SSL
Secure Sockets Layer (SSL) is a socket protocol that encrypts data sent over the network and provides
authentication for the socket endpoints.
What is T9
T9 is a text input method for mobile phones and other small devices. It replaces the “multi-tap” input
method by guessing the word that you are trying to enter. T9 may be embedded in a device by the
manufacturer. Note that even if the device supports T9, the Java implementation may or may not use it.
What is TDMA
Time Division Multiple Access (TDMA) is a second-generation modulation standard using bandwidth
allocated in the 800 MHz, 900 MHz, and 1900MHz ranges.
www.firstranker.com
What is Telematics
Telematics is a location-based service that routes event notification and control data over wireless
networks to and from mobile devices installed in automobiles. Telematics makes use of GPS technology
to track vehicle latitude and longitude, and displays maps in LED consoles mounted in dashboards. It
connects to remote processing centers that turn provide server-side Internet and voice services, as well
as access to database resources.
What is UDDI
Universal Description, Discovery, and Integration (UDDI) is an XML-based standard for describing,
publishing, and finding Web services. UDDI is a specification for a distributed registry of Web services.
What is UMTS
Developed by Nortel Networks, Universal Mobile Telecommunications Service (UMTS) is a standard that
will provide cellular users a consistent set of technologies no matter where they are located worldwide.
UMTS utilizes W-CDMA technology.
What is VLR
The Visitor Location Register (VLR) is a database that contains temporary information about subscribers.
What is WAE
The Wireless Application Environment (WAE) provides a application framework for small devices. WAE
leverages other technologies such as WAP, WTP, and WSP.
What is WAP
Wireless Application Protocol (WAP) is a protocol for transmitting data between servers and clients
(usually small wireless devices like mobile phones). WAP is analogous to HTTP in the World Wide Web.
Many mobile phones include WAP browser software to allow users access to Internet WAP sites.
What is WAP Gateway
A WAP Gateway acts as a bridge allowing WAP devices to communicate with other networks (namely the
Internet).
What is W-CDMA
Wideband Code-Division Multiple Access (W-CDMA), also known as IMT-2000, is a 3rd generation
wireless technology. Supports speeds up to 384Kbps on a wide-area network, or 2Mbps locally.
What is WDP
Wireless Datagram Protocol (WDP) works as the transport layer of WAP. WDP processes datagrams
from upper layers to formats required by different physical datapaths, bearers, that may be for example
GSM SMS or CDMA Packet Data. WDP is adapted to the bearers available in the device so upper layers
don’t need to care about the physical level.
What is WMA
The Wireless Messaging API (WMA) is a set of classes for sending and receiving Short Message Service
messages.
What is WML
The Wireless Markup Language (WML) is a simple language used to create applications for small
wireless devices like mobile phones. WML is analogous to HTML in the World Wide Web.
What is WMLScript
WMLScript is a subset of the JavaScript scripting language designed as part of the WAP standard to
provide a convenient mechanism to access mobile phone’s peripheral functions.
What is WSP
www.firstranker.com
Wireless Session Protocol (WSP) implements session services of WAP. Sessions can be connectionoriented
and connectionless and they may be suspended and resumed at will.
What is WTLS
Wireless Transport Layer Security protocal (WTLS) does all cryptography oriented features of WAP.
WTLS handles encryption/decryption, user authentication and data integrity. WTLS is based on the fixed
network Transport Layer Security protocal (TLS), formerly known as Secure Sockets Layer (SSL).
What is WTP
Wireless Transaction Protocol (WTP) is WAP’s transaction protocol that works between the session
protocol WSP and security protocol WTLS. WTP chops data packets into lower level datagrams and
concatenates received datagrams into useful data. WTP also keeps track of received and sent packets
and does re-transmissions and acknowledgment sending when needed.
This blog was… how do I say it? Relevant!! Finally I have found something that helped me. Kudos!