Features of Java
History of Java
Java was conceived by James Gosling Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan in Sun Microsystems. Inc., in 1991. It took 18 months to develop the first working version.
This language was initially called ‘Oak’ but was renamed “Java” in 1995. Between the initial implementation of Oak in the fall of 1992 and the public announcement of Java in the spring of 1995, many more people contributed to the design and evolution of the language.
Features of Java
The main features of java programming language are as follows;
- Simple small and familiar
Java was designed to be easy for the professional programmer to learn and use effectively. If you already understand the basic concept of object-oriented programming, learning of java be even easier. If you are experienced C++ programmer, moving to Java will require a very little effort. In Java there are a lesser defined ways to complete any given task.
- Compiled and Interpreted
The key that allow Java to solve both the security and the portability is that the output of a Java compiler is not executable code. It is Bytecode. Bytecode is highly optimized set of instructions designed to be execute by the Java run time system, which is called Java Virtual Machine (JVM). This is a interpreter for bytecode.
For programmers to be dynamically download to all the various type of platforms connected to internet, some of mean generating portable executable code.
java enable the creations of cross-platform programs by compiling into an intermediate representation called bytecode. This code can be interpreted on any system that provide a Java Virtual Machine (JVM).
Although influenced by its predecessors, Java was not designed to be source-code compatible with any other language. This allowed the java team the freedom to design with a blank slate.
One outcome of this was a clean, usable, pragmatic approach to objective. Java manager to strike a balance between the purist’s “everything is an object paradigm and the pragmatist’s “stay out of my way” model. The object on the Java is simple and easy to extend.
The multi-platform environment of the web places extraordinary demands on a program, because the program must execute reliably in a variety of systems. Thus, to create a robust programs was given a high priority in the design of java.
Every time you download a “normal” program, you are risking a viral infection. Before the creation of Java Programming Language, most users did not download executable programs frequently, and those who did scanned them for viruses prior to execution.
Even so, most users still worried about the possibility of infection with virus. In addition to viruses, there are so many malicious program exists that must be guarded against.
This type of program can gather private information. Java answer both of these concerns by providing a “Firewall” between a networked application and your computer.
Java is designed from the distributed environment of the Internet, because it handles TCP/IP protocols. The original version of Java (Oak) includes features for intra-address-space messaging. Java has recently received these interfaces in a package called Remote Method Invocation (RMI).
- Multithreaded and Interactive
Java was designed to meet the real-world requirement of creating interactive, networked programs. To accomplish this, Java supports multi-threaded programming, which allows you to write the programs that do many things simultaneously. The Java run-time system comes with an elegant yet sophisticated solution for multi-process synchronization that enable you to construct smoothly running interactive systems.
- High Performance
As explained earlier, while it is true that Java was engineered for interpretation, the java bytecode was carefully designed so that it would be easy to translate directly into native machine code for very high performance by using just –in-time compiler.
- Dynamic and Extensible
Java programs carry fair amount of run-time information which is used to verify and resolve accesses to objects at run-time. This makes it possible to dynamically link code in a safe and faster manner.
How Java Differs from C and C++?
Java derives much of its characters from C and C++. This is by Internet. The Java designers used familiar syntax of C and echoed the object-oriented features of C++ which made Java language more appealing to the legion of experienced C/C++ programmers. Also apart from the surface similarities, Java uses some other attributes which made C and C++ successful.
Java and C
Java matches a lot like C but the one of the primary difference is that Java supports objects-oriented paradigm while C uses Procedure Oriented Programming paradigm. Java has mechanism to define classes and objects, which C does not Supports. Some of the features of C, which are not included in Java are:
- Java does not contain C unique keywords goto, sizeof and typedef.
- Java does not support data types struct, union and enum.
- Java does not support an explicit pointer type.
- Java introduced new operators such as instance of and >>>.
- Java adds labeled break and continue statements.
Java requires that the functions with no arguments must be declared with empty parenthesis and not with the void keywords as done in C.
Java and C++
Since there a lots of similarities between Java and C++, which makes one to think of Java as simply the “Internet Version of C++”.
However, Java has significant practical and philosophical differences. While it can be seen that Java is hugely influenced by C++, but it is not an enhanced version of C++. Java is not compatible with C++, neither upward nor downward .
The similarities with C++ are significant, and if you are a C++ programmer, then you will feel comfortable with Java.
One other point, Java was not designed to replace C++ was designed to solve a different set of problems. Both will coexist for many years to come.
Some of the features of C++ which java does not support are:
- Java does not support operators over loading.
- Java does not have template classes.
- Java does not support multiple inheritance of a class.
- Java does not support global variables.
- Java does not use pointers.
- Destructor function of C++ is replaced by finalize() function in Java.
- There are no header files in Java as in C++
- Java is not a superset of C.
Java and Internet
Java has become inseparably linked with the outline environment of the Internet. Somewhat surprisingly, the original impetus for Java was not the Internet! But the primary reason of motivation to develop Java was the demand for a platform-Independent language which could be used to create software to be embedded in various consumer electronic devices.
However, with the advent of the Internet and the Web, the old problem of portability returned with the vengeance. After all, the Internet consists of a diverse, distributed universe populated with many types of computers, operating systems and CPUs.
Java and World Wide Web
When Java was being developed the second major necessity was felt and that was, the World Wide Web.
To access the World Wide Web you see what is called a Web Browser. Browser are sometimes also called Web clients, since they get information from server.
What you start a WWW browser or follow a hyperlink, the browser (acting like a client) sends a request to a site on the Internet. That site (acting like a server) returns a file which the browser then has to display.
In order for you to see or hear what’s in the file, the browser should be capable of reading its contents. The output of the files differs depending on the type of file, text, graphics and/or images that may be displayed.
If the file is written using Hyper Text Markup Language (HTML), the browser interprets the file so that graphics and images are displayed along with the text.
Some of the web browsers that supports Java include:
- Hot Java
- Netscape Navigator
- Internet Explorer
- Mozila Firefox
Note: Google’s Chrome version 45 and above have dropped support for NPAPI(Netscape Plug-in API), hence Java Plugin do not work on Google Chrome now.
Hot Java is the web browser developed by Sun Microsystems which supports Java language. It is written entirely in Java and demonstrates the capabilities of Java as a programming language.
It is a web browser developed by Netscape Communication Corporation. It can run Java applets. It is one of the most widely used browser today. Some of its useful features include visual display about downloading process and indication of the number of bytes downloaded. It also supports Java Script.
It is another popular web browser developed by Microsoft for Windows 98 and NT workstations and later versions of windows. Explorer uses a just-IN-Time (JIT) compiler which increases the speed of execution upto a large extent.
Basic Features of Browsers
- The Web browser should have the capabilities to look at the Web pages throughout the Internet. It should be able to connect to various websites to access information, explore resources, and have fun.
- The Web browser must enables you to follow the hyperlinks on a Web page and also to type in a URL for in to follow.
- Another feature of browser is to have a number of other commands readily available through menus, icons, and buttons.
- Your browser ought to include an easy way to get on-line help as well as built-in links to other resources on the Web that can give you help or answers to your questions.
- You will definitely want a way to save links to the sites you have visited on the WWW so that you can get back to them during other sessions.
- Browsers are capable to search the information in the current page as well as search the world wide web itself.
- Browsers give you the facility to save a Web page in a file on your computer, print a Web page on your computer, and send the contents of a Web page by e-mail to others on the Internet.
- Few Web browsers (like Netscape Communicator) are complete Internet package, means they come with components like e-mail client, newsgroup client, an HTML composer, telnet client, ftp client, etc.
- Web browser should be able to handle text, images of the World Wide Web, as well as the hyperlinks to digital video, or other types of information
- To take advantage of some of the most exciting things on the World Wide Web, your browser needs to properly display and handle Web pages that contain animates or interactive items. Netscape Navigator can incorporate these features through its ability to interpret programs written in Java and Java Script.
- Web browser interact not just with the Web, but also with your computer’s operating system and with other programs, called plug-ins, that gives the browser enhanced features.
- Caching is a very important feature of a Browser. A browser that caches keeps copies of the pages you visit so that it does not have to download them again if you want to return to them.
- The most important feature of any browser is ease of use. While all Web browsers are fundamentally simple to use, the one you settle on should be very easy to work with; it should function as a transparent window onto the Web.
- If you will be browsing the Web from within a secured network, you may have to configure your browser to work through a special computer on your network called a proxy server.
Most popular browsers let you configure them to work with a proxy server, but some don’t, so find out if you will be working through a proxy before deciding on your browser. If you are, your ISP or system administrator will tell you need to do anything special to use your browser.
Hardware and Software Requirements
- A computer system with a Pentium process
- Network or Internet(for Internet applications)
- Windows operating system
- Java compiler
Java Support Systems
Java Support Systems includes
- Java Beans
Java Developer’s Kit (JDK)
The description that follows in this book use the standard JDK, which is available from Sun Microsystems. If you are using a different Java development environment, then you may need to follow a different procedure for compiling and executing Java programs.
The first thing that you must learn about Java is that the name you give to a source file is very important. In Java, a source file is officially called a Compilation Unit. JDK helps in Compilation and interpretation of the source file.
Java Standard Library
The Java environment relies on several built-in class libraries that contain many built-in methods that provide support for such things as I/O, string handling, networking and graphics. The standard classes also provide support for windowed output. Thus, Java as a totality is a combination of the Java language itself, its standard library classes. As you will see, the class libraries provide much of the functionality that comes with Java. Indeed, part of becoming a Java Programmer is learning to use the standard Java classes.
Features of Java8
The major enhancements included with the Java 8 release:
Lambda Expression and Virtual Extension Methods
- Highlighting feature of Java SE 8 is the implementation of Lambda expressions and supporting features to the Java programming language and platform.
- Date and Time API
This new API will allow developers to handle date and time in a more natural, cleaner and easier to understand way.
- Improved Security
Replacing the existing hand-maintained list of caller sensitive methods with a mechanism that accurately identifies such methods and allows their callers to be discovered reliably.
Features of Java begins with a brief history of Java and then its salient features. JAVA is an object-oriented language developed by Sun Microsystems, Now being taken care by Oracle. Java enhances and refines the paradigm used by C and C++ Java was initially designed to solve programs in a small scale but it could also be applied to the Internet on a large scale, this used for internet programming. Java was propelled to the forefront of computer language design, because the web, too, demanded portable programs.
Please, Like and Share the Topic Features of Java.
You May Also Like:
Do Chrome support Java?
What are the features of Java 8?
Lambda Expression and Virtual Extension Methods
New Date and Time API to handle date and time more naturally.