Java Programming - FAQ
- 1. What is Java?
- 2. What are the major characteristics of Java?
- 3. When was Java introduced?
- 4. What is Java Standard Edition (JSE)?
- 5. What is RMI?
- 6. What is Swing?
1. What is Java?
Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed to have the "look and feel" of C++, but it is simpler to use than C++ and enforces an object-oriented programming model. Java can be used to create complete applications to run either on the desktop or distributed over networked machines. It can also be used to build a small application module or applet for use in web pages, enabling extended user interaction and graphical capabilities.
2. What are the major characteristics of Java?
Programs are network portable (WORA - "Write Once Run Anywhere", WODA - "Write One Deploy Anywhere"), with the source program compiled into intermediary bytecode, able to run on any Java Virtual Machine (JVM). The JVM interprets the bytecode into code that will run on the chosen hardware platform. Platform-specific versions of programs are thus not necessary.
Java code is robust. Unlike programs written in C++ and perhaps some other languages, Java objects can contain no references to data external to themselves or other known objects. This ensures that an instruction can not contain the address of data storage in another application or in the operating system itself, either of which would cause the program and perhaps the operating system itself to terminate or "crash." The Java virtual machine undertakes checks on each object to ensure integrity.
Java is object-oriented, remaining relatively easy to learn compared to similar languages such as C++ and C#. The language is well structured, strongly typed, well supported by IDE's (Eclipse, NetBeans, JDeveloper, IntelliJ etc) and well documented with excellent support from all the large players in the market.
Java is utilised on many large-scale projects, mainly due to it's robustness and scalability.
3. When was Java introduced?
Java was introduced by Sun Microsystems in 1995. The vast majority of operating system developers (IBM, Microsoft, and almost all flavours of Linux) ship Java compilers as part of their product offerings, as well as using Java in the development of their own tools and products.
4. What is Java Standard Edition (JSE)?
There are two principal products in the Java SE platform family: Java SE Runtime Environment (JRE) and Java Development Kit (JDK).
Java Runtime Environment (JRE)
The JRE provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java language. In addition, two key deployment technologies are part of the JRE: Java Plug-in, enabling applets to run in browsers; and Java Web Start, used for deploying standalone applications over a network. It is also the foundation for the technologies in the Java 2 Platform, Enterprise Edition (J2EE) for enterprise software development and deployment. The JRE does not contain tools and utilities (compilers or debuggers) for developing applets and applications.
Java Development Kit (JDK)
The JDK is a superset of the JRE, and contains the JRE, plus tools such as the compilers and debuggers necessary for developing applets and applications.
5. What is RMI?
Remote Method Invocation, or RMI, is a set of protocols that enables Java objects to communicate remotely with other Java objects. RMI is a relatively simple protocol, but unlike more complex protocols such as CORBA and DCOM, it works only with Java objects. CORBA and DCOM are designed to support objects created in any language.
Essentially, Java RMI allows you to send messages to some live object in another virtual machine, and receive results, while coding in a virtual-machine transparent manner on your local VM.
6. What is Swing?
The Java Swing components are a set of classes essential to building Java thick client applications. The Swing toolkit contains a rich set of Java components, including table controls, folder trees, and buttons.
Swing is part of the Java Foundation Classes (JFC), which includes other features necessary for GUI applications, such as internationalization, drag and drop, accessibility support and pluggable look-and-feel support.



