Home >> Computers >> Programming >> Languages >> Java >> Extensions >> Java-COM


  Articles
Components
  FAQs, Help, and Tutorials
Resources
  Tools


Java occurs as reflective, object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. At first known as Oak (known as when a oak trees outside Gosling's office), it was meant to replenish C++, although the feature placed better resembles that of Objective-C. Java should non become confused using JavaScript, which shares only the title & a similar C-like syntax. Sun Microsystems presently maintains & updates Java regularly.

Specifications of a Java language, the Java Virtual Machine (JVM) and a Java API are community-maintained through the Sun-managed Java Community Process. Java was developed inside 1991 by James Gosling and other Sun engineers, when a share of the Green Task. Fallowing number one existence processed public around 1994, it achieved prominence charted a announcement at 1995's SunWorld that Netscape would be including trend lines for it in their Navigator browser.

History
Early history

A Java platform & language began as an internal plan at Sun Microsystems around December of 1990. Patrick Naughton, an engineer at Sun, had get more and more thwarted by using a state of Sun's C++ & C APIs and information. When looking for moving to NeXT, Patrick was offered a risk to act in freshly technology & so a Stealing Plan was began.

A Stealing Plan was before long renamed to the Green Plan sustaining James Gosling and Mike Sheridan joining Patrick Naughton. It, together by having another engineers, began operate around the little professional in Sand Hill Road in Menlo Park, California to develop the freshly technology, aimed at programming next generation ache appliances like microwaves, which Sun required to become the large application of first technology. A team originally considered C++ when a language to utilise, however numbers of of the two also when Sun's chief scientist, Bill Joy, found C++ & a available APIs problematic for many reasons.

Their platform was an embedded platform & experienced limited resources. Several members obtained that C++ was as well complicated & that developers typically lost it. It incurred C++'s lack of garbage collection a problem, when well as its want of personal facilities for security, distributed programming, and threading. Eventually, it wanted the platform that can be easy ported to tons types of hardware.

Based on data from a available accounts, Bill Joy got ideas of a fresh language combining the right of Mesa and C. Inside the paper known as Farther, he proposed to Sun that its engineers should make an object-oriented environment based on C++. Ab initio, Gosling attempted to modify & extend C++, which he known as C++ ++ -- , however presently abandoned that in favor creating an totally recently language, which he known as Oak when a tree that stood upright outside his professional.

Rather numerous stealing projects working in recently technology, a team worked hanker hours & per summertime of 1992, they were suspire to demonstrate portions of a freshly platform including the Green OS, a Oak language, a libraries, & the devices. Their 1st attempt focused in building the PDA-like device known as Star7getting the extremely in writing interface & the ache professional known as "Duke" to assist a user. It was demonstrated in September 3, 1992.

Within November of that month, a Green Design was spun off to turn into FirstPerson, Inc, a altogether owned subsidiary of Sun Microsystems, & the team resettled to Palo Alto. A FirstPerson team was interested around building extremely interactional equipment, & whilst Time Warner issued an RFP for a set-top box, FirstPerson changed their target and responded by owning the proposal for the placed-top pack platform. Still, a cable industry felt that their platform gave too much control to the user & FirstPerson misused their bid to SGI. Even more, an extra treat by owning The 3DO Company for a placed-top pack besides failed to materialize. Unable to generate any interest inside a TV industry for their platform, a company was rolled back into Sun.

Java meets the Internet

Inside June & July of 1994, after the trine-day brainstorming session sustaining John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, & Eric Schmidt, a team re-targeted its efforts eventually once again, this period to utilise the technology for the Web. It felt that using a advent of the Mosaic browser, a Internet get on its way to evolving into the equivalent extremely interactional vision that it experienced got for the cable TV network. As the image, Patrick Naughton wrote a little browser, WebRunner, late renamed HotJava.

It was besides around 1994 that Oak was renamed Java. The trademark search revealed that the title Oak experienced already been taken by the streaming video adapter card manufacturer, thus the team searched for a recently title. the title Java was coined at a local coffee bar frequented by a select few of the members. These are non clear whether a title is an acronym or even non. Virtually all belike these are does'nt, although a select few accounts claim that it stands for the list of James Gosling, Therthur Van Hoff, & Thendy Bechtolsheim, or even Just Thenother Fiveague Thecronym. Loaning credence to a idea that Java owes its title to a products sold at a coffee bar is the fact that the foremost Four bytes of any class file spells out the words CAFE BABE whenever review within hexadecimal.

Inside October of 1994, HotJava & a Java platform was demoed for Sun executives. Java Single.0a was processed available for download inside 1994, however a foremost public release of Java & a HotJava web browser came on May 23, 1995, at the SunWorld conference. A announcement was manufactured by John Gage, a Director of Science for Sun Microsystems. His announcement was accompanied by the surprise announcement by Marc Andreessen, Executive Vice President of Netscape, that Netscape would be including Java trend lines within its browsers. Around January of 1996, a JavaSoft business class action was formed by Sun Microsystems to have the technology.

Recent history
Fallowing many years of popularity, Java's place in the web browser has steadily eroded. Its usage for elementary interactional animations has been just about wholly supplanted by Macromedia Flash, and as of 2005 it tends only to exist as utilized for supplementary complex applications like Yahoo! Games. It has as well suffered from either opposition by Microsoft, which no protracted plans to ship the Java platform sustaining freshly versions of Internet Explorer or Windows.

By direct contrast, on the server-side of the Web, Java is far supplementary popular than ever, sustaining numerous websites utilizing JavaServer Pages and other Java-depending technologies in their front-terminates.

On the desktop, have-alone Java applications remain comparatively unusual because of their big overhead. Still, by using a smashing advances around computer power around a survive decade, along by using improvements in VM & compiler quality, many keep around gained far flung apply, including the Netbeans and Eclipse IDEs, and a Azureus BitTorrent client.

Version history
A Java language has undergone many changes since JDK One.Zero also when many additions of packages to the standard library: 1.Cypher (1996) — Initial release. 1.Single (1997) — Major additions, virtually all notably a extensive retooling of a event model, too when the introduction of inner classes. 1.Two (December 4, 1998) — Codename Playground. Major changes were processed to the API (in which reflection was introduced) and Sun's JVM (which was equipped sustaining the JIT compiler), but these experienced little impact on a language itself: a just vary to the Java language was the addition of the keyword strictfp. This & subsequent releases were rebranded "Java 2", however this got there are no consequence in any software program version statistics. 1.Deuce-ace (May 8, 2000) — Codename Kestrel. A virtually all notable changes were: ([http://java.sun.com/j2se/1.3/docs/relnotes/features.html Full list of changes]) HotSpot JVM introduced RMI was changed to be according to CORBA 1.Quatern (February 13, 2002) — Codename Merlin. As of 2004, the virtually all widely utilized version. Changes were: ([http://java.sun.com/j2se/1.4.2/docs/relnotes/features.html Full list of changes]) assert keyword. regular expressions modeled after Perl regular expressions exception chaining allows an exception to encapsulate original lower-level exception unblocking NIO (Up to date IO) logging API Image IO API for reading & writing images around formats prefer JPEG, PNG integrated XML parser & XSLT processor security & cryptography extensions (JCE, JSSE, JAAS) were integrated into J2SE 5.Cipher (September 29, 2004) — Codename Tiger. (Originally numbered Ace.V, which is however utilized when a internal version total.) Added the total of important recently language features. A single particularly, Annotations, has been argued to be modeled in Microsoft's C#, which was itself modeled on earliest versions of Java: Generics — Provides compile-time nature & severity safety for collections and eliminates a require for virtually all typecasts. Autoboxing/unboxing — Automatic conversions between primitive types (such as int) & wrapper types (such as Integer). Metadata — also called Annotations, allows language constructs such as classes & methods to exist as tagged by having extra information, which may so exist as made by metadata-caring utilities Enumerations — the enum keyword creates a typesafe, ordered list of values (like Day.mon, Day.tues, etc.). Antecedently this may sole become achieved by non-typesafe constant whole number or even manually constructed classes (typesafe enum pattern). Enhanced for loop — the for loop syntax is extended with favorite syntax for even iterating all over both member of an array or Collection, utilizing the conception of the form:

for (Widget w: box)

This case iterates on top pack, assigning every of its things successively to the variable w, which is so printed to standard output. 6.Zero (presently inside development, calculated release date 2006) — Codename [https://mustang.dev.java.net/ Mustang]. An early development version of the Java SDK version Sextet.Zero (internal version first.Sextet) was mass produced available around November 2004. Fresh builds including sweetening & bug fixes come freed regularly. 7.Cypher — Codename Dolphin. As of 2005, this is in the early planning stages.[http://weblogs.java.net/blog/editors/archives/2004/09/evolving_a_lang.html]

Additionally to a language changes, very much further spectacular changes use at times been mass produced to the Java class library above the years, which has grown from either two or three c classes inside version Single.Cypher to concluded 3 thousand inside Java Quintet.Zero. Entire recently APIs, such as Swing and Java2D, have been introduced, & numerous of the original Unity.Cipher classes & methods keep close at hand been deprecated.

Language characteristics
There were 5 primary goals in the creation of the Java language: It should apply a object-oriented programming methodology. It should allow a equivalent program to exist as executed in multiple computer platforms. It should containtegral built-in trend lines for applying computer networks. It should exist as designed to execute code from either remote sources securely. It should become convenient to utilize & borrow a practiced area of older Object Oriented languages rather C++.

Especially for the latter section, all the same, extensions come for instance mandatory, rather Corba or OSGi.

Object orientation
A number 1 characteristic, object orientation ("OO"), refers to a method of programming & language project. Although there come numbers of interpretations of OO, of these primary distinguishing idea is to project computer software then that a various types of information it uses are combined together sustaining their relevant operations. So, information & code come combined into suspire known as objects. An object may be thought of as a self-contained bundle of behavior (code) & state (information). the principle is to separate the items that vary from either a items that stay a equivalent; typically, a vary to a select few information structure takes a corresponding vary to the code that operate that information, or even the other way around. This separation into logical objects will bring the extrthe stable foundation for a programs models's project. A intent is to produce big package projects more easygoing to handle, so improving quality & reducing a total of failing projects.

An additional primary goal of OO programming is to get supplementary generic objects and then that computer software could get other reclaimable between projects. These are convenient to look at how come the generic "customer" object, e.g., should around theory use about a equivalent basic placed of behaviors between different software program projects, especially once these projects overlap in a select few fundamental level when it typically liquidate big organizations. Therein feel, software program objects may hopefully become seen additional when pluggable components, helping the package industry "erect" projects largely from either existing & swell tested pieces, so leading to the massive reduction within development days. Yet, a reality of software package reusability has met sustaining mixed resolutions, mostly due to 2 difficulties: the project of truly generic objects remains a poorly-understood art, & a methodology for wide communication of reuse chance eludes the science. A few open source communities come okay, emerging whose primary mission is to help ease a reuse condition by providing authors by using ways to disseminate references just about typically reclaimable objects & object libraries.

Platform independence
A 2nd characteristic, platform independence, means that programs written in the Java language must run likewise in diverse devices. 1 should become take the breath to write a program when & let it run anywhere.

This is achieved by virtually all compilers by compiling the Java language code "halfway" to bytecode—simplified machine instructions specific to the Java platform. the code is so start in a virtual machine (VM), a program written around native code on the unsuspecting hosts devices that translates generic Java bytecode into usable code on the hardware. Farther, standardized libraries come provided to allow access to features of the hikers machines (like graphics, threading and networking) in unified ways. Note that, although there's an expressed compiling stage, at a bit of point, a Java bytecode is interpreted or converted to native machine instructions by the JIT compiler.

There are likewise implementations of Java compilers that compile to native object code, such as GCJ, removing a medium bytecode stage, however the output one compilers could merely exist as process in one architecture.

Sun's license for Java insists that 100% implementations become "compatible". This resulted inside the legal dispute by having Microsoft after Sun claimed that a Microsoft implementation did non trend lines the RMI & JNI interfaces & got added platform-specific features of their have. Sun sued & won each wrongs (a few $20 million) & a court choose enforcing the terms of the license from either Sun. Withwithin response, Microsoft there is no hanker ships Java using Windows, & in recent versions of Windows, Internet Explorer cannot support Javthe applets forswearing a third-person plugin. All the same, Sun & others use mass produced available Java begin-period systems at there are no numbers for victims & more versions of Windows.

A foremost implementations of the language utilized an taken virtual machine to achieve portability. These implementations produced software online that ran supplementary slowly than software written within C or even C++, then the language suffered a reputation for producing slow software. Additional recent implementations of the Java VM develop software that process lot sooner than prior to, utilizing multiple techniques.

the number 1 system is to only compile directly into native code prefer a further traditional compiler, skipping bytecodes completely. This achieves dandy performance, however at a expense of portability. A second system, referred to as just-in-time compilation (JIT), compiles a Java bytecodes into native code at a period that the program is dog. Other sophisticated VMs utilise dynamic recompilation, in which a VM potty analyze a behavior of the heading program & by selection recompile & optimize critical area of the program. Two one techniques allow a program to choose benefit of the speed of native code forswearing losing portability.

Portability is a technically difficult goal to achieve, & Java's profits at that goal has been mixed. Although these are indeed imaginable to write computer program for even a Java platform that behave systematically through several carrier platforms, the prominent total of available platforms by using little errors or inconsistencies led a select few to parody Sun's "Write once, run anywhere" slogan as "Write once, debug everywhere".

Platform-independent Java is, nonetheless, super successful by having server-side applications, like web services, servlets, or Enterprise Java Beans - and meanwhile too by having Embedded systems based on OSGi, using Embedded Java environments.

Automatic garbage collection
Of these imaginable argument against languages like C++ is the burden of with to perform contrast memory management. Inside C++, memory is allocated per software engineer to produce an object, so deallocated to delete a object. Whenever the computer programmer forgets or even is incertain after to deallocate, this can lead to the memory leak, where the program consumes other & extra memory forswearing washing cost higher fallowing itself. Potentially worse, whenever a area of memory is deallocated twice, the program could get unstable & might in all probability crash.

Around Java, this expected condition is avoided by automatic garbage collection. Objects come created & situated at an location on the heap. the program or even more objects potty information an object by holding a information to its location on the heap. Whilst there are no information to an object remain, the Java garbage man automatically deletes a object, freeing memory & preventing a memory leak. Memory leaks, nevertheless, could however occur in case the computer programmer's code holds the information to an object that is there are no yearn required—in more words, it may however occur however at higher conceptual levels. However tout ensemble, Java's automatic trash pickup makes creation & deletion of objects around Java simpler & possibly safer than inside C++.

It should become noted, still, that software engineer use at times access to garbage pickup within C++ via smart pointers, such as a ones provided per Boost library or as specified in the C++ committee's technical indicator report TR1 which is incorporated into a next C++ ISO standard.

It should likewise become noted that garbage pickup around Java is virtually invisibile to the creator. That is, developers can use there are no notion of once trash pickup may choose place when these are non necessarily the work of the code it themselves write.

Interfaces and classes
Of these tool that Java accommodates is creating an interface which classes could so implement. E.g., an interface may be created such as this:

public interface Deleteable

This code says that any class that implements a interface Deleteable have had the method known as delete(). A accurate implementation & work of the method come determined by both class. There are numerous utilizes for this construct; for instance, the as a consequence can be a class:

public class Fred implements Deleteable //Can too include more methods public void doOtherStuff() }

So, in another class, a ensuing is legal code:

public void deleteAll (Deleteable [] listings) }

because any objects in the array are guaranteed to have the delete() method. A Deleteable array could contain information to Fred objects, & a deleteAll() method needn't differentiate between a Fred objects & more Deleteable objects.

A purpose is to separate a details of a implementation of a interface from either the code that utilizes the interface. For instance, a Collection interface contains methods that any collection of objects can obviously implement, rather retrieving or even storing objects, however the specific collection can be the resizeable array, the linked list, or any of the total of different implementations.

A feature occurs as effect of compromise. A designers of Java decided does'nt to trend lines multiple inheritance because of the difficulty of C++'s multiple inheritance, but interfaces give a bit of of the gain of multiple inheritance by using less complexness.

Java interfaces behave lot rather a conception of the Objective-C protocol.

Input/Output
Versions of Java before I.Four just supported stream-depending blocking I/O. This expected a thread by the stream existence handled, when there is no more processing can choose place when the active thread blocked waiting for even input or output. This was the major scalability & performance issue for anyone looking for to implement any Java network service. Since a introduction of NIO (Up to date IO) around Java Single.Tetrad, this scalability condition has been rectified per introduction of the non-blocking I/O framework (though there are a total of open issues in the NIO API as implemented by Sun).

A non-blocking IO framework, though substantially further complex than a original blocking IO framework, allows any total of "channels" to exist as handled by one thread. A framework is according to a Reactor Pattern.

APIs
Sun has defined threesome platforms targeting different application environments & segmented several of its APIs so that it belong to one of a platforms. A platforms come:

Java 2 Platform, Micro Edition — targeting environments with limited resources, Java 2 Platform, Standard Edition — targeting workstation environments, and Java 2 Platform, Enterprise Edition — targeting large distributed enterprise or even Internet environments.

A classes in the Java APIs are organized into separate groups known as packages. For each one pack contains the placed of related interfaces, classes and exceptions. Refer to the separate platforms for the description of the packages available.

A placed of APIs is controlled by Sun Microsystems around cooperation by using others across its Java Community Process program. Corporations or even people participating therein run may influence a project & development of the APIs. This run has been the subject of contestation.

Inside 2004, IBM & BEA publicly supported a notion of creating an official open source implementation of Java however when of 2005, Sun Microsystems has refused.

Hello World example
For an explanation of the tradition of programming "Hello World", understand Hello world program. // A source file must exist as known as WorldGreeting.java public class WorldGreeting }

A above case merits a little of explanation for people accustomed to languages by owning inherently relaxed security, infirm typewriting, & feeble object orientation. All about around Javthe is written in a class, including have-alone computer software. Source files must become known when a equivalent as a class it contain, appending a postfix .java. (Therewithin out break, the class is WorldGreeting, so a source must become stored in a file known as WorldGreeting.java). Computer software to become executed when have-alone must have a independent() method. A keyword void indicates that a independent() method doesn't link to anything. A independent method must assume an array of strings. By convention, these are referenced when "args" although any more legal variable title may be utilized. A keyword static indicates that a method occurs as class method, associated with a class like than object cases. Independent methods must become electrostatic. A keyword public denotes that a method can be known as from either code around more classes, or even that the class may be utilized by classes outside the class hierarchy. A printing facility is a share of a java standard library: a method println() of the object known as out which is accessible from either the class Patterns.

International and worldwide use
A language distinguishes between bytes and characters. Characters come stored internally utilizing UCS-2, though as of Java Fin, a language as well supports applying UTF-16, with surrogates). Java program source can so contain any Unicode character.

the when punishment is so perfectly valid java code; it contains Chinese characters around the class & variable list besides as in a string erratum:

public class 你好世界

Miscellaneous
Although a language has favorite syntax for the two, arrays & strings are non primitive types: they are information types that may be assigned to java.lang.Object.

Criticism
Java was meant to serve as a novel way to handle software program complexness. Virtually everthing assume Java technology to deliver reasonably swell in all these promises. Notwithstanding, Java is non forswearing flaws, & it doesn't always accommodate whole programming styles, environments, or even requirements. Non whole projects or even even environments take enterprise-level complexness, like have-alone websites or only-proprietorship computer programmer. Such people call for Java's self-enforcing complexness management to become overkill. Javthe is typically a focal point of discontentment for people world health organization are non enthusiastic just about object-oriented programming. Javthe may be considered a less pure object-object-oriented programing language than e.g. Ruby or Smalltalk because it makes certain compromises (such as a fact that non wholly values come objects) for performance reasons. As an constituted technology, Java inevitably invites comparison by owning contemporary languages like C++, C#, Python, Groovy, and others. Commenting upon Java's proprietary nature & severity, supposed inflexibility to vary, and growing intrenchment in the corporate sector, a few develop said that Java is "the new COBOL". Numerous assume this to exist as the somewhat exaggerated assertion, although it does allude to a few legitimate concerns by owning Java's prospects for the new.

Language issues

A section between primitive types & objects is disliked by computer programmer acquainted languages like Smalltalk and Ruby where everything is an object.

On the other hand, C++ programmers can get confused sustaining Java because around Java primitives come universally automatic variables & objects universally reside on the heap, whereas C++ programmers are explicitly given a guide around each events by means of pointers.

Java code is typically more wordy than code written within other languages due to its frequent nature and severity declarations.

Java is preponderantly one-paradigm language. Historically, it has non been super accommodating of paradigms more than object-oriented programming. When of version Cinque.Nought, a procedural paradigm is somewhat better supported around Java by owning a addition of the ability to import electrostatic methods & fields thus that it may be utilized globally when a single may waste, for instance, C.

Java occurs as single inheritance language. This drives alarm to coder accustomed to multiple inheritance, which is available in numerous more languages. Even so, Java employs interface classes, which are then meant to minimize a risks of multiple inheritance when retaining its rewards.

Java doesn't trend lines operator overloading.

Versions of Java prior to Fin.Cypher needed several expressed casts to become written due to the deficiency of generic types.

Java's trend lines of text matching & manipulation is non when heavy when languages like perl or PHP, although regular expressions were introducted in Java Single.Quaternity.

Library issues

A look & sense of GUI applications written within Java using the Swing platform is often different from either native applications. When computer programmer might order to have a AWT toolkit that displays native widgets (& so look rather a operational platform), a AWT toolkit is unable to meet advanced GUI programming needs by wrapping in a area of advanced widgets and non sacrificing portability through the various supported platforms, every of which use immensely different APIs especially for higher-level widgets. A Swing toolkit, written totally within Java, avoids this conditiin by reimplementing widgets applying merely a virtually everthing basic drawing mechanisms that come guaranteed available on all platforms. A drawback is that more effort is called upon to resemble a in operation platform. When this is imaginable (using a Gtk+ & Windows Look-&-Sense), virtually all users don't underst& training vary the default Metal Look-&-Sense to of these that resembles their native platform, and following it is follow Java applications that look radically different from either their native applications. Of note nonetheless, Apple Computer's possess optimized version of a Java Runtime, which is involved inside the Mack OS Ten distribution, by default implements its "Aqua" Look-&-Sense, returning Swing applications instant familiarity to Mackintosh users.

A few area of the standard Java libraries come considered to a fault complicated, or even badly intentional, however just can't become changed imputable the want for feebleminded compatibility.

Performance issues

Java was designed sustaining emphasis in security & portability, & then sale-subordinate features rather devices-specific information types and pointers to arbitrary memory were deliberately omitted. These features must exist as accessed by calling 100 code using the Java Native Interface (JNI), which is inconvenient and can be a performance bottleneck.

Java array access may be slower than more languages due to bounds checking.

A performance of Java computer program may be hard to predict due to moral force compilation & garbage pickup. This burden is magnified inside software which run lone the short period. around addition, Java software online typically apply supplementary memory than computer software written in more languages. Virtually all major corporations however utilize more languages for off-a-ready-to-wear package, when Java is often considered as well slow for major desktop applications. Numbers of argue that this occurs as misconception according to old benchmarks & info by competition. Whether or even does'nt Java is significantly slower than more languages is however heatedly debated.

Java Runtime Environment
A Java Runtime Environment or even JRE is the package called upon to rerun any application deployed on the Java platform. End-users commonly use the JRE around software packages and plug-ins. Sun as well distributes a superset of the JRE known as the Java Ii SDK (more usually called a JDK), which includes development information like a Java compiler, Javadoc, and debugger.

;Components of the JRE Java libraries - which are a compiled byte codes of source developed by the JRE implementor to trend lines application development inside Java. Examples one libraries come: A core libraries, which include: Collection libraries which implement data structures such as lists, dictionaries, trees and sets XML Parsing libraries Security Internationalization and Localization libraries A integration libraries, which allow a application writer to communicate by using external systems. These libraries include: A Java Database Connectivity (JDBC) API for database access Java Naming and Directory Interface (JNDI) for lookup & discovery RMI and CORBA for distributed application development User Interface libraries, which include: A (heavyweight, or even native) Abstract Windowing Toolkit (AWT), which provides GUI components, a means for laying out victims components & the means for treating cases from either people components A (lightweight) Swing libraries, which are repose on AWT however provide (non-native) implementations of the AWT widgetry APIs for audio capture, processing, & playback The platform dependent implementation of Java virtual machine (JVM) which is the means by which the byte codes of the Java libraries & third person applications come executed Plugins, which enable applets to be do around web browsers Java Web Start, which allows Java applications to be with efficiency distributed to end users across the Internet Licensing & documentation

Extensions and related architectures

Extensions and architectures closely tied to the Java programing language include: J2EE (Enterprise edition) J2ME (Micro-Edition for PDAs and cellular phones) JMF (Java Media Framework) JNDI (Java Naming and Directory Interface) JSML (Java Speech API Markup Language) JDBC (Java Database Connectivity) JDO (Java Data Objects) JAI (Java Advanced Imaging) JAIN (Java API for Integrated Networks) JDMK (Java Dynamic Management Kit) Jini (a network architecture for the construction of distributed systems) Jiro Java Card JavaSpaces Java Modeling Language (JML) JMI (Java Metadata Interface) JMX (Java Management Extensions) JSP (JavaServer Pages) JSF (JavaServer Faces) JNI (Java Native Interface) JXTA (Open Protocols for P2P Virtual Network) J3D (A high level API for 3D graphics programming) JOGL (A online level API for 3D graphics programming, applying OpenGL) OSGi (Dynamic Service Management and Remote Maintenance) SuperWaba (JavaVMs for handhelds)


Computers: Programming: Component Frameworks: COM
Computers: Programming: Languages: Java: Class Libraries: Platform Specific: Windows





© 2005 GeneralAnswers.org