Java’s lineage:
Java is related to C++ which is a direct descendant of C. Much of the characters of java is inherited from these 2 languages. From C , Java derives it syntax. Many of Java’s object oriented features were influenced by C++. Moreover the creation of java was deeply rooted in process of refinement and adaptation.
Creation of Java:
Java was originally designed for interactive television, but it was too advanced technology for the digital cable television industry at the time. The principles for creating Java programming were “Simple, Robust, Portable, Platform-independent, Secured, High Performance, Multithreaded, Architecture Neutral, Object-Oriented, Interpreted and Dynamic”. In 1991, a small group of Sun engineers called the “Green Team” led by James Gosling, the team worked around the clock and created the programming language that would revolutionize our world . It was called Oak and was developed as a part of the Green project.
Why Oak? Oak is a symbol of strength and chosen as a national tree of many countries like U.S.A., France, Germany, Romania, etc. Oak was renamed as “Java” because it was already a trademark by Oak Technologies. Java is an island of Indonesia where first coffee was produced hence the symbol.
How Java changed the internet?
After the invention of the internet java became the most used programming language of all time. Cause java came up with applets that changed the way the online world works.
Java Applets:
A Java applet is a small application written in the java programming language. They are used to display the data provided by the server. The creation of java applets changed the internet programming because it expanded the universe of objects that can move around freely in cyberspace. Java applets ran at very fast speeds and until 2011, they were many times faster than JavaScript. Unlike JavaScript, Java applets had access to 3D hardware acceleration.
Security:
The code which is downloaded might have some virus, Trojan horse or other harmful code. Usually the malicious code causes harm to your system cause it would have gained unauthorized access to the system resources. Java achieved this protection be confining an applet to the java execution environment and not allowing it to access the other parts of the program.
Portability:
Portability is the major aspect of the internet because there are many different types of computers and operating systems connected to it. If a java program has to be run virtually on any computer that is connected online we need some kind of software to run it. Its not practical to have different versions of applets for different computers. It is the magic of Bytecode that makes it platform independent. Every system has its own JVM which gets installed automatically when the jdk software is installed. For every operating system separate JVM is available which is capable to read the .class file or byte code.
Note: JVM is platform dependent but java is platform independent.
Servlets
Applets is just one half of the client/server equation. A servlets is a small program that executes on the server side ,like applets servlets dynamically extend the functionality of a web server. Servlets are used to create dynamically generate content that is then served to the client. Servlets increase the performance because it is compiled into bytecode and executed by the JVM, they are highly portable. Advantages of Servlet are as follows:
1) Better performance: because it creates a thread for each request, not process.
2) Portability: because it uses Java language.
3) Robust: JVM manages Servlets, so we don’t need to worry about the memory leak, garbage collection, etc.
4) Secure: because it uses java language.
Features of Java
The features of Java are also known as java buzzwords.
- Simple : Java is very easy to learn, and its syntax is simple, clean and easy to understand. Java syntax is based on C+ so its easy for programmers to learn java. Java has removed many complicated and rarely-used features, for example, explicit pointers, operator overloading, etc.
- Object-oriented : In java everything is Object which has some data and behavior. Java can be easily extended as it is based on Object Model.
- Robust : Java makes an effort to eliminate error prone codes by emphasizing mainly on compile time error checking and runtime checking. it has excellent Memory Management and mishandled Exceptions by introducing automatic Garbage Collector and Exception Handling.
- Platform Independent : Java can be written once and it can be run on any platform. Any machine with Java Runtime Environment can run Java Programs.
- Security : It enable us to develop virus free, temper free system. Java program always runs in Java runtime environment with almost no interaction with system OS, hence it is more secure.
- Multi Threading : Java was designed to meet real world problems to accomplish that java supports multithreaded programming which allows us to write programs that helps us to do many tasks simultaneously.
- Interpreted and high performance : java converts the code into java byte code which is carefully designed so that it would be easy to translate directly into native machine code with high performance by using just in time compiler.
- Dynamic : Java is a dynamic language. It supports dynamic loading of classes. It means classes are loaded on demand. It also supports functions from its native languages, i.e., C and C++. Java supports dynamic compilation and automatic memory management (garbage collection).
Application of Java
Java is widely used in every corner of world and of human life. Java is not only used in softwares but is also widely used in designing hardware controlling software components.
- Desktop GUI Application: The desktop application can easily be develop in Java, to support this java provides AWT, Swings, and JavaFX.
- Scientific Application: Java supports to scientific application development, because of its security powerful, robustness features, much scientific application based on Java technology like MATLAB – it is based on java its front and backend based on java only for front java provides struts, jsp, servlet, at backend core java can be used in servlet.
- Enterprise Applications: In today’s world, most of the enterprise site is based on the applications of Java only because it is most secure, powerful, scalable. These sites required too much security which is fulfilled by java. Java has strong memory management features, it automatically deletes the unused memory which improves the performance of the big application trading site required better performance
- Web Applications: To support this the java has provides JSP, Servlet, Struts, Spring, hibernate. With the help of the technologies, we can easily develop any kind of web application based on the customer requirements.
- Mobile Applications: A mobile application can easily be developed with help of java. We can develop any games, any kind of the application in android easily. Android is totally based on Java, It follows every convention of the java.
Author: Nivedita.M
Edited by : Arcot Gautham.
