Java technology is both a programming language and a platform.
The Java programming language is a high-level, object-oriented language. Java programs are both compiled and interpreted. Compilation translates Java code into an intermediate language called Java bytecode. Bytecode is in turn parsed and run (interpreted) by the Java Virtual Machine (JVM) — a translator between the language and the underlying operating system and hardware. A compiled Java program can run on any system that has a version of the JVM.
The Java platform is a software-only platform that can run on top of most hardware platforms. It consists of the JVM and the Java Application Programming Interface (API) — a large collection of ready-made components (classes) that ease application development and deployment. The Java API spans everything from basic objects, to networking and security, to XML generation and web services. It is grouped into libraries — known as packages — of related classes and interfaces.
The Java platform comes in three versions (see What are the three Java platform versions? below). Along with the Java API, every full implementation of the Java platform includes:
- Development tools for compiling, running, monitoring, debugging, and documenting applications.
- Standard mechanisms for deploying applications to users.
- User interface toolkits that let you create sophisticated graphical user interfaces (GUIs).
- Integration libraries that let programs access databases and manipulate remote objects.
Portability, versatility, scalability, and open standards
By many measures, the Java language is the most popular programming language in use today. Its main benefit is the portability of Java applications across hardware platforms and operating systems — possible because the JVM installed on each platform understands the same bytecode.The JVM is also a robust platform for executing languages other than the Java programming language. For example, Groovy, Scala, and special implementations of Ruby and Python give developers the versatility to program for the JVM in a dynamic or functional language. (For more information, see How does Java technology relate to dynamic languages and functional programming? below.
The Java language and platform scale remarkably well. Applications can easily be written (or adapted from Java desktop applications) for devices with limited resources. Scaling up beyond the desktop, Java technology is an ideal framework for secure server-side web programming. Web components are supported by runtime platforms called web containers, whose services include request dispatching, security, concurrency, life-cycle management, and access to APIs such as naming, transactions, and email. At the high end, Java application servers serve as web containers for Java components, XML, and web services that can interact with databases and provide dynamic web content. Java application servers also provide an application-deployment environment for enterprise applications, with capabilities for transaction management, security, clustering, performance, availability, connectivity, and scalability.
By supporting open standards in the enterprise, Java technology can use XML and web services to help share information and applications across business lines (see How does Java technology relate to SOA/web services? below). Java technology serves as the backbone of many IBM products and technical consulting services (see What IBM tools and products are available for Java programmers? below) and is critical to key IBM initiatives.
The evolving Java universe
Java technology was developed by Sun Microsystems, now part of Oracle Corporation. The Java Community Process (JCP), an open organization of international Java developers and licensees, develops and revises Java technology specifications, reference implementations, and technology compatibility kits. In 2007, Sun made the bulk of its core Java technology available as open-source software under the GNU general public license version 2 (GPLv2), commonly called OpenJDK. The Java platform is stable and its community vibrant, but Java technology continues to evolve, and fundamental changes are redefining the Java industry.Thanks to mature open source frameworks and reliable for-rent deployment infrastructures, it's now possible to assemble, test, run, and maintain Java applications much more quickly and inexpensively than ever before. The Java development 2.0 column series explores the spectrum of technologies and tools that make this new Java development paradigm possible. (Also see How does Java technology relate to cloud computing? and How does Java technology relate to open source software development, below.)
In "Java platform roundtable, Spring 2010," nine leading thinkers in the Java community candidly discuss the current and emerging state of Java technology, culture, and industry.
Keep up with newest trends in Java technology via your MP3 player. Tune in to the Java technology zone technical podcast series to hear interviews with experts on important topics, technologies, and tools.
No comments:
Post a Comment