|Design by||James Gosling|
|Developed by||Sun Microsystems|
|Latest release||Java 6 Update 6 / April 2008|
|Preview release||Java 6 Update 10 Beta|
|License||GNU General Public License /|
Java Community Process
Java refers to a number of computer software products and specifications from Sun Microsystems that together provide a system for developing application software and deploying it in a cross-platform environment. Software design is a process of problem-solving and planning for a Software solution James A Gosling OC, PhD (born May 19, 1955 near Calgary, Alberta, Canada) is a famous Software developer A software developer is a person or organization concerned with facets of the software development process wider than design and coding a somewhat broader scope of Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product April holidays and events National Poetry Month - in United States National Sexual Assault Awareness Month - in United 2008 ( MMVIII) is the current year in accordance with the Gregorian calendar, a Leap year that started on Tuesday of the Common A software release is the distribution whether public or private of an initial or new and upgraded version of a Computer software product An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination In computing cross-platform (also known as multi-platform) is a term used to refer to Computer software or computing methods and concepts that are implemented Computer software can be organized into categories based on common function type or field of use In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software The Java Community Process or JCP, established in 1998, is a formalized process which allows interested parties to be involved in the definition of future versions A website (alternatively web site or Web site, a back-construction from the Proper noun World Wide Web) is a collection of Web pages Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services Application software is a subclass of Computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform In computing cross-platform (also known as multi-platform) is a term used to refer to Computer software or computing methods and concepts that are implemented Java is used in a wide variety of computing platforms spanning from embedded devices and mobile phones on the low end to enterprise servers and supercomputers on the high end. In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints An enterprise server is a Computer system which performs an essential service for a large organization A supercomputer is a Computer that is at the frontline of processing capacity particularly speed of calculation (at the time of its introduction Java is fairly ubiquitous in mobile phones, Web servers and enterprise applications, and somewhat less common on desktop computers, though users may have come across Java applets when browsing the World Wide Web. The term web server can mean one of two things A Computer program that is responsible for accepting HTTP requests from web clients which are A J2EE application or a Java 2 Platform Enterprise Edition application is any deployable unit of J2EE functionality A desktop computer is a Personal computer (PC in a form intended for regular use at a single location as opposed to a mobile Laptop or portable computer A Java applet is an Applet delivered in the form of Java bytecode. The World Wide Web (commonly shortened to the Web) is a system of interlinked Hypertext documents accessed via the Internet.
On 13 November 2006, Sun Microsystems made the bulk of its implementation of Java available under the GNU General Public License, although there are still a few parts distributed as precompiled binaries due to intellectual property restrictions. Events 1002 - English king Ethelred orders the killing of all Danes in England, known today as the St Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. 
The Java platform is the name for a bundle of related programs, or platform, from Sun which allow for developing and running programs written in the Java programming language. In Computing, a platform describes some sort of Hardware architecture or Software framework (including Application frameworks, that allows The platform is not specific to any one processor or operating system, but rather an execution engine (called a virtual machine) and a compiler with a set of standard libraries that are implemented for various hardware and operating systems so that Java programs can run identically on all of them. In Computer science, a virtual machine (VM is a Software implementation of a machine (computer that executes programs like a real machine
Different "editions" of the platform are available, including:
As of December 2006, the current version of the Java Platform is specified as either 1. 6. 0 or 6 (both refer to the same version). Version 6 is the product version, while 1. 6. 0 is the developer version.
The Java Platform consists of several programs, each of which provides a distinct portion of its overall capabilities. For example, the Java compiler, which converts Java source code into Java bytecode (an intermediate language for the Java Virtual Machine (JVM)), is provided as part of the Java Development Kit (JDK). A Java Virtual Machine ( JVM) is a set of computer software programs and data structures which use a Virtual machine The Java Development Kit ( JDK) is a Sun Microsystems product aimed at Java developers The Java Runtime Environment (JRE), complementing the JVM with a just-in-time (JIT) compiler, converts intermediate bytecode into native machine code on the fly. A Java Virtual Machine ( JVM) is a set of computer software programs and data structures which use a Virtual machine In Computing, just-in-time compilation ( JIT) also known as dynamic translation, is a technique for improving the runtime performance of a Computer Also supplied are extensive libraries (pre-compiled into Java bytecode) containing reusable code, as well as numerous ways to deploy Java applications, including embedding them in a web page as an applet.
There are several other components, some available only in certain editions.
The essential components in the platform are the Java language compiler, the libraries, and the runtime environment in which Java intermediate bytecode "executes" according to the rules laid out in the virtual machine specification.
The heart of the Java Platform is the concept of a "virtual machine" that executes Java bytecode programs. A Java Virtual Machine ( JVM) is a set of computer software programs and data structures which use a Virtual machine Java bytecode is the form of instructions that the Java virtual machine executes This bytecode is the same no matter what hardware or operating system the program is running under. There is a JIT compiler within the Java Virtual Machine, or JVM. The JIT compiler translates the Java bytecode into native processor instructions at run-time and caches the native code in memory during execution.
The use of bytecode as an intermediate language permits Java programs to run on any platform that has a virtual machine available. The use of a JIT compiler means that Java applications, after a short delay during loading and once they have "warmed up" by being all or mostly JIT-compiled, tend to run about as fast as native programs. Since JRE version 1. 2, Sun's JVM implementation has included a just-in-time compiler instead of an interpreter. In Computing, just-in-time compilation ( JIT) also known as dynamic translation, is a technique for improving the runtime performance of a Computer
Although Java programs are Platform Independent, the code of the Java Virtual Machine (JVM) that execute these programs are not. Every supported operating system has its own JVM.
In most modern operating systems, a large body of reusable code is provided to simplify the programmer's job. This code is typically provided as a set of dynamically loadable libraries that applications can call at runtime. In Computer science, a library is a collection of Subroutines used to develop Software. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the pre-existing OS libraries. Instead, the Java Platform provides a comprehensive set of its own standard class libraries containing much of the same reusable functions commonly found in modern operating systems.
The Java class libraries serve three purposes within the Java Platform. First, like other standard code libraries, the Java libraries provide the programmer a well-known set of functions to perform common tasks, such as maintaining lists of items or performing complex string parsing. Second, the class libraries provide an abstract interface to tasks that would normally depend heavily on the hardware and operating system. Tasks such as network access and file access are often heavily intertwined with the distinctive implementations of each platform. The Java java. net and java. io libraries implement an abstraction layer in native OS code, then provide a standard interface for the Java applications to perform those tasks. Finally, when some underlying platform does not support all of the features a Java application expects, the class libraries work to gracefully handle the absent components, either by emulation to provide a substitute, or at least by providing a consistent way to check for the presence of a specific feature.
The word Java, by itself, usually refers to the Java programming language which was designed for use with the Java Platform. Programming languages are typically outside of the scope of the phrase "platform", although the Java programming language is listed as a core part of the Java platform. The language and runtime are therefore commonly considered a single unit.
Nevertheless, third parties have produced a number of compilers or interpreters which target the JVM. A compiler is a Computer program (or set of programs that translates text written in a computer language (the source language) into another In Computer science, an interpreter normally means a Computer program that executes, i Some of these are for existing languages, while others are for extensions to the Java language itself. These include:
. NET includes a Java-like language called Visual J# (formerly known as J++) that is not compatible with the Java specification, and the associated class library mostly dates to the old JDK 1. Visual J++ (pronounced "Jay Plus Plus" was Microsoft 's specific implementation of Java. 1 version of the language; for these reasons, it is more a transitional language to switch from Java to the Microsoft .NET platform, than a first class Microsoft .NET language.
The Java Development Kit (JDK) is a Sun product aimed at Java developers. The Java Development Kit ( JDK) is a Sun Microsystems product aimed at Java developers Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services Since the introduction of Java, it has been by far the most widely used Java SDK. A software development kit ( SDK or " devkit " is typically a set of development tools that allows a Software engineer to create applications It contains a Java compiler and a number of other important development tools as well as a full copy of the Java Runtime Environment. A Java Virtual Machine ( JVM) is a set of computer software programs and data structures which use a Virtual machine
The Java platform and language began as an internal project at Sun Microsystems in December of 1990, providing an alternative to the C++/C programming languages. Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured Engineer Patrick Naughton had become increasingly frustrated with the state of Sun's C++ and C APIs (application programming interfaces) and tools. tags please moot on the talk page first! --> In Computing, C is a general-purpose cross-platform block structured While considering moving to NeXT, Naughton was offered a chance to work on new technology and thus the Stealth Project was started. NeXT Computer Inc (later NeXT Software Inc) was an American Computer company headquartered in Redwood City, California that
The Stealth Project was soon renamed to the Green Project with James Gosling and Mike Sheridan joining Naughton. James A Gosling OC, PhD (born May 19, 1955 near Calgary, Alberta, Canada) is a famous Software developer Together with other engineers, they began work in a small office on Sand Hill Road in Menlo Park, California. Sand Hill Road is a Road in Menlo Park California, notable for the concentration of Venture capital companies there Menlo Park is an affluent City in San Mateo County, in the San Francisco Bay Area of California They were attempting to develop a new technology for programming next generation smart appliances, which Sun expected to be a major new opportunity.
The team originally considered using C++, but it was rejected for several reasons. Because they were developing an embedded system with limited resources, they decided that C++ demanded too large a footprint and that its complexity led to developer errors. An embedded system is a special-purpose Computer system designed to perform one or a few dedicated functions often with Real-time computing constraints The language's lack of garbage collection meant that programmers had to manually manage system memory, a challenging and error-prone task. In Computer science, garbage collection ( GC) is a form of automatic Memory management. The team was also troubled by the language's lack of portable facilities for security, distributed programming, and threading. Parallel computing is a form of computation in which many instructions are carried out simultaneously operating on the principle that large problems can often A thread in Computer science is short for a thread of execution. Finally, they wanted a platform that could be easily ported to all types of devices.
Bill Joy had envisioned a new language combining the best of Mesa and C. William Nelson Joy (born Nov 8, 1954) commonly known as Bill Joy, is an American Computer scientist. Mesa is a programming language developed at Xerox PARC. The name Mesa was a pun referring to its design intent to be a "high-level" In a paper called Further, he proposed to Sun that its engineers should produce an object-oriented environment based on C++. Object-oriented programming (OOP is a Programming paradigm that uses " objects " and their interactions to design applications and computer programs Initially, Gosling attempted to modify and extend C++ (which he referred to as "C++ ++ --") but soon abandoned that in favor of creating an entirely new language, which he called Oak, after the tree that stood just outside his office.
By the summer of 1992, they were able to demonstrate portions of the new platform including the Green OS, the Oak language, the libraries, and the hardware. An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination Their first attempt, demonstrated on September 3, 1992, focused on building a PDA device named Star7 which had a graphical interface and a smart agent called "Duke" to assist the user. Events 36 BC - In the Battle of Naulochus, Marcus Vipsanius Agrippa, Admiral of Octavian, defeats Sextus Pompeius Year 1992 ( MCMXCII) was a Leap year starting on Wednesday (link will display full 1992 Gregorian calendar) In November of that year, the Green Project was spun off to become firstperson, a wholly owned subsidiary of Sun Microsystems, and the team relocated to Palo Alto, California. Palo Alto (ˌpæloʊˈæltoʊ from Spanish: palo: "stick" and alto: "high" i The firstperson team was interested in building highly interactive devices, and when Time Warner issued an RFP for a set-top box, firstperson changed their target and responded with a proposal for a set-top box platform. Time Warner Inc ( is the world's largest media and entertainment conglomerate, headquartered in New York City. For other meanings see RFP (disambiguation. For information about Wikipedia proposals see WikipediaVillage pump (proposals. A set-top box (STB or set-top unit (STU is a device that connects to a Television and an external source of signal, turning the signal into However, the cable industry felt that their platform gave too much control to the user and firstperson lost their bid to SGI. Silicon Graphics Inc (commonly initialised to SGI, historically sometimes referred to as Silicon Graphics Computer Systems or SGCS) is a company An additional deal with The 3DO Company for a set-top box also failed to materialize. The 3DO Company (formerly THDO on the NASDAQ stock exchange also known as 3DO, was a Video game console developer and third-party game Unable to generate interest within the TV industry, the company was rolled back into Sun.
In June and July of 1994, after three days of brainstorming with John Gage, the Director of Science for Sun, Gosling, Joy, Naughton, Wayne Rosing, and Eric Schmidt, the team re-targeted the platform for the World Wide Web. Java Web Start is a framework developed by Sun Microsystems which allows Application software for the Java Platform The World Wide Web (commonly shortened to the Web) is a system of interlinked Hypertext documents accessed via the Internet. John Burdette Gage (born 1942 is one of the founders of Sun Microsystems with Vinod Khosla, Scott McNealy, Bill Joy, Andy Bechtolsheim Wayne Rosing has been involved as a key player in several landmark projects in the computing industry since the late 1970s Eric Emerson Schmidt (born in Washington DC) is Chairman and CEO of Google Inc The World Wide Web (commonly shortened to the Web) is a system of interlinked Hypertext documents accessed via the Internet. They felt that with the advent of the first graphical web browser, Mosaic, the Internet was on its way to evolving into the same highly interactive medium that they had envisioned for cable TV. A web browser is a software application which enables a user to display and interact with text images videos music games and other information typically located on a Mosaic is the browser which popularized the World Wide Web. It was also a browser for earlier concepts such as Ftp, Usenet, and Gopher As a prototype, Naughton wrote a small browser, WebRunner, later renamed HotJava. HotJava (later called HotJava Browser to distinguish it from HotJava Views) is a modular extensible Web browser from Sun Microsystems implemented
That year, the language was renamed Java after a trademark search revealed that Oak was used by Oak Technology, a manufacturer of video adaptor cards. A trademark or trade mark, represented by the symbols ™ and ®, or mark is a distinctive sign or indicator used by an individual Oak Technology was a supplier of Semiconductor chips for sound cards graphics cards and optical storage devices such as CD-ROM, CD-RW and DVD The name Java was coined at a local coffee shop frequented by some of the members.
In October of 1994, HotJava and the Java platform were demonstrated for some of the Sun executives. HotJava (later called HotJava Browser to distinguish it from HotJava Views) is a modular extensible Web browser from Sun Microsystems implemented Java 1. 0a was made available for download in 1994, but the first public release of Java and the HotJava browser was on 23 May 1995, announced by Gage at the SunWorld conference. Events 1430 - Siege of Compiègne: Joan of Arc is captured by the Burgundians while leading an army to relieve Compiègne Year 1995 ( MCMXCV) was a Common year starting on Sunday. Events of 1995 His announcement was accompanied by a surprise announcement by Marc Andreessen, Executive Vice President of Netscape Communications Corporation, that Netscape browsers would be including Java support. Marc Andreessen (born July 9, 1971, in Cedar Falls Iowa and raised in New Lisbon Wisconsin, United States) is known as a entrepreneur Netscape Communications (formerly known as Netscape Communications Corporation and commonly known as Netscape) is an American computer services company On 9 January 1996, the JavaSoft group was formed by Sun Microsystems in order to develop the technology. Events 475 - Byzantine Emperor Zeno is forced to flee his capital at Constantinople. Year 1996 ( MCMXCVI) was a Leap year starting on Monday (link will display full 1996 Gregorian calendar) 
The Java language has undergone several changes since JDK (Java Development Kit) 1. The Java language has undergone several changes since JDK 10 as well as numerous additions of classes and packages to the standard library. The Java Development Kit ( JDK) is a Sun Microsystems product aimed at Java developers 0 was released on (January 23, 1996), as well as numerous additions of classes and packages to the standard library. Events 393 - Roman Emperor Theodosius I proclaims his nine year old son Honorius co-emperor Year 1996 ( MCMXCVI) was a Leap year starting on Monday (link will display full 1996 Gregorian calendar) In Computer science, a library is a collection of Subroutines used to develop Software. Since J2SE 1. 4, the evolution of the Java Language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The Java Community Process or JCP, established in 1998, is a formalized process which allows interested parties to be involved in the definition of future versions The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901. 
JDK 1. 1 was released on February 19, 1997. Events 197 - Roman Emperor Septimius Severus defeats usurper Clodius Albinus in the Battle of Lugdunum Year 1997 ( MCMXCVII) was a Common year starting on Wednesday (link will display full 1997 Gregorian calendar Major additions included an extensive retooling of the AWT event model, inner classes added to the language, JavaBeans and JDBC. The Abstract Window Toolkit (AWT is Java 's original platform-independent windowing, Graphics and User-interface Widget toolkit. In Object-oriented programming, an inner class (aka nested class) is a class declared entirely within the body of another class or interface JavaBeans are reusable software components for Java that can be manipulated visually in a builder tool Java Database Connectivity (JDBC is an API for the Java programming language that defines how a client may access a Database.
J2SE 1. 2 (December 8, 1998) — Codename Playground. Events 1609 - Biblioteca Ambrosiana opens its reading room the second public library of Europe. Year 1998 ( MCMXCVIII) was a Common year starting on Thursday (link will display full 1998 Gregorian calendar) This and subsequent releases through J2SE 5. 0 were rebranded Java 2 and the version name "J2SE" (Java 2 Platform, Standard Edition) replaced JDK to distinguish the base platform from J2EE (Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition). Java Platform Standard Edition or Java SE is a widely used platform for Programming in the Java language Java Platform Enterprise Edition or Java EE is a widely used platform for server programming in the Java programming language In computing the Java Platform Micro Edition or Java ME (still commonly referred to by its previous name Java 2 Platform Micro Edition or J2ME) is a specification Major additions included reflection, a Collections framework, Java IDL (an IDL implementation for CORBA interoperability), and the integration of the Swing graphical API into the core classes. In Computer science, reflection is the process by which a Computer program can observe and modify its own structure and behavior In Computer science, a container is a class, a Data structure, or an Abstract data type (ADT whose instances are collections of other objects An interface description language (or alternately interface definition language) or IDL for short is a Specification language used to describe a The Common Object Requesting Broker Architecture (CORBA is a standard defined by the Object Management Group (OMG that enables software components written Swing is a Widget toolkit for Java. It is part of Sun Microsystems ' Java Foundation Classes (JFC &mdash an API for providing a Java Plug-in was released, and Sun's JVM was equipped with a JIT compiler for the first time. In Computing, just-in-time compilation ( JIT) also known as dynamic translation, is a technique for improving the runtime performance of a Computer
J2SE 1. 3 (May 8, 2000) — Codename Kestrel. Events 589 - Reccared summons the Third Council of Toledo 1450 - Jack Cade's Rebellion: Kentishmen 2000 ( MM) was a Leap year that started on Saturday of the Common Era, in accordance with the Gregorian calendar. Notable changes included the bundling of the HotSpot JVM (the HotSpot JVM was first released in April, 1999 for the J2SE 1. HotSpot is the primary Java Virtual Machine for desktops and servers produced by Sun Microsystems. 2 JVM), JavaSound, Java Naming and Directory Interface (JNDI) and Java Platform Debugger Architecture (JPDA). The Java Naming and Directory Interface ( JNDI) is a Java API for Directory service that allows Java software clients to discover and look up data and objects The Java Platform Debugger Architecture is a collection of APIs to debug Java code
J2SE 1. 4 (February 6, 2002) — Codename Merlin. Events 46 BC - Julius Caesar defeats the combined army of Pompeian followers and Numidians under Metellus Scipio See also 2002 (disambiguation Year 2002 ( MMII) was a Common year starting on Tuesday of the Gregorian calendar. This was the first release of the Java platform developed under the Java Community Process as JSR 59.  Major changes included regular expressions modeled after Perl, exception chaining, an integrated XML parser and XSLT processor (JAXP), and Java Web Start. In Computing, regular expressions provide a concise and flexible means for identifying strings of text of interest such as particular characters words or patterns of characters NOTES FOR EDITORS "Perl" is not an acronym (read the "Name" section below Exception chaining, or exception wrapping, is an Object-oriented programming technique of handling exceptions by re-throwing a caught exception after wrapping Don't change "Extensible" Extensible Stylesheet Language Transformations ( XSLT) is an XML -based language used for the transformation of XML documents into other XML or "human-readable" The Java API for XML Processing, or JAXP (pronounced jaks-p) is one of the Java XML Programming APIs It provides Java Web Start is a framework developed by Sun Microsystems which allows Application software for the Java Platform
J2SE 5. 0 (September 30, 2004) — Codename Tiger. Events 1399 - Henry IV is proclaimed King of England. 1744 - France and Spain defeat the "MMIV" redirects here For the Modest Mouse album see " Baron von Bullshit Rides Again " Originally numbered 1. 5, which is still used as the internal version number.  Developed under JSR 176, Tiger added a number of significant new language features. 
Java SE 7 — Codename Dolphin. Annotation is add on information asserted with a particular point in a Document or other piece of information Windows Vista (ˈvɪstə is a line of Operating systems developed by Microsoft for use on Personal computers including home and business desktops The Java Platform Debugger Architecture is a collection of APIs to debug Java code This is in the early planning stages. The Dolphin Project started up in August 2006, with release estimated in 2008. New builds including enhancements and bug fixes are released approximately weekly. 
In addition to the language changes, much more dramatic changes have been made to the Java class library over the years, which has grown from a few hundred classes in JDK 1. 0 to over three thousand in J2SE 5. 0. Entire new APIs, such as Swing and Java2D, have been introduced, and many of the original JDK 1. Swing is a Widget toolkit for Java. It is part of Sun Microsystems ' Java Foundation Classes (JFC &mdash an API for providing In Computing, Java 2D is an API for drawing Two-dimensional graphics using the Java programming language. 0 classes and methods have been deprecated. In Computer software standards and documentation the term deprecation is applied to Software features that are superseded and should be avoided
According to Sun, the Java Runtime Environment is found on over 700 million PCs.  Microsoft has not bundled a Java Runtime Environment (JRE) with its operating systems since Sun Microsystems sued Microsoft for adding Windows-specific classes to the bundled Java runtime environment, and for making the new classes available through Visual J++. Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer Java refers to a number of Computer software products and specifications from Sun Microsystems that together provide a system for developing Application software Visual J++ (pronounced "Jay Plus Plus" was Microsoft 's specific implementation of Java. A Java runtime environment is bundled with Apple's Mac OS X, and many Linux distributions include the partially compatible free software package GNU Classpath. Mac OS X (mæk oʊ ɛs tɛn is a line of computer Operating systems developed marketed and sold by Apple Inc, the latest of which is pre-loaded on all currently A Linux distribution (also called GNU/Linux by distributions such as Debian, Fedora, Ubuntu, Linux Mint, Mandriva and Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified GNU Classpath is a project aiming to create a Free software implementation of the standard class library for the Java programming language. 
Some Java applications are in fairly widespread desktop use, including the NetBeans and Eclipse integrated development environments, and file sharing clients such as LimeWire and Azureus. NetBeans refers to both a platform for the development In Computing, Eclipse is a Software platform comprising extensible Application frameworks tools and a Runtime library for Software In Computing, an integrated development environment ( IDE) is a Software application that provides comprehensive facilities to Computer programmers Java is also used in the MATLAB mathematics programming environment, both for rendering the user interface and as part of the core system. MATLAB is a numerical computing environment and Programming language. The user interface (or Human Computer Interface) is the aggregate of means by which people&mdash the users '&mdash interact with the System
Java ME has become popular in mobile devices, where it competes with Symbian, BREW, and the .NET Compact Framework. Symbian OS is an open Operating system, designed for Mobile devices with associated libraries, User interface frameworks and BREW ( Binary Runtime Environment for Wireless) is an application development platform created by Qualcomm for mobile phones.
The diversity of mobile phone manufacturers has led to a need for new unified standards so programs can run on phones from different suppliers - MIDP. Mobile Information Device Profile ( MIDP) is a specification published for the use of Java on Embedded devices such as Mobile phones and PDAs The first standard was MIDP 1, which assumed a small screen size, no access to audio, and a 32kB program limit. The more recent MIDP 2 allows access to audio, and up to 64kB for the program size. With handset designs improving more rapidly than the standards, some manufacturers relax some limitations in the standards, for example, maximum program size.
When Sun announced that Java SE and Java ME would be released under a free software license (the GNU General Public License), they released the Duke graphics under the free BSD license at the same time. Java Platform Standard Edition or Java SE is a widely used platform for Programming in the Java language In computing the Java Platform Micro Edition or Java ME (still commonly referred to by its previous name Java 2 Platform Micro Edition or J2ME) is a specification A free software licence is a Software licence which grants recipients rights to modify and redistribute the Software which would otherwise be prohibited by Copyright BSD licenses represent a family of Permissive free software licences. 
The source code for Sun's implementations of Java (which is the de-facto reference implementation) has been available for some time, but until recently the license terms severely restricted what could be done with it without signing (and generally paying for) a contract with Sun. As such these terms did not satisfy the requirements of either the Open Source Initiative or the Free Software Foundation to be considered open source or free software, and Sun Java was therefore a proprietary platform. The Open Source Initiative is an organization dedicated to promoting Open-source software. The Free Software Foundation ( FSF) is a Non-profit corporation founded by Richard Stallman on 4 October 1985 to support the Free software movement 
While several third-party projects (e. g. GNU Classpath and Apache Harmony) created free software partial Java implementations, the sheer size of the Sun libraries combined with the use of clean room techniques meant that their implementations of the Java libraries (the compiler and vm are comparatively small and well defined) were incomplete and not fully compatible. GNU Classpath is a project aiming to create a Free software implementation of the standard class library for the Java programming language. Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified The Cleanroom Software Engineering process is a Software development process intended to produce software with a certifiable level of Reliability. These implementations also tended to be a long way behind Sun's in terms of optimization.
Sun announced in JavaOne 2006 that Java would become free and open source software, and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan I. Schwartz said that the company was set to announce the release of the core Java Platform as free and open source software within 30 to 60 days. OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and Open source code Sun Microsystems Inc ( is a multinational vendor of Computers computer components Computer software, and Information technology services JavaOne is an annual conference (since 1996) put on by Sun Microsystems to discuss Java technologies primarily among Java developers Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified Open source software (OSS began as a marketing campaign for Free software. Events 1147 - The Portuguese, under Afonso I, and Crusaders from England and Flanders conquer Lisbon after a Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar. Oracle OpenWorld is an annual Oracle event for business decision-makers IT management and line-of-business end users Jonathan Ian Schwartz (born October 20, 1965) is the current President and CEO of Sun Microsystems, as well as a member of the Company's 
Sun released the Java HotSpot virtual machine and compiler as free software under the GNU General Public License on 13 November 2006, with a promise that the rest of the JDK (which includes the JRE) would be placed under the GPL by March 2007 ("except for a few components that Sun does not have the right to publish in source form under the GPL"). Events 1002 - English king Ethelred orders the killing of all Danes in England, known today as the St Year 2006 ( MMVI) was a Common year starting on Sunday of the Gregorian calendar.  According to Richard Stallman, this would mean an end to the Java trap. Richard Matthew Stallman (born March 16 1953 often abbreviated " rms " is an American software freedom activist  Mark Shuttleworth called the initial press announcement, "A real milestone for the free software community". Mark Richard Shuttleworth (born 18 September 1973) is a South African Entrepreneur who was the second self-funded Space tourist and Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified 
Sun released the source code of the Class library under GPL on May 8, 2007, except some limited parts that were licensed by Sun from 3rd parties who did not want their code to be released under a free software and open-source license. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable The Java Class Library is a set of dynamically loadable libraries that Java applications can call at Runtime. Events 589 - Reccared summons the Third Council of Toledo 1450 - Jack Cade's Rebellion: Kentishmen Year 2007 ( MMVII) was a Common year starting on Monday of the Gregorian calendar in the 21st century.  Some of the encumbered parts turned out to be fairly key parts of the platform such as font rendering and 2D rasterisation, but these were released as open-source later by Sun (see OpenJDK Class library). OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and Open source code
Sun's goal is to replace the parts that remain proprietary and closed-source with alternative implementations and make the class library completely free and open source. A third party project called IcedTea has been started that creates a completely free and highly usable JDK by replacing encumbered code with either stubs or code from GNU Classpath. For other meanings see Iced tea (disambiguation IcedTea is a software development and integration project launched by Red Hat in June 2007 GNU Classpath is a project aiming to create a Free software implementation of the standard class library for the Java programming language. IcedTea is already available on Fedora 7 and ubuntu. For other meanings see Iced tea (disambiguation IcedTea is a software development and integration project launched by Red Hat in June 2007 The Fedora Operating system is an RPM -based general purpose Linux distribution, developed by the community-supported Fedora Project and sponsored Ubuntu Kubuntu Edubuntu Xubuntu Gobuntu --> Ubuntu