Java Platform: Difference between revisions

Content deleted Content added
m sp
Line 5:
== Java technologies ==
 
The Java platform consists of a wide array of technologies, each of which provides a distinct portion of the overall development or runtime environment. For example, end-users typically interaceinterface with the [[Java virtual machine]] and the standard set of class libraries. In addition, there are numerous ways for Java applications to be deployed, including being embedded into a web page. Lastly, developers who are creating applications for the platform use a set of development tools called the [[Java Development Kit]].
 
== Java Runtime Environment ==
Line 15:
Since JRE version 1.2, Sun's JVM implementation has also included a [[just-in-time compilation|just-in-time compiler]]. Instead of interpreting the bytecode one instruction at a time, this converts the bytecode for a program into equivalent native machine code as the program is loaded into the virtual machine, causing it to execute much faster at the cost of a small delay whenever new bytecode is loaded. This allows the JIT compiler to target a specific host platform and hardware, even potentially optimizing the output code in different ways based on observations of the program's behaviour.
 
Java was not the first virtual-machine-based platform, though it is by far the most successful and well-known. Previous uses for virtual machine technology primarily involved [[emulators]] to aid development for not-yet-developed hardware or operating systems, but the JVM was designed to be implemented entirely in software, while making it easy to efficentlyefficiently port an implementation to hardware of all kinds.
 
=== Class libraries ===
In most modern operating systems, a large body of reusable code is provided to simplify the programmers job. This code is typically provided as a set of [[Library (computer science)#Dynamic linking|dynamically loadable libraries]] that applications can call at runtime. Because the Java platform is not dependant on any specific operating system, applications cannot rely of any of the existing libraries. Instead, the Java platform provides a comprehensive set of 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. Like other standard code libraries, they provide the programmer a well-known set of functions to perform common tasks, such as maintaining lists of items or performing complex string parsing. In addition, 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 dependant on the native capabilities of the platform. The Java java.net and java.io libraries implement the required native code internally, then provide a standard interface for the Java applications to perform those tasks. Finally, some underlying platforms may not support all of the features a Java application expects. In these cases, the class libraries can either emulate those features using whatever is available, or provide a consistantconsistent way to check for the presence of a specific feature.
 
== Languages ==