Java can be used to create two types of programs: applications and applets.
An application is a program that runs on your computer, under the operating system of that
computer. That is, an application created by Java is more or less like one created using C or C++.
An applet is an application designed to be transmitted over the Internet and executed by
a Java-compatible Web browser. An applet is actually a tiny Java program, dynamically
downloaded across the network, just like an image, sound file, or video clip. In other words, an applet is a program that can react to user input and dynamically change—not just run the same animation or sound over and over.
Characteristics of Java :
- Simple : If you already understand the basic concepts of object-oriented programming, learning Java will be even easier. Because Java inherits the C/C++ syntax and many of the object-oriented features of C++, most programmers
have little trouble learning Java.
- Robust :The multi platformed environment of the Web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. To better understand how Java is robust, consider two of the main reasons for
program failure: memory management mistakes and mishandled exceptional
conditions (that is, run-time errors). Memory management can be a difficult, tedious
task in traditional programming environments. For example, in C/C++, the
programmer must manually allocate and free all dynamic memory. This sometimes
leads to problems, because programmers will either forget to free memory that has
been previously allocated or, worse, try to free some memory that another part of
their code is still using. Java virtually eliminates these problems by managing memory allocation and deallocation for you. Exceptional conditions in traditional environments often arise in situations such as division by zero or “file not found,” and they must be managed with clumsy and hard-to-read constructs. Java helps in this area by providing object-oriented exception handling.
- Object-Oriented : Languages such as Java are object-oriented—programming in such a language is called object-oriented programming (OOP) and allows designers to implement the object oriented design as a working system. Languages such as C, on the other hand, are procedural programming languages, so programming tends to be action-oriented. In C, the unit of programming is the function. In Java, the unit of programming is the class from which objects are eventually instantiated (a fancy term for “created”). Java classes contain methods (that implement class behaviors) and attributes (that implement class data).
- Multithreaded : Java supports multithreaded programming, which allows you to write programs that do many things simultaneously.Java’s easy-to-use approach to multithreading allows you to think about the specific behavior of your program, not the multitasking subsystem.
- Distributed : Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols.The original version of Java (Oak) included features for intra address-space messaging.This allowed objects on two different computers to execute procedures remotely. Java revived these interfaces in a package called Remote Method Invocation (RMI).
- Dynamic : Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run time.