Java (software platform)

JavaJava platformJava software platformJava applicationJava technologyDukeHistory of JavaJava software-platformSun Javaclass libraries
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.wikipedia
862 Related Articles

Sun Microsystems

SunOracleSunSoft
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.
Other technologies included the Java platform and NFS.

Cross-platform software

cross-platformPlatform independentmulti-platform
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.
Application software can be written to depend on the features of a particular platform—either the hardware, operating system, or virtual machine it runs on. The Java platform is a virtual machine platform which runs on many operating systems and hardware types, and is a common platform for software to be written for.

Java (programming language)

JavaJava programming languageJava language
Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java virtual machine (JVM); byte code compilers are also available for other languages, including Ada, JavaScript, Python, and Ruby.
Java was originally developed by James Gosling at Sun Microsystems (which has since been acquired by Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform.

Apache Groovy

GroovyApache Groovy programming languageThe Groovy Programming Language
In addition, several languages have been designed to run natively on the JVM, including Clojure, Groovy, and Scala.
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform.

Java Card

Java Card: A technology that allows small Java-based applications (applets) to be run securely on smart cards and similar small-memory devices.
Java Card refers to a software technology that allows Java-based applications (applets) to be run securely on smart cards and similar small memory footprint devices.

Scala (programming language)

ScalaScala programming languageScala.js
In addition, several languages have been designed to run natively on the JVM, including Clojure, Groovy, and Scala.
After an internal release in late 2003, Scala was released publicly in early 2004 on the Java platform, A second version (v2.0) followed in March 2006.

Clojure

Clojure programming languageClojure source code
In addition, several languages have been designed to run natively on the JVM, including Clojure, Groovy, and Scala.
Rich Hickey developed Clojure because he wanted a modern Lisp for functional programming, symbiotic with the established Java platform, and designed for concurrency.

Java Development Kit

JDKJava SDKJava
For example, the Java compiler, which converts Java source code into Java bytecode (an intermediate language for the JVM), is provided as part of the Java Development Kit (JDK).
Since the introduction of the Java platform, it has been by far the most widely used Software Development Kit (SDK).

Java Community Process

JSRJCPJSRs
Since J2SE 1.4 the Java Community Process (JCP) has governed the evolution of the Java Language.
The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology.

Java Platform, Standard Edition

J2SEJava SEJava
Java SE (Standard Edition): For general-purpose use on desktop PCs, servers and similar devices.
The platform uses Java programming language and is part of the Java software-platform family.

James Gosling

Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.
History of Java

Oak (programming language)

Oak
Initially, Gosling attempted to modify and extend C++ (a proposed development that he referred to as "C++ ++ --") but soon abandoned that in favor of creating a new language, which he called Oak, after the tree that stood just outside his office.
The team originally considered using C++, but rejected the idea for several reasons (see Java history).

Java Platform, Micro Edition

Java MEJ2MEJava
Java ME (Micro Edition): Specifies several different sets of libraries (known as profiles) for devices with limited storage, display, and power capacities. It is often used to develop applications for mobile devices, PDAs, TV set-top boxes, and printers.
It is part of the Java software-platform family.

Python (programming language)

PythonPython programming languagePython 3
Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java virtual machine (JVM); byte code compilers are also available for other languages, including Ada, JavaScript, Python, and Ruby.
It has also been used in several video games, and has been adopted as first of the three available programming languages in Google App Engine, the other two being Java and Go.

Interpreter (computing)

interpreterinterpretedinterpreters
Third parties have produced many compilers or interpreters that target the JVM.
Just-in-time compilation has gained mainstream attention amongst language implementers in recent years, with Java, the .NET Framework, most modern JavaScript implementations, and Matlab now including JITs.

Java Web Start

Web StartJava Web Start TechnologyJava Webstart
This became 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, Java Web Start (also known as JavaWS, javaws or JAWS) is a framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web browser.

Java virtual machine

JVMJavaJava Runtime Environment
Writing in the Java programming language is the primary way to produce code that will be deployed as byte code in a Java virtual machine (JVM); byte code compilers are also available for other languages, including Ada, JavaScript, Python, and Ruby.
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode.

Wayne Rosing

In June and July 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.
From 1992 through 1996 he headed the spin-off First Person, which developed the Java Platform.

JRuby

JRuby – A Ruby interpreter
One powerful feature of JRuby is its ability to invoke the classes of the Java Platform.

Operating system

operating systemsOScomputer operating system
Java is not specific to any processor or operating system as Java platforms have been implemented for a wide variety of hardware and operating systems with a view to enable Java programs to run identically on all of them.
This cost in supporting operating systems diversity can be avoided by instead writing applications against software platforms such as Java or Qt.

OpenJDK

OpenJDK 6
Many Linux distributions include the OpenJDK runtime as the default virtual machine, negating the need to download the proprietary Oracle JRE.
The web-browser plugin and Web Start, which form part of Oracle Java, are not included in OpenJDK.

Java Class Library

class libraryJava APIJCL
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 third parties who did not want their code to be released under a free software and open-source license.
Because the Java Platform is not dependent on a specific operating system, applications cannot rely on any of the platform-native libraries.

Patrick Naughton

Engineer Patrick Naughton had become increasingly frustrated with the state of Sun's C++ and C application programming interfaces (APIs) and tools, as well as with the way the NeWS project was handled by the organization.
History of Java

Technology Compatibility Kit

TCKcompatibility testing toolsJCK
In June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on Fedora 9) has passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation.
A Technology Compatibility Kit (TCK) is a suite of tests that at least nominally checks a particular alleged implementation of a Java Specification Request (JSR) for compliance.

Apache Harmony

Harmony
While several third-party projects (e.g. GNU Classpath and Apache Harmony) created free software partial Java implementations, the large size of the Sun libraries combined with the use of clean room methods meant that their implementations of the Java libraries (the compiler and VM are comparatively small and well defined) were incomplete and not fully compatible.
Sun answered on a company blog that it intended to create an open source implementation of the Java platform under GPL, including the TCK, but that their current priority was to make the Java Platform accessible to the GNU/Linux community under GPL as quickly as possible.