Java produces applets (browser-run programs), which facilitate graphical user interface (GUI) and object interaction by Internet users. Prior to Java applets, Web pages were typically static and non-interactive. Java applets have diminished in popularity with the release of competing products, such as Adobe Flash and Microsoft Silverlight.
Java applets run in a Web browser with Java Virtual Machine (JVM), which translates Java bytecode into native processor instructions and allows indirect OS or platform program execution. JVM provides the majority of components needed to run bytecode, which is usually smaller than executable programs written through other programming languages. Bytecode cannot run if a system lacks required JVM.
Java ME is made up of two sets of libraries, which are known as the connected limited device configuration (CLDC) and the connected device configuration (CDC). The CLDC is designed for significantly constrained devices characterized by low processing power, storage space, RAM and graphics capabilities. Devices that are best suited for the CLDC can have a CPU clock speed of as low as 16 MHz, a ROM size as small as 180 KB, RAM as small as 192 KB and zero graphics. CDC devices can be more powerful. Examples of such devices include smartphones, pocket PCs and PDAs.
Java ME applications are most often associated with tiny applications called MIDlets, which are just one group of applications written using Java ME. MIDlets, however, are actually applications written using the mobile information device profile, which sits on top of the CLDC.
An applet is a small Internet-based program written in Java, a programming language for the Web, which can be downloaded by any computer. The applet is also able to run in HTML. The applet is usually embedded in an HTML page on a Web site and can be executed from within a browser.