 Java is an object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. The language, initially called Oak (named after the oak trees outside Gosling's office), was intended to replace C++, although the feature set better resembles that of Objective C. Java should not be confused with JavaScript, which shares only the name and a similar C-like syntax. Sun Microsystems currently maintains and updates Java regularly. the java logo This is a copyrighted and/or trademarked logo. ...
Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...
A programming language or computer language is a standardized communication technique for expressing instructions to a computer. ...
James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
Sun Microsystems is a computer, semiconductor and software manufacturer headquartered in Santa Clara, California, in Silicon Valley. ...
Oakland International Airport is located in Oakland, California and serves the San Francisco Bay Area metro region. ...
C++ (pronounced see plus plus) is a general-purpose computer programming language. ...
Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...
JavaScript, in its more modern form, is an object-based scripting programming language based on the concept of prototypes. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating...
In linguistics, syntax is the study of the rules, or patterned relations, that govern the way the words in a sentence come together. ...
Specifications of the Java language, the JVM (Java Virtual Machine) and the Java API are community-maintained through the Sun-managed Java Community Process. Java was developed in 1991 by James Gosling and other Sun engineers, as part of the Green Project. After first being made public in 1994, it achieved prominence following the announcement at 1995's SunWorld that Netscape would be including support for it in their Navigator browser. A Java virtual machine or JVM is a virtual machine that runs Java byte code. ...
Java is an object-oriented programming language developed primarily by James Gosling and colleagues at Sun Microsystems. ...
The Java Community Process or JCP, established in 1995, is a formalized process which allows interested parties to be involved in the definition of future versions and features of the Java platform. ...
1991 is a common year starting on Tuesday of the Gregorian calendar. ...
James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
1995 was a common year starting on Sunday of the Gregorian calendar. ...
Netscape Communications Corporation was the publisher of the Netscape Navigator web browser as well as many other internet and intranet client and server software products. ...
The logo of Netscape Navigator, as well as of Netscape Communications Corporation. ...
History
Early history
Duke, Java's mascot The Java platform and language began as an internal project at Sun Microsystems in the December 1990 timeframe. Patrick Naughton, an engineer at Sun, had become increasingly frustrated with the state of Sun's C++ and C APIs and tools. While considering moving to NeXT, Patrick was offered a chance to work on new technology and thus the Stealth Project was started. Duke, the mascot of the Java programming language This work is copyrighted. ...
1990 is a common year starting on Monday of the Gregorian calendar. ...
C++ (pronounced see plus plus) is a general-purpose computer programming language. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating...
API redirects here. ...
The NeXT logo, designed by Paul Rand. ...
The Stealth Project was soon renamed to the Green Project with James Gosling and Mike Sheridan joining Patrick Naughton. They, together with some other engineers, began work in a small office on Sand Hill Road in Menlo Park, California to develop a new technology. The team originally considered C++ as the language to use, but many of them as well as Bill Joy found C++ and the available APIs problematic for several reasons. James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
Sand Hill Road is a road in Menlo Park, California, notable for the concentration of venture capital companies there. ...
Menlo Park Civic Center includes gardens, a park and an artificial lake. ...
William N. Joy (born 1954), commonly known as Bill Joy, co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003. ...
Their platform was an embedded platform and had limited resources. Many members found that C++ was too complicated and developers often misused it. They found C++'s lack of garbage collection to also be a problem. Security, distributed programming, and threading support was also required. Finally, they wanted a platform that could be easily ported to all types of devices. In computing, garbage collection (also known as GC) is a form of automatic memory management. ...
This article or section should be merged with Distributed computing Distributed programming falls out of the use of computers to form networks. ...
Many programming languages, operating systems, and other software development environments support what are called threads of execution. ...
According to the available accounts, Bill Joy had ideas of a new language combining the best of Mesa and C. He proposed, in a paper called Further, to Sun that its engineers should produce an object-oriented environment based on C++. James Gosling's frustrations with C++ began while working on Imagination, an SGML editor. Initially, James attempted to modify and extend C++, which he referred to as C++ ++ -- (which is a play on the name of C++ meaning 'C++ plus some good things, and minus some bad things'), but soon abandoned that in favor of creating an entirely new language, called Oak named after the oak tree that stood just outside his office. Mesa is a programming language developed at Xerox PARC that was used to program the Xerox Alto (one of the first personal computers with a graphical user interface), and later the Xerox Star workstations, and later the GlobalView desktop environment. ...
Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...
The Standard Generalized Markup Language (SGML) is a metalanguage in which one can define markup languages for documents. ...
Like many stealth projects working on new technology, the team worked long hours and by the summer of 1992, they were able to demo portions of the new platform including the Green OS, Oak the language, the libraries, and the hardware. Their first attempt focused on building a PDA-like device having a highly graphical interface and a smart agent called Duke to assist the user. 1992 is a leap year starting on Wednesday of the Gregorian calendar. ...
In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ...
Palm IIIxe PDA Personal digital assistants (PDAs or palmtops) are handheld devices that were originally designed as personal organizers, but became much more versatile over the years. ...
The device was named Star7 after a telephone feature activated by *7 on a telephone keypad. The feature enabled users to answer the telephone anywhere. The PDA device itself was demonstrated on September 3, 1992. September 3 is the 246th day of the year (247th in leap years). ...
1992 is a leap year starting on Wednesday of the Gregorian calendar. ...
In November of that year, the Green Project was spun off to become a wholly owned subsidiary of Sun Microsystems: FirstPerson, Inc. The team relocated to Palo Alto. The FirstPerson team was interested in building highly interactive devices and when Time Warner issued an RFP for a set-top box, FirstPerson changed their target and responded with a proposal for a set-top box platform. However, the cable industry felt that their platform gave too much control to the user and FirstPerson lost their bid to SGI. An additional deal with The 3DO Company for a set-top box also failed to materialize. FirstPerson was unable to generate any interest within the cable TV industry for their platform. Following their failures, the company, FirstPerson, was rolled back into Sun. Time Warner Inc. ...
The term set-top box describes a device that connects to a television and some external source of signal, and turns the signal into content then displayed on the screen. ...
Silicon Graphics, Inc. ...
The 3DO Company (formerly THDO on the NASDAQ stock exchange) was founded in 1991 under the name SMSG, Inc. ...
Cable television or Community Antenna Television (CATV) (and often shortened to cable) is a system of providing television, FM radio programming and other services to consumers via radio waves transmitted directly to people’s televisions through fixed coaxial cables as opposed to the over-the-air method used in traditional...
Java meets the Internet In June and July of 1994, after a three-day brainstorming session with John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, and Eric Schmidt, the team re-targeted yet again its efforts, this time to use the technology for the Internet. They felt that with the advent of the Mosaic browser, the Internet was on its way to evolving into the same highly interactive vision that they had had for the cable TV network. Patrick Naughton wrote a small web browser, WebRunner, as a prototype. WebRunner would later be renamed HotJava. 1994 was a common year starting on Saturday of the Gregorian calendar, and was designated the International year of the Family. ...
Mosaic is a web browser (client) for the World Wide Web written at the National Center for Supercomputing Applications (NCSA). ...
HotJava 3. ...
It was also in 1994 that Oak was renamed Java. An IP (intellectual property) search revealed that Oak had already been trademarked by a video adaptor card manufacturer so the team searched for a new name. The name Java was coined at a local coffee shop frequented by some of the members. It is not clear whether the name is an acronym or not. Most likely, it is not, however some accounts claim that it stands for the names of James Gosling, Arthur Van Hoff, and Andy Bechtolsheim. Others, that it is an acronym for Just Another Vague Acronym. In law, particularly in common law jurisdictions, intellectual property or IP refers to a legal entitlement which sometimes attaches to the expressed form of an idea, or to some other intangible subject matter. ...
In October of 1994, HotJava and the Java platform was demoed for Sun executives. Java 1.0a was made available for download in 1994, but the first public release of Java and the HotJava web browser came on May 23, 1995, at the SunWorld conference. The announcement was made by John Gage, the Director of Science for Sun Microsystems. His announcement was accompanied by a surprise announcement by Marc Andreessen, Executive Vice President of Netscape, that Netscape would be including Java support in its browsers. In January of 1996, the JavaSoft business group was formed by Sun Microsystems to develop the technology. A web browser is a software package that enables a user to display and interact with documents hosted by web servers. ...
May 23 is the 143rd day of the year in the Gregorian calendar (144th in leap years). ...
1995 was a common year starting on Sunday of the Gregorian calendar. ...
Marc Andreessen (born July 9, 1971) is the chair of Opsware, a software company. ...
Netscape Communications Corporation was the publisher of the Netscape Navigator web browser as well as many other internet and intranet client and server software products. ...
1996 is a leap year starting on Monday of the Gregorian calendar, and was designated the International Year for the Eradication of Poverty. ...
The College Board currently administers an Advanced Placement exam in Computer Science, which tests knowledge in Java and object oriented programming. The exam also tests knowledge on the Marine Biology Simulation Case Study a program written in Java. The exam switched from C++ to Java as its featured programming language in the 2003-2004 school year. The College Board is a non-profit examination board in the USA, comprised of over 4,500 institutions of higher learning. ...
The Advanced Placement Program (also Advanced Placement, AP) is a United States program that offers high school students the opportunity to receive college credit for their work during high school. ...
Wikibooks Wikiversity has more about this subject: School of Computer Science Open Directory Project: Computer Science Collection of Computer Science Bibliographies Belief that title science in computer science is inappropriate Categories: Computer science | Academic disciplines ...
Object-oriented programming (OOP) is a computer programming paradigm in which a software system is modeled as a set of objects that interact with each other. ...
The Marine Biology Simulation Case Study (MBSCS) is a program written in Java for use with the Advanced Placement Computer Science A and AB examinations. ...
2003 is a common year starting on Wednesday of the Gregorian calendar. ...
2004 is a leap year starting on Thursday of the Gregorian calendar. ...
The Schoolyear (also school year or academic year) describes the time(s) a student goes to school, college, university etc. ...
Version history The Java language has undergone several changes since JDK 1.0 as well as numerous additions of packages to the standard library: User:DropDeadGorgias captured this Screenshot of The Java WebStart Application. ...
User:DropDeadGorgias captured this Screenshot of The Java WebStart Application. ...
Java Web Start is framework developed by Sun Microsystems that enables starting Java applications directly from the web using a browser. ...
Graphic representation of the world wide web around Wikipedia The World Wide Web (WWW, or simply Web) is an information space in which the items of interest, referred to as resources, are identified by global identifiers called Uniform Resource Identifiers (URI). ...
Several desktop icons from the Windows operating system A computer icon is a small graphic, usually ranging from 16 pixels by 16 pixels up to 128 pixels by 128 pixels, which represents a file, folder, application or device on a computer operating system. ...
- 1.0 (1996) — Initial release.
- 1.1 (1997) — Major additions, notably inner classes.
- 1.2 (December 4, 1998) — Codename Playground. Major changes were made to the API (where reflection was introduced) and Sun's JVM (which was equipped with a JIT compiler), but these had little impact on the language itself: the only change to the Java language was the addition of the keyword strictfp. This and subsequent releases were rebranded "Java 2", but this had no effect on any software version numbers.
- 1.3 (May 8, 2000) — Codename Kestrel. HotSpot JVM introduced. Minor changes and fixes.
- 1.4 (February 13, 2002) — Codename Merlin. As of 2004, the most widely used version. Added the assert keyword.
- 5.0 (September 29, 2004) — Codename Tiger. (Originally numbered 1.5, which is still used as the internal version number.) Added a number of significant new language features. One in particular, Annotations, has been argued to be modeled on Microsoft's C#, which was itself modeled on earlier versions of Java:
- Generics — Provides compile-time type safety for collections and eliminates the need for most typecasts.
- Autoboxing/unboxing — Automatic conversions between primitive types (such as int) and wrapper types (such as Integer).
- Metadata — also called Annotations, allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities
- Enumerations — the enum keyword creates a typesafe, ordered list of values (such as Day.monday, Day.tuesday, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern).
- Enhanced for loop — the for loop syntax is extended with special syntax for iterating over each member of an array or Collection, using a construct of the form:
for (Widget w: box) { System.out.println(w); } This example iterates over box, assigning each of its items in turn to the variable w, which is then printed to standard output. An inner class is a class nested within another class. ...
December 4 is the 338th day (339th on leap years) of the Gregorian calendar. ...
1998 is a common year starting on Thursday of the Gregorian calendar, and was designated the International Year of the Ocean. ...
See also Just in time for the business technique In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of interpreted programs. ...
Strictfp is a modifier in the Java programming language, which is introduced in the JVM version 1. ...
May 8 is the 128th day of the year in the Gregorian Calendar (129th in leap years). ...
2000 is a leap year starting on Saturday of the Gregorian calendar. ...
February 13 is the 44th day of the year in the Gregorian calendar. ...
2002 is a common year starting on Tuesday of the Gregorian calendar. ...
2004 is a leap year starting on Thursday of the Gregorian calendar. ...
In computer programming, an assertion is a programming language construct that checks whether an expression is true. ...
September 29 is the 272nd day of the year (273rd in leap years). ...
2004 is a leap year starting on Thursday of the Gregorian calendar. ...
Microsoft Corporation, (NASDAQ: MSFT) headquartered in Redmond, Washington, USA, was founded in 1975 by Bill Gates and Paul Allen. ...
C# (pronounced see-sharp) is an object-oriented programming language developed by Microsoft as part of their . ...
In computer science, generics is a technique that allows one value to take different datatypes (so-called polymorphism) as long as certain contracts such as subtypes and signature are kept. ...
This article should be merged with type_conversion. ...
In computer science, an object type (a. ...
In computer science, primitive types, as distinct from composite types - are datatypes provided by a programming language as basic building blocks. ...
In computer science, an object type (a. ...
The integers consist of the positive natural numbers (1, 2, 3, …), their negatives (−1, −2, −3, ...) and the number zero. ...
Metadata is data about data. ...
In computer science, a programming language is type safe when the language does not permit the programmer to treat a value as a type to which it does not belong. ...
In computer science and in computer programming, statements in pseudocode or in a program are normally obeyed one after the other in the order in which they are written (sequential flow of control). ...
Widget is a general-purpose term, or placeholder name, for any unspecified device, including those that have not yet been invented. ...
The standard streams are a set of input and output channels featured in Unix and Unix-like operating systems, and provided by the standard I/O library (stdio. ...
- 6.0 (currently in development, estimated release date 2006) — Codename Mustang. An early development version of the Java SDK version 6.0 (internal version number 1.6) was made available in November 2004. New builds including enhancements and bug fixes are released on a regular basis.
- 7.0 — Codename Dolphin. As of 2005, this is in the early planning stages.[1]
In addition to the language changes, much more dramatic changes have been made to the Java class library over the years, which has grown from a few hundred classes in version 1.0 to over three thousand in Java 5.0. Entire new APIs, such as Swing and Java2D, have been introduced, and many of the original 1.0 classes and methods have been deprecated. 2005 is a common year starting on Saturday of the Gregorian calendar. ...
API redirects here. ...
Swing is a GUI toolkit for Java. ...
In computing, Java2D is an API for drawing two-dimensional graphics using the Java programming language. ...
Language characteristics There were five primary goals in the creation of the Java language: - It should use the object-oriented programming methodology.
- It should allow the same program to be executed on multiple computer platforms.
- It should contain built-in support for using computer networks.
- It should be designed to execute code from remote sources securely.
- It should be easy to use and borrow the good parts of older Object Oriented languages like C++.
Especially for the latter part, however sometimes extensions are required, like Corba or OSGi. In computer science, object-oriented programming, OOP for short, is a computer programming paradigm that emphasizes the following concepts: Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program. ...
A computer network is a system for communication among two or more computers. ...
In computing, Common Object Request Broker Architecture (CORBA), is a standard for software componentry. ...
The OSGi Alliance is an open standards organization formed by Sun Microsystems, IBM, Ericsson and others in March 1999 (after it was first called the Connected Alliance). ...
Object orientation The first characteristic, object orientation ("OO"), refers to a method of programming and language design. Although there are many interpretations of OO, one primary distinguishing idea is to design software so that the various types of data it manipulates are combined together with their relevant operations. Thus, data and code are combined into entities called objects. An object can be thought of as a self-contained bundle of behavior (code) and state (data). The principle is to separate the things that change from the things that stay the same; often, a change to some data structure requires a corresponding change to the code that operates on that data, or vice versa. This separation into coherent objects provides a more stable foundation for a software system's design. The intent is to make large software projects easier to manage, thus improving quality and reducing the number of failed projects. In computer science, object-oriented programming, OOP for short, is a computer programming paradigm that emphasizes the following concepts: Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program. ...
In strictly mathematical branches of computer science the term object is used in a purely mathematical sense to refer to any thing. While this interpretation is useful in the discussion of abstract theory, it is not concrete enough to serve as a primitive in the discussion of more concrete branches...
Platform independence The second characteristic, platform independence, means that programs written in the Java language must run similarly on diverse hardware. One should be able to write a program once and run it anywhere. Download high resolution version (726x686, 81 KB)Captured from 5. ...
Download high resolution version (726x686, 81 KB)Captured from 5. ...
Look and feel refers to design aspects of a graphical user interface - in terms of both colours, shapes, layout, typefaces, etc (the look); and, the behaviour of dynamic elements such as buttons, boxes, and menus (the feel). It is used in reference to both software and websites. ...
An example of graphical user interface in Mac OS X A graphical user interface (or GUI, pronounced gooey) is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text. ...
A computer program (often simply called a program) is an example of computer software that prescribes the actions (computations) that are to be carried out by a computer. ...
This is achieved by most compilers by compiling the Java language code "halfway" to bytecode—simplified machine instructions specific to the Java platform. The code is then run on a virtual machine (VM), a program written in native code on the host hardware that translates generic Java bytecode into usable code on the hardware. Further, standardized libraries are provided to allow access to features of the host machines (such as graphics, threading and networking) in unified ways. Note that, although there's an explicit compiling stage, at some point, the Java bytecode is interpreted or converted to native machine instructions by the JIT compiler. A diagram of the operation of an ideal compiler. ...
Byte-code is a sort of intermediate code that is more abstract than machine code. ...
A Java virtual machine or JVM is a virtual machine that runs Java byte code. ...
Byte-code is a sort of intermediate code that is more abstract than machine code. ...
Many programming languages, operating systems, and other software development environments support what are called threads of execution. ...
A computer network is a system for communication among two or more computers. ...
Byte-code is a sort of intermediate code that is more abstract than machine code. ...
An interpreter is a computer program that executes other programs. ...
See also Just in time for the business technique In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of interpreted programs. ...
There are also implementations of Java compilers that compile to native object code, such as GCJ, removing the intermediate bytecode stage, but the output of these compilers can only be run on a single architecture. In computer science, object file or object code is an intermediate representation of code generated by a compiler after it processes a source code file. ...
The GNU Compiler for Java (GCJ) is a compiler for the Java programming language that is part of the GNU Compiler Collection (GCC). ...
Architecture (in Greek αÏÏή = first and ÏÎÏνη = craftsmanship) is the art and science of designing buildings and structures. ...
Sun's license for Java insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support the RMI and JNI interfaces and had added platform-specific features of their own. Sun sued and won both damages (some $20 million dollars) and a court order enforcing the terms of the license from Sun. In response, Microsoft no longer ships Java with Windows, and in recent versions of Windows, Internet Explorer cannot support Java applets without a third-party plugin. However, Sun and others have made available Java run-time systems at no cost for those and other versions of Windows. Microsoft Corporation, (NASDAQ: MSFT) headquartered in Redmond, Washington, USA, was founded in 1975 by Bill Gates and Paul Allen. ...
Internet Explorer, abbreviated IE or MSIE, is a proprietary web browser made by Microsoft and currently available as part of Microsoft Windows. ...
The first implementations of the language used an interpreted virtual machine to achieve portability. These implementations produced programs that ran more slowly than programs written in C or C++, so the language suffered a reputation for producing slow programs. More recent implementations of the Java VM produce programs that run much faster than before, using multiple techniques. In computer science, porting is the adaptation of a piece of software so that it will function in a different computing environment to that for which it was originally written. ...
The first technique is to simply compile directly into native code like a more traditional compiler, skipping bytecodes entirely. This achieves great performance, but at the expense of portability. Another technique, known as just-in-time compilation (JIT), compiles the Java bytecodes into native code at the time that the program is run. More sophisticated VMs use dynamic recompilation, in which the VM can analyze the behavior of the running program and selectively recompile and optimize critical parts of the program. Both of these techniques allow the program to take advantage of the speed of native code without losing portability. See also Just in time for the business technique In computing, just-in-time compilation (JIT), also known as dynamic translation, is a technique for improving the performance of interpreted programs. ...
In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. ...
Portability is a technically difficult goal to achieve, and Java's success at that goal has been mixed. Although it is indeed possible to write programs for the Java platform that behave consistently across many host platforms, the large number of available platforms with small errors or inconsistencies led some to parody Sun's "Write once, run anywhere" slogan as "Write once, debug everywhere". In computer science, porting is the adaptation of a piece of software so that it will function in a different computing environment to that for which it was originally written. ...
Write once, run anywhere (WORA) is a slogan created by Sun Microsystems to illustrate the cross-platform benefits of the Java language. ...
Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware thus making it behave as expected. ...
Platform-independent Java is, however, very successful with server-side applications, such as web services, servlets, or Enterprise Java Beans - and meanwhile also with Embedded systems based on OSGi, using Embedded Java environments. A web service is a collection of protocols and standards used for exchanging data between applications. ...
The Java Servlet API allows a software developer to add dynamic content to a web server using the Java platform. ...
The Enterprise Java Beans specification is one of the several Java APIs in the Java 2 Platform, Enterprise Edition. ...
An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. ...
The OSGi Alliance is an open standards organization formed by Sun Microsystems, IBM, Ericsson and others in March 1999 (after it was first called the Connected Alliance). ...
When talking about J2ME Java specifications, like the CDC/CLDC device capability sets and the MIDP profile definition, then this means talking about Embedded Java needs, which additionally do require very specialized, optimized JVMs - and means to update the installed software and services, like OSGi. ...
Automatic garbage collection One argument against languages such as C++ is the burden of having to peform manual memory management. In C++, memory is allocated by the programmer to create an object, then deallocated to delete the object. If a programmer forgets or is unsure when to deallocate, this can lead to a memory leak, where a program consumes more and more memory without cleaning up after itself. Even worse, if a region of memory is deallocated twice, the program can become unstable and will likely crash. C++ (pronounced see plus plus) is a general-purpose computer programming language. ...
Memory management is the act of managing computer memory. ...
Memory leaks are often thought of as failures to release unused memory by a computer program. ...
In Java, this potential problem is avoided by automatic garbage collection. Objects are created and placed at an address on the heap. The program or other objects can reference an object by holding a reference to its address on the heap. When no references to an object remain, the Java garbage collector automatically deletes the object, freeing memory and preventing a memory leak. Memory leaks, however, can still occur if a programmer's code holds a reference to an object that is no longer needed—in other words, they can still occur but at higher conceptual levels. But on the whole, Java's automatic garbage collection makes creation and deletion of objects in Java simpler and potentially safer than in C++. In computing, garbage collection (also known as GC) is a form of automatic memory management. ...
In computer science a heap is a specialized tree-based data structure. ...
Memory leaks are often thought of as failures to release unused memory by a computer program. ...
It should be noted, however, that programmers have access to garbage collection in C++ via smart pointers, such as the ones provided by the Standard Template Library and Boost's library. However, smart pointers have significant overhead in both speed and memory consumption, and fail when confronted by cyclical object graphs. Aside from that, common smart pointer implementations do not support polymorphic assignments combined with typesafety, as they are template-based. A smart pointer is an abstract data type that simulates a pointer while providing additional features, such as automatic garbage collection or bounds checking. ...
The Standard Template Library (STL) is a software library. ...
Boost is a collection of libraries that extend the functionality of C++. The libraries are licensed under the Boost Software License, a very open license designed to allow Boost to be used with any project. ...
Interfaces and classes One thing that Java accommodates is creating an interface which classes can then implement. For example, an interface can be created like this: public interface Deleteable { void delete(); } This code says that any class that implements the interface Deleteable will have a method named delete(). The exact implementation and function of the method are determined by each class. There are many uses for this concept; for example, the following could be a class: public class Fred implements Deleteable { //Must include the delete () method to satisfy the Deleteable interface public void delete() { //code implementation goes here } //Can also include other methods public void doOtherStuff() { } } Then, in another class, the following is legal code: public void deleteAll (Deleteable [] list) { for (int i = 0; i < list.length; i++) { list[i].delete(); } } because any objects in the array are guaranteed to have the delete() method. The Deleteable array may contain references to Fred objects, and the deleteAll() method needn't differentiate between the Fred objects and other Deleteable objects. The purpose is to separate the details of the implementation of the interface from the code that uses the interface. For example, the Collection interface contains methods that any collection of objects might want to implement, like retrieving or storing objects, but a specific collection could be a resizeable array, a linked list, or any of a number of different implementations. In computer science, a linked list is one of the fundamental data structures used in computer programming. ...
Methods defined by an interface are implicitly public and abstract. Fields defined by an interface are implicitly public, static, and final. The feature is a result of compromise. The designers of Java decided not to support multiple inheritance because of the difficulty of C++'s multiple inheritance, but interfaces give some of the benefit of multiple inheritance with less complexity. Some programming languages allow multiple inheritance, in which a class can inherit behaviors and features from more than one superclass. ...
C++ (pronounced see plus plus) is a general-purpose computer programming language. ...
Java interfaces behave much like the concept of the Objective-C protocol. Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...
Input/Output Versions of Java prior to 1.4 only supported stream-based blocking I/O. This required a thread per stream being handled, as no other processing could take place while the active thread blocked waiting for input or output. This was a major scalability and performance issue for anyone needing to implement any Java network service. Since the introduction of NIO (New IO) in Java 1.4, this scalability problem has been rectified by the introduction of a non-blocking I/O framework (though there are a number of open issues in the NIO API as implemented by Sun). Many programming languages, operating systems, and other software development environments support what are called threads of execution. ...
API redirects here. ...
Sun Microsystems is a computer, semiconductor and software manufacturer headquartered in Santa Clara, California, in Silicon Valley. ...
The non-blocking IO framework, though considerably more complex than the original blocking IO framework, allows any number of "channels" to be handled by a single thread. The framework is based on the Reactor Pattern. A software behavioral design pattern which allows for the single-threaded demultiplexing of events. ...
APIs Sun has defined three platforms targeting different application environments and segmented many of its APIs so that they belong to one of the platforms. The platforms are: API with 3 clients, using the Unified Modeling Language notation An application programming interface (API) is a set of definitions of the ways one piece of computer software communicates with another. ...
The classes in the Java APIs are organized into separate groups called packages. Each package contains a set of related interfaces, classes and exceptions. Refer to the separate platforms for a description of the packages available. Java 2 Platform, Micro Edition, or J2ME, is a collection of Java APIs targeting embedded consumer products such as PDAs, cell phones and other consumer appliances. ...
Java 2 Platform, Standard Edition or J2SE is a collection of Java Application Programming Interfaces useful to any Java platform programs. ...
Java 2 Platform, Enterprise Edition or J2EE is a programming platform for developing and running distributed multi-tier architecture applications, based largely on modular components running on an application server. ...
In object-oriented programming, a class consists of a collection of types of encapsulated instance variables and types of methods, possibly with implementation of those types together with a constructor function that can be used to create objects of the class. ...
In the Java programming language, a package is a group of related classes and interfaces. ...
Andrew sucks ...
Exception handling is a programming language construct or computer hardware mechanism designed to handle runtime errors or other problems (exceptions) which occur during the execution of a computer program. ...
The set of APIs is controlled by Sun Microsystems in cooperation with others through its Java Community Process program. Companies or individuals participating in this process can influence the design and development of the APIs. This process has been a subject of controversy. The Java Community Process or JCP, established in 1995, is a formalized process which allows interested parties to be involved in the definition of future versions and features of the Java platform. ...
In 2004, IBM and BEA publicly supported the notion of creating an official open source implementation of Java but as of 2005, Sun Microsystems has refused.
Hello World example For an explanation of the tradition of programming "Hello World", see Hello world program. A hello world program is a computer program that prints out Hello, world! on a display device. ...
// The source file must be named HelloWorld.java public class HelloWorld { // The main method is passed an array of command-line parameters public static void main(String[] args) { System.out.println("Hello world!"); } } Miscellaneous The language distinguishes between bytes and characters. Characters are stored internally using UCS-2 (though as of Java 5, the language also supports using UTF-16, with surrogates), and Java program source may contain any Unicode character. Although the language has special syntax for them, arrays and strings are not primitive types: they are reference types that can be assigned to java.lang.Object. This article refers to the unit of binary information. ...
The Universal Character Set is a character encoding that is defined by the international standard ISO/IEC 10646. ...
In computing, UTF-16 is a 16-bit Unicode Transformation Format, a character encoding form that provides a way to represent a series of abstract characters from Unicode and ISO/IEC 10646 as a series of 16-bit words suitable for storage or transmission via data networks. ...
In computing, Unicode is the international standard whose goal is to provide the means to encode the text of every document people want to store in computers. ...
In computer science, primitive types, as distinct from composite types - are datatypes provided by a programming language as basic building blocks. ...
Criticism Most consider Java technology to deliver reasonably well on all these promises. The language is not, however, without drawbacks.
Language Issues Java code is often more verbose than code written in other languages due to its frequent type declarations. The division between primitive types and objects is disliked by programmers familiar with languages such as Smalltalk and Ruby where everything is an object. Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...
Ruby is an object-oriented programming language. ...
Non-object-oriented programming has to be simulated using static methods. This is more awkward than in languages that directly support it. Some programmers miss multiple inheritance, which is available in many other languages. Some programming languages allow multiple inheritance, in which a class can inherit behaviors and features from more than one superclass. ...
Versions of Java before 5.0 required many explicit casts to be written due to the lack of generic types. Java's generic types can be awkward to use because they are compile-time only constructs; generic type information is unavailable at runtime.
Library issues The look and feel of GUI applications written in Java is often different from native applications. Some parts of the standard Java libraries are considered excessively complicated, or badly designed, but cannot be changed due to the need for backward compatibility.
Performance issues Java was designed with emphasis on security and portability, so low-level features like hardware-specific data types and pointers to arbitrary memory were deliberately omitted. These features must be accessed by calling C code using the Java Native Interface (JNI), which is inconvenient and can be a performance bottleneck. The Java Native Interface (JNI) is a programming framework that allows Java code running in the Java virtual machine (VM) to call and be called by native applications (programs specific to a hardware and operating system platform) and libraries written in other languages, such as C, C++ and assembly. ...
Java array access can be slower than other languages due to range-checking. The performance of Java programs can be difficult to predict due to dynamic compilation and garbage collection. This effect is magnified in programs which run only a short time. Additionally, Java programs often use more memory than programs written in lower-level languages. Most major companies still use other languages for off the shelf software, as Java is typically considered too slow for major desktop applications. Many argue that this is a misconception based on old benchmarks and information produced by competitors. Whether or not Java is significantly slower than other languages is still hotly debated.
Java Runtime Environment The Java Runtime Environment or JRE is the software required to run any application deployed on the Java platform. End-users commonly use a JRE in software packages and plug-ins. Sun also distributes a superset of the JRE called the Java 2 SDK (more commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, and debugger. Application software is a subclass of computer software that employs the capabilities of a computer directly to a task that the user wishes to perform. ...
In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run. ...
Economics and commerce define an end-user as the person who uses a product. ...
A software package is a special method for the distribution and installation of software on computer systems. ...
A plugin (or plug-in) is a computer program that can, or must, interact with another program to provide a certain, usually very specific, function. ...
A Software Development Kit, or SDK for short, is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, operating system or similar. ...
A diagram of the operation of an ideal compiler. ...
A debugger is a computer program that is used to debug (and sometimes test or optimize) other programs. ...
- Components of the JRE
- Java libraries - which are the compiled byte codes of source developed by the JRE implementor to support application development in Java. Examples of these libraries are:
- The core libraries, which include:
- The integration libraries, which allow the application writer to communicate with external systems. These libraries include:
- User Interface libraries, which include:
- The (heavyweight, or native) Abstract Windowing Toolkit (AWT), which provides GUI components, the means for laying out those components and the means for handling events from those components
- The (lightweight) Swing libraries, which are built on AWT but provide (non-native) implementations of the AWT widgetry
- APIs for audio capture, processing, and playback
- A platform dependent implementation of Java virtual machine (JVM) which is the means by which the byte codes of the Java libraries and third party applications are executed
- Plugins, which enable applets to be run in web browsers
- Java Web Start, which allows Java applications to be efficiently distributed to end users across the Internet
- Licensing and documentation
In computer science, a library is a collection of subprograms used to develop software. ...
Byte-code is a sort of intermediate code that is more abstract than machine code. ...
A binary tree, a simple type of branching linked data structure. ...
In computer science, a list is an abstract concept denoting an ordered collection of fixed-length entities. ...
In computing, an associative array, also known as a map, lookup table, or dictionary, is an abstract data type very closely related to the mathematical concept of a function with a finite domain. ...
Tree structure A tree structure is a way of representing the hierarchical nature of a structure in a graphical form. ...
In computer science, the set is a collection of certain values without any particular order. ...
The Extensible Markup Language (XML) is a W3C-recommended general-purpose markup language for creating special-purpose markup languages. ...
In grammar and linguistics, parsing is the process by which a person makes sense of a sentence, usually by breaking it down into words or phrases. ...
Internationalization and localization are means of adapting products such as publications or software for non-native environments, especially other nations and cultures. ...
Java Database Connectivity, or JDBC, is an API for the Java programming language that defines how a client may access a database. ...
API redirects here. ...
The Java Naming and Directory Interface (JNDI) is an API for directory services. ...
The Java Remote Method Invocation API, or RMI, is a Java application programming interface for performing remote procedural calls. ...
In computing, Common Object Request Broker Architecture (CORBA), is a standard for software componentry. ...
The user interface is the part of a system exposed to users. ...
The term native mode is used in computing as follows. ...
The Abstract Windowing Toolkit (AWT) is Javas platform_independent windowing, graphics, and user_interface widget toolkit. ...
An example of graphical user interface in Mac OS X A graphical user interface (or GUI, pronounced gooey) is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text. ...
Swing is a GUI toolkit for Java. ...
A Java virtual machine or JVM is a virtual machine that runs Java byte code. ...
A Java applet is an applet written in the Java programming language. ...
Java Web Start is framework developed by Sun Microsystems that enables starting Java applications directly from the web using a browser. ...
Economics and commerce define an end-user as the person who uses a product. ...
Extensions and related architectures Extensions and architectures closely tied to the Java programming language include: This page talks about the programming concept; for other meanings, see extension. ...
- 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)
- JAIN (Java API for Integrated Networks)
- JDMK (Java Dynamic Management Kit)
- Jini (a network architecture for the construction of distributed systems)
- Jiro
- JXTA (open source-based peer-to-peer infrastructure)
- Java Card
- JavaSpaces
- JMI (Java Metadata Interface)
- JMX (Java Management Extensions)
- JSP (JavaServer Pages)
- JSF (JavaServer Faces)
- JNI (Java Native Interface)
- J3D (A high level API for 3D graphics programming)
- JOGL (A low level API for 3D graphics programming, using OpenGL)
- OSGi (Dynamic Service Management and Remote Maintenance)
- SuperWaba (JavaVMs for handhelds)
- MARF (Modular Audio Recognition Framework)
Java 2 Platform, Enterprise Edition or J2EE is a Standard (albeit with no ISO or ECMA standard) for developing distributed Multi-tier architecture applications, based on modular components running on an application server. ...
Java 2 Platform, Micro Edition, or J2ME, is a collection of Java APIs targeting embedded consumer products such as PDAs, cell phones and other consumer appliances. ...
The Java Media Framework API (JMF) enables audio, video and other time-based media to be added to applications and applets built on Java technology. ...
The Java Naming and Directory Interface (JNDI) is an API for directory services. ...
JSML is an acronym for the Java Speech API Markup Language Specification. ...
Java Database Connectivity, or JDBC, is an API for the Java programming language that defines how a client may access a database. ...
Java Data Objects, or JDO, is a specification of Java object persistence. ...
The hand with a wheel on the palm symbolizes the Jain Vow of Ahinsa, meaning non-injury and nonviolence. ...
The Java Dynamic Management Kit or JDMK is a Java technology that provides a Java API and a collection of software tools for developing and designing JMX based applications. ...
JINI™ is a pseudo-acronym: Jini Is Not Initials that refers to a network architecture for the construction of distributed systems where scale, rate of change and complexity of interactions within and between networks are extremely important and cannot be satisfactorily addressed by existing technologies. ...
This article or section should be merged with Distributed computing In computer science, a distributed system is an application that consists of components running on different computers concurrently. ...
In computer networking, JXTA (Juxtapose) is Sun Microsystems opensource-based peer-to-peer infrastructure. ...
Java Card refers to a technology that allows small Java-based applications (applets) to be run securely on smart cards and similar devices. ...
JavaSpaces is a service specification. ...
Java Metadata Interface or JMI is a platform neutral specification that defines the creation, access, storage, lookup and exchange of metadata. ...
Java Management Extensions or JMX is a Java technology that supplies tools for managing and monitoring applications, system objects, devices (e. ...
JSP or JavaServer Pages, known to some as the Java Scripting Preprocessor, is a Java technology that allows developers to dynamically generate HTML, XML or some other type of web page. ...
JavaServer Faces or JSF simplify the development of user interfaces for J2EE applications using JavaServer Pages. ...
Wikipedia does not yet have an article with this exact name. ...
JOGL or Java OpenGL is an implementation of OpenGL in Java. ...
OpenGL (Open Graphics Library) is a specification defining a cross-language cross-platform API for writing applications that produce 3D computer graphics (and 2D computer graphics as well). ...
The OSGi Alliance is an open standards organization formed by Sun Microsystems, IBM, Ericsson and others in March 1999 (after it was first called the Connected Alliance). ...
SuperWaba is an exceptionally portable subset of Java that has been optimised for use on devices with small screens. ...
Modular Audio Recognition Framework (MARF) is a research platform and a collection of voice/sound/speech/text and natural language processing (NLP) algorithms written in Java and arranged into a very modular and extensible framework facilitating addition of new algorithms. ...
- Compilers and JVMs
- GCJ, a Java compiler that is part of GCC, the GNU Compiler Collection
- Jikes, a Java compiler originally developed by IBM
- GNU Classpath, GNU's non-compatible replacement for Sun's implementation of the Java class libraries
- Kaffe, a clean room implementation, non-compatible of the Java virtual machine with associated class libraries
- SableVM, a Java Virtual Machine meant to be robust, efficient and portable
- IKVM
- SuperWaba, a Java-subset virtual machine, with a minimalistic design suitable for PDA programming
- Groovy, a language similar to Java, that also compiles code that runs on the Java virtual machine
- IDEs
- Developer tools
- The Jakarta Project produces free software in Java, especially tools for building web applications
- JUnit, a widely used framework for creating automated unit tests
- JSwat, a standalone, graphical Java debugger
- Spring Framework, a framework for developing Java web applications
- Apache Ant, a Java written software tool for automating software build processes
- Struts, a framework for developing Java web applications
- Javassist
- Byte Code Engineering Library
- JMangler
- Geronimo, a compatible implementation of J2EE being created within the Apache Software Foundation
- Jarhoo helps [2] resolve classpath issues by providing details of Jar files containing a class causing NoClassDefFoundError or ClassNotFoundException problems
- InterProlog ( http://www.declarativa.com/interprolog/ ) A programming library bridge between Java and Prolog, implementing bi-direccional predicate/method calling between both languages; Java objects are mapped into Prolog terms and vice-versa through serialization. Allows the development of GUIs and other functionality in Java while leaving logic processing in the Prolog layer. Supports XSB and SWI Prolog.
Free software, as defined by Richard Stallman and his Free Software Foundation, can be used, copied, studied, modified and redistributed. ...
The GNU Compiler for Java (GCJ) is a compiler for the Java programming language that is part of the GNU Compiler Collection (GCC). ...
The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ...
In computing, a Java compiler is a computer program that translates programs in Java to Java byte-code. ...
International Business Machines Corporation (IBM, or colloquially, Big Blue) (NYSE: IBM) (incorporated June 15, 1911, in operation since 1888) is headquartered in Armonk, New York, USA. The company manufactures and sells computer hardware, software, and services. ...
GNU Classpath is an attempt to create a free implementation of the standard class library for Java. ...
Kaffe is a clean room design of the Java virtual machine. ...
SableVM is a clean room implementation of Java bytecode interpreter implementing the Java virtual machine specification, second edition. ...
IKVM.NET is an implementation of Java for Mono and the Microsoft . ...
SuperWaba is an exceptionally portable subset of Java that has been optimised for use on devices with small screens. ...
Palm IIIxe PDA Personal digital assistants (PDAs or palmtops) are handheld devices that were originally designed as personal organizers, but became much more versatile over the years. ...
In computing, Groovy is an object-oriented programming language designed for the Java platform as an alternative to Java programming language with features from Python, Ruby and Smalltalk. ...
A Java virtual machine or JVM is a virtual machine that runs Java byte code. ...
An integrated development environment (IDE) (also known as an integrated design environment and integrated debugging environment) is computer software to help computer programmers develop software. ...
Free software, as defined by Richard Stallman and his Free Software Foundation, can be used, copied, studied, modified and redistributed. ...
Categories: Computer stubs | Computer programming tools ...
Eclipse is an open source platform-independent software framework for delivering what the project calls rich-client applications (as opposed to thin clients, this means the clients perform heavy-duty work on the host running the application). ...
jEdit logo jEdit is a text editor for programmers available under the GNU General Public License. ...
BlueJ running on Mac OS X BlueJ is an interactive Java development environment (not traditional integrated development environment) in which the graphical representation of classes and their relationships and the users are can create objects of any class graphically. ...
CodeGuide is a commercial Java IDE by the company Omnicore. ...
IntelliJ IDEA is a commercial Java IDE by the company JetBrains. ...
JBuilder is a Java IDE from Borland. ...
JCreator is a powerful IDE for Java technologies. ...
freeware doesnt exist ...
Commercial Java IDE by IBM for use with their Websphere application server. ...
BEA WebLogic is a J2EE application server and also an HTTP web server by BEA Systems of San Jose, California, for Unix, Linux, Microsoft Windows, and other platforms. ...
JDeveloper is a Java IDE from Oracle. ...
The Jakarta Project creates and maintains open source software for the Java platform. ...
In software engineering, a web application is an application delivered to users from a web server over a network such as the World Wide Web or an intranet. ...
In Egyptian mythology, Junit was a minor goddess. ...
In computer programming, a unit test is a method of testing the correctness of a particular module of source code. ...
JSwat is a standalone, graphical Java debugger front-end, written to use the Java Platform Debugger Architecture. ...
Ant is a software tool for automating software build processes. ...
Jakarta Struts is an open-source framework for developing J2EE web applications. ...
The Apache Software Foundation (ASF) is a non-profit corporation to support Apache software projects, including the Apache webserver. ...
Prolog is a logic programming language. ...
An example of graphical user interface in Mac OS X A graphical user interface (or GUI, pronounced gooey) is a method of interacting with a computer through a metaphor of direct manipulation of graphical images and widgets in addition to text. ...
See also A Java virtual machine or JVM is a virtual machine that runs Java byte code. ...
This is a comparison of the Java programming language to the C++ programming language. ...
This Optimization of Java is a collection of optimization techniques used in the implementation of the Java programming language. ...
The Java Platform Debugger Architecture is a collection of APIs to debug Java code. ...
This is a list of articles which contain programming examples with source code written in the programming language Java: Abstraction (computer science) Adapter pattern Comment Delegation pattern Encapsulation Hello world program#Java McCarthy 91 function Fhourstones (an integer benchmark) Polymorphism in object-oriented programming Visitor pattern ...
A Java User Group (JUG) is a community of users of the Java programming language. ...
Artefaktur Component Development Kit is a platform independent library for generating distributed server-based components and applications. ...
The Java XML APIs from Sun consist of the following separate programming APIs: Java API for XML Processing, or JAXP. Java API for XML Messaging, or JAXM. Java API for XML-based RPC, or JAX-RPC. Java API for XML Registries, or JAXR. Java Architecture for XML Binding, or JAXB...
The Java Servlet API allows a software developer to add dynamic content to a web server using the Java platform. ...
Java 2 Platform, Standard Edition or J2SE is a collection of Java Application Programming Interfaces useful to any Java platform programs. ...
This is a list of scripting languages available for the Java platform: Groovy JavaScript (via Rhino) Jython Jelly BeanShell JRuby Tcl/Java Sleep ObjectScript Pnuts Judoscript the Bean Scripting Framework (BSF) ...
Javapedia, a project openly inspired by Wikipedia. ...
JavaOS is an operating system with a Java virtual machine as a fundamental component. ...
The following is a list of Java keywords. ...
The title given to this article is incorrect due to technical limitations. ...
Microsoft Visual J++ is a compiler and an IDE for, a Java-based programming language, formerly incorporated into Microsoft Visual Studio. ...
Modular Audio Recognition Framework (MARF) is a research platform and a collection of voice/sound/speech/text and natural language processing (NLP) algorithms written in Java and arranged into a very modular and extensible framework facilitating addition of new algorithms. ...
References - Jon Byous, Java technology: The early years. Sun Developer Network, no date [ca. 1998]. Retrieved April 22, 2005.
- James Gosling, A brief history of the Green project. Java.net, no date [ca. Q1/1998]. Retrieved April 22, 2005.
- James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java language specification, second edition. Addison-Wesley, 2000. ISBN 0201310082.
- James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java language specification, third edition. Addison-Wesley, 2005. ISBN 0321246780.
- Tim Lindholm and Frank Yellin. The Java Virtual Machine specification, second edition. Addison-Wesley, 1999. ISBN 0201432943.
April 22 is the 112th day of the year in the Gregorian calendar (113th in leap years). ...
2005 is a common year starting on Saturday of the Gregorian calendar and is the current year. ...
James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
April 22 is the 112th day of the year in the Gregorian calendar (113th in leap years). ...
2005 is a common year starting on Saturday of the Gregorian calendar and is the current year. ...
James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
William N. Joy (born 1954), commonly known as Bill Joy, co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003. ...
Guy Lewis Steele, Jr. ...
2000 is a leap year starting on Saturday of the Gregorian calendar. ...
James Gosling (born May 19, 1956 near Calgary, Alberta, Canada) is a famous software developer. ...
William N. Joy (born 1954), commonly known as Bill Joy, co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003. ...
Guy Lewis Steele, Jr. ...
2005 is a common year starting on Saturday of the Gregorian calendar and is the current year. ...
1999 is a common year starting on Friday of the Common Era, and was designated the International Year of Older Persons by the United Nations. ...
External links File links The following pages link to this file: Amphibian Animal Abstract algebra Ada programming language Applied mathematics Algebra A Plus Cuisine of the United States Arthropod Active Server Pages Biology Bird Biochemistry Bicycle Bubble tea Botany Battery (electricity) Cell (biology) Bear Bubble and squeak Bash Bat Chordate Chess Cryptography...
Sun Alternatives - Blackdown Java, includes Mozilla plug-in
Mozilla is a computer term that has had many different uses, though all of them have been related to Netscape Communications Corporation and its related application software. ...
Frameworks - OSGi: Dynamic Service Management
General A newsgroup is a repository, usually within the Usenet system, for messages posted from many users at different locations. ...
Historical Criticism This article is about Paul Graham, the computer programmer. ...
2001 is a common year starting on Monday of the Gregorian calendar. ...
Screenshot of Salon. ...
January 8 is the 8th day of the year in the Gregorian Calendar. ...
2001 is a common year starting on Monday of the Gregorian calendar. ...
Jamie W. Zawinski (born 1970 in Pittsburgh, Pennsylvania), commonly known as jwz, is a computer programmer, responsible for significant contributions to the free software projects Mozilla and XEmacs, as well as early versions of the proprietary Netscape Navigator web browser. ...
Richard Matthew Stallman, a. ...
Portable Document Format (PDF) is a file format developed by Adobe Systems for representing documents in a manner that is independent of the original application software, hardware, and operating system used to create those documents. ...
Third-party software Java portals, magazines and content sites - Esus.com A site containing thousands of categorized links and Q&A's
- JExamples.com A site to find examples of Java API's
- TheServerSide.com A popular Java J2EE portal
- Javalobby A popular forum for Java discussions
- Java.Net A site for Java articles and upcoming projects
- OnJava.com An oreilly site for Java with many good Java articles
- IndicThreads.com An upcoming portal for Java and J2EE
- JavaPro magazine A popular java magazine
- Java Developer's Journal Online edition of a popular java magazine
- JavaWorld magazine A popular java magazine
- Java KB Offers Java discussions, news, articles, and an open source project directory.
- JavaSight.com Java news & Books.
- JavaRSS.com A Java portal of Java websites rich in Java & J2EE News, Articles, Blogs, Groups and Forums.
- Java Game Development Daily news and articles on Java game development
- JavaToolbox List of the available development tools and libraries for Java/J2EE
| Major programming languages (more) (edit) | | Industrial: ABAP | Ada | AWK | Assembly | C | C++ | C# | COBOL | Delphi | Erlang | Fortran | Java | JavaScript | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | SAS | sh | Visual Basic | VB.NET The list of programming langauges is comprised of all notable programming languages in existence, currently or since the dawn of computing. ...
ABAP (Advanced Business Application Programming) is a programming language created by the German software company SAP. It is currently positioned as the language for programming SAPs Web Application Server, part of its NetWeaver platform for building business applications. ...
Ada is a structured, statically typed programming language designed by Jean Ichbiah of CII Honeywell Bull in the 1970s. ...
AWK is a general purpose computer language that is designed for processing text based data, either in files or data streams. ...
Assembly language or simply assembly is a human-readable notation for the machine language that a specific computer architecture uses. ...
The C Programming Language, Brian Kernighan and Dennis Ritchie, the original edition that served for many years as an informal specification of the language The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating...
C++ (pronounced see plus plus) is a general-purpose computer programming language. ...
C# (pronounced see-sharp) is an object-oriented programming language developed by Microsoft as part of their . ...
COBOL is a third-generation programming language. ...
Delphi is a programming language and software development environment. ...
Erlang is a general-purpose concurrent programming language and runtime system. ...
Fortran (also FORTRAN) is a statically typed, compiled programming language originally developed in the 1950s and still heavily used for scientific computing and numerical computation half a century later. ...
JavaScript, in its more modern form, is an object-based scripting programming language based on the concept of prototypes. ...
Lisp is a functional programming language family with a long history. ...
Objective-C, often referred to as ObjC or more seldomly as Objective C or Obj-C, is an object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard, and is the primary language...
Programming Republic of Perl logo Perl, also Practical Extraction and Report Language (a backronym, see below), is an interpreted procedural programming language designed by Larry Wall. ...
PHP logo PHP is a popular open-source programming language used primarily for developing server-side applications and dynamic web content, and more recently, other software. ...
PL/SQL (Procedural Language/Structured Query Language) is Oracle Corporations proprietary server-based extension to the SQL database language, and emulates the Ada programming language. ...
Python is an interpreted, interactive programming language created by Guido van Rossum in 1990. ...
Overview The SAS System is an integrated system of software products (provided by the SAS Institute) that enables the programmer to perform: data entry, retrieval, and management report writing and graphics statistical and mathematical analysis business planning, forecasting, and decision support operations research and project management quality improvement applications development. ...
The Bourne shell, or sh, was the default Unix shell of Unix Version 7, and replaced the Thompson shell, whose executable file had the same name, sh. ...
Visual Basic (VB) is an event driven programming language and associated development environment created by Microsoft. ...
Visual Basic . ...
| Academic: Eiffel | Haskell | Logo | ML | Pascal | Prolog | Scheme | Smalltalk Eiffel is an object-oriented programming language which emphasizes the production of robust software. ...
Haskell is a standardized functional programming language with non-strict semantics, named after the logician Haskell Curry. ...
The Logo programming language is an adaptation by Wally Feurzeig and Seymour Papert of the Lisp programming language that is easier to read. ...
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at Edinburgh University, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of which ML...
Pascal is one of the landmark computer programming languages on which generations of students cut their teeth and variants of which are still widely used today. ...
Prolog is a logic programming language. ...
Scheme is a functional programming language and a dialect of Lisp. ...
Smalltalk is a dynamically typed object oriented programming language designed at Xerox PARC by Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg, and others during the 1970s. ...
| | Historical: ALGOL | APL | BASIC | Clipper | MUMPS | PL/I | PowerBuilder | Simula ALGOL (short for ALGOrithmic Language) is a programming language originally developed in the mid 1950s which became the de facto standard way to report algorithms in print for almost the next 30 years. ...
APL (for A Programming Language, or sometimes Array Processing Language) is an array programming language invented in 1962 by Kenneth E. Iverson while at Harvard University. ...
BASIC is a family of high-level programming languages. ...
Clipper is a computer programming language that is used to create software programs that originally operated primarily under DOS. Although it is a powerful general-purpose programming language, it was used to create primarily database/business programs. ...
PL/I (Programming Language One, pronounced pee el one) is a computer programming language designed for scientific, engineering, and business applications. ...
Powerbuilder is a programming language created by Powersoft which was later purchased by Sybase. ...
Simula introduced the object-oriented programming paradigm and thus can be considered the first object-oriented programming language and a predecessor to Smalltalk, C++, Java, and all modern class-based object-oriented languages. ...
| | |