The Creation of Java: Java is a general purpose object oriented programming language developed by Sun micro system of USA in 1991 by the team led by James Gosling. The language was called Oak at the beginning and renamed in 1995 as Java.

The Byte code: The Java compiler produces an intermediate code known as byte code for a machine that does not exist. The machine is called Java Virtual Machine and exists only inside the computer memory. The virtual machine code is not machine specific. The machine code is generated by the Java Interpreter by acting as an Intermediate between the virtual machine and real machine. The byte code is highly optimized set of instructions assigned to be run by the JVM.

The key that allows Java to solve the security and portability problems is that the output of a Java compiler is not executable code; rather it is a bytecode.

It is the first language that is platform independent. The language is not tied to any particular hardware or OS.

Applet: An applet is a special kind of Java program that is designed to be transmitted over the internet and automatically executed by the Java compatible web browser. An applet is downloaded on demand. Applets are intended to be small program. They are typically used to display data provided by the server, handle user input or provide simple functions such as calculations that execute locally rather than on the server.

Servlets: Java on the server Side: A Servlet is a small Java program that executes on the server side of a web connection and dynamically extends the functionality of a web server.

A server extends the functionality of a server, such as a Web server that serves Web pages to a user’s browser using the HTTP protocol. A server can almost be thought of as an applet that runs on the server side without a face. Java servlets made many much Web application possible.

How Java changed the Internet

The Internet helped catapult Java to the forefront of programming, and Java, in turn, had a profound effect on the Internet. In addition to simplifying Web programming in general, Java innovated a new type of networked program called the applet that, at the time, changed the way the online world thought about content. Java also addressed some of the thorniest issues associated with the Internet: Portability and Security

Portability:  Portability is a major aspect of the Internet because many different types of computers and operating systems are connected to it. The same Java applet can be downloaded and executed by the different versions of operating systems, CPUs and browsers. This is possible because Java bytecode is not machine specific.

Security:  Java applet is not allowed to access other parts of the computer. The ability to download applets with confidence that no harm will be done and that no security will be breached is one of the Java’s most important features.

Java Features

  • Simple: Java is a simple and small language. Many features of C and C++ are redundant or source of unreliable code are not part of Java. Java code looks like C/C++ code. In fact, Java is simplified version of C++. Java is designed to be easy to learn. If we understand the basic concept of OOP, Java would be easy to master.
  • Object Oriented: Java is true object oriented language. Almost everything in Java is an object. Java comes with an extensive set of classes, arranged in packages. All program code and data reside with objects and classes.
  • Robust: Java is a robust language. It provides many safeguards to ensure reliable code. It has strict compile and run time checking for data type. It also incorporates the concept of exception handling which captures series errors and eliminates any risk of crashing the system.
  • Multithreaded: Multithreading means handling multiple tasks simultaneously. Java supports multithreads programs. This means that we need not wait for the application to finish one task before beginning of another task.
  • Architectural Neutral: The compiler coverts the source code files into bytecode files. These codes are machine independent and therefore can be run on any machine. That is, a program compiled on an IBM machine will run on a Macintosh machine. The Java interpreter reads the bytecode files and translates them into machine code for the specific machine on which the Java program is running. The interpreter is therefore specifically written for each type of machine.
  • Interpreted and High Performance: Java performance is impressive for an interpreted language, mainly due to the use of intermediate bytecode. According to Sun, Java speed is comparable to the native C/C++. Java architecture is also designed to reduce overheads during runtime. The multithreading also enhances the overall execution speed of Java programs. Because the bytecode is highly optimized code, the use of bytecode enables the JVM to execute program much faster. Furthermore, Just –In- Time (JIT) compiler complies selected portion of bytecode into executable code on piece by piece demand basis.
  • Distributed: Java is designed as a distributed language for creating applications on networks. It has the ability to share both data and programs. Java applications can open and access remote objects on Internet as easily as they can do in a local system. This enables multiple programmers at multiple remote locations to collaborate and work together on a single project.
  • Dynamic: Java is a dynamic language. Java is capable of dynamically linking in new class libraries, methods and objects. Java can also determine the type of class through a query, making it possible to either dynamically link or abort the program, depending on the response. Java programs can carry extensive amount of run time information that can be used to verify and resolve accesses to objects on run time.


Short Questions

  1. What is JVM?
  2. What is applet?
  3. What is bytecode?
  4. Write the name of two internet problems that can be solved using java (bytecode).
  5. What are the Java buzzwords
  6. Why Java is called platform independent language?
  7. What is servlet?







Leave a Reply

Your email address will not be published. Required fields are marked *