JAVA was designed to meet all the real-world requirement with its Feature. There are many features of java which make java very popular language
So, let’s see some feature of java:
- Simple and powerful language
- Platform Independent
- Interpreted and High Performance
Simple and Powerful Language:
Java is easy to learn and simple. Java provides a small number of clear ways to achieve a given task. Java has a lot of features so java is the most powerful language.
Java syntax is based on C ++. So, if you have little bit knowledge of C++ you can easily learn java
Java also removed some complicated feature like pointers, operator overloading etc.
java is a very secure programming language. That’s why almost bank software (security is very important) build in java
java is secure because there is no pointer:
NO pointer support makes Java more secure because they point to memory location or used for memory management that loses the security as we use them directly.
And another feature of security is java program run inside a virtual machine which is secure way to run program
Java has a slogan “write once run anywhere”
It means if we write a java program in any computer operating system. It can run on any machine if JVM is already installed in it
This is called platform independency.
Note: java executable file is platform independent not JVM (java virtual machine)
For every operating system there is Different JVM available.
Java was not designed to be source-code compatible with any other language. Java team gave a clean, usable, realistic approach to object. The object model in java is easy to extend, while simple type, such as integer, are kept as high-performance non-objects.
Java is an object-oriented programming language. Everything in Java is an object. Object-oriented means we organize our software as a combination of different types of objects that incorporates both data and behavior.
Basic OOPs concept are:
Most programs in use today fail for one of the two reasons: memory management or exceptional conditions. Thus, the ability to create robust programs given a high priority in the design of Java. Java forces the user to find mistakes in the early stages of program development. At the same time, Java frees the user
From having to worry about many of the most causes of programming error.java checks code at compilation time. however, it also checks the code at runtime
Robust simply means strong. Java is robust because:
- java uses strong memory management.
- There is a lack of pointers that avoids security problems.
- Java has automatic garbage collection
- There are exception handling and the type checking mechanism in Java
Multithreading is the ability to perform multiple tasks simultaneously and a single Java program can perform many tasks at the same time making it a multithreaded environment.
In Multithreaded we create a thread which perform a specific program concurrently. So, in java we can define multiple thread which can deal with multiple program at the same time.
The main advantage of multi-threading is that it doesn’t occupy memory for each thread.
Threads are important for multi-media, Web applications, etc.
Java is Architecture-neutral as it’s program can run anywhere on any machine using JVM. The Java designers worked hard in attaining their goal “write once; run anywhere, anytime, forever” and as a result the Java Virtual Machine was developed.
A main issue for the Java designers was that of code longevity and portability. One ·of the main problems is the execution speed of the program. Since Java is Architecture-neutral it generates bytecode
that resembles machine code and are not specific to any processor.
Java enables the creation of cross-platform programs by compiling the code into an intermediate representation called Java byte code. This code can be interpreted on any system that has a java virtual Machine. Most of the earlier cross-platform solution are run at the expense of performance. Other interpreted system, such as BASIC, TCL, PERL, suffer from almost insoluble performance deficits
Java is faster than other traditional interpreted programming languages because Java bytecode is “close” to native code. It is still a little bit slower than a compiled language (e.g., C++). Java is an interpreted language that is why it is slower than compiled languages, e.g., C, C++, etc.
Java is designed for the distributed environment of the Internet, because it handles TCP/IP protocols. In fact, accessing a resource using a URL is not entirely different from accessing file. The Original Version of java (OAK) included features of intra-address-space messaging. This allowed object on two different computers to execute procedures remotely. Java has recently revived these interfaces in a package called Remote Method Invocation (RIM).
Java programs carry with them extensive amounts of run time information that is used to verify and resolve accesses to objects at run time. Using this concept, it is possible to dynamically link code. Dynamic property of Java adds strength to the applet environment in which small fragments of byte code may be dynamically updated on a running system.