Java (programming language)

JavaJava programming languageJava languageJava-basedJava programmingJava applicationJava™ JavaJava Java (primarily)
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.wikipedia
4,084 Related Articles

Sun Microsystems

SunOracleSunSoft
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.
Sun Microsystems, Inc. was an American company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the Network File System (NFS), and SPARC.

Java bytecode

bytecodebyte codeJVM instruction set
Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.
A Java programmer does not need to be aware of or understand Java bytecode at all.

James Gosling

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. James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
James Arthur Gosling, OC (born May 19, 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language.

Sun acquisition by Oracle

acquiredacquired by Oracle Corporationacquisition of Sun
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.
Significantly, Oracle, previously only a software vendor, now owned both hardware and software product lines from Sun (e.g. SPARC Enterprise and Java, respectively).

Write once, run anywhere

run successfully on any devicerun across PCs, tablets, and phonesrun identically
It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.
"Write once, run anywhere" (WORA), or sometimes "write once, run everywhere" (WORE), was a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language.

Java version history

Java 7Java 8Java 9
The latest version is Java 11, released on September 25, 2018, which follows Java 10 after only six months, being in line with the new release schedule.
The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library.

GNU Classpath

Classpath
Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
GNU Classpath is a free software implementation of the standard class library for the Java programming language.

Patrick Naughton

James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991.
Patrick Naughton (born 1965) is an American software developer, one of the creators of the Java programming language.

GNU Compiler for Java

GCJCNIGIJ
Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
The GNU Compiler for Java (GCJ) is a free compiler for the Java programming language.

Java applet

appletJavaapplets
Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular.
A Java applet was a small application that is written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode.

IcedTea

IcedTea-Web
Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets).
IcedTea-Web is a free software implementation of Java Web Start and the Java web browser plugin.

Concurrent computing

concurrentconcurrent programmingconcurrency
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
; Shared memory communication: Concurrent components communicate by altering the contents of shared memory locations (exemplified by Java and C#).

Java Platform, Standard Edition

J2SEJava SEJava
In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively.
The platform uses Java programming language and is part of the Java software-platform family.

Java Platform, Micro Edition

Java MEJ2MEJava
In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively.
The platform uses the object-oriented Java programming language.

Oak (programming language)

Oak
The language was initially called Oak after an oak tree that stood outside Gosling's office.
The language later evolved to become Java.

C (programming language)

CC programming languageC language
The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them.
Many later languages have borrowed directly or indirectly from C, including C++, C#, Unix's C shell, D, Go, Java, JavaScript, Limbo, LPC, Objective-C, Perl, PHP, Python, Rust, Swift, Verilog and SystemVerilog (hardware description languages).

Interface (Java)

interfacesinterfaceimplements
Each package contains a set of related interfaces, classes, and exceptions.
An interface in the Java programming language is an abstract type that is used to specify a behavior that classes must implement.

Smalltalk

Xerox Smalltalk
The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them.
Virtually all of the object-oriented languages that came after—Flavors, CLOS, Objective-C, Java, Python, Ruby, and many others—were influenced by Smalltalk.

Java package

packagepackagesJava
The classes in the Java APIs are organized into separate groups called packages.
A Java package organizes Java classes into namespaces,

Library (computing)

librarylibrariessoftware library
The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licenses.
Simula was the first object-oriented programming language, and its classes were nearly identical to the modern concept as used in Java, C++, and C#.

Programming language

programming languageslanguagedialect
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.
Java came to be used for server-side programming, and bytecode virtual machines became popular again in commercial settings with their promise of "Write once, run anywhere" (UCSD Pascal had been popular for a time in the early 1980s).

C++

C++ programming languageC++ standardC++ language
The language derives much of its original features from SmallTalk, with a syntax similar to C and C++, but it has fewer low-level facilities than either of them.
As of 2017, C++ remains the third most popular programming language, behind Java and C.

Oracle Corporation

OracleNYSE: ORCLOracle Corp.
Following Oracle Corporation's acquisition of Sun Micro-systems in 2009–10, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency".
Release 10: In 2004, Oracle Corporation shipped release 10g (g standing for "grid") as the then latest version of Oracle Database. (Oracle Application Server 10g using Java EE integrated with the server part of that version of the database, making it possible to deploy web-technology applications. The application server comprised the first middle-tier software designed for grid computing. The interrelationship between Oracle 10g and Java allowed developers to set up stored procedures written in the Java language, as well as those written in the traditional Oracle database programming language, PL/SQL.)

Application programming interface

APIAPIsapplication programming interfaces
Sun has defined and supports four editions of Java targeting different application environments and segmented many of its APIs so that they belong to one of the platforms.
For example, because Scala and Java compile to compatible bytecode, Scala developers can take advantage of any Java API.

Computer architecture

architecturearchitecturescomputer design
Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.
Programmer Visible Macroarchitecture: higher level language tools such as compilers may define a consistent interface or contract to programmers using them, abstracting differences between underlying ISA, UISA, and microarchitectures. E.g. the C, C++, or Java standards define different Programmer Visible Macroarchitecture.