Features of Java

The primary goal of Java programming language is to create a portable, simple and secure programming language. To create this type of programming langugae the java features will play an important role. Below we listed most useful imortant features of Java programming langugae.

Java Features
  1. 1. Simple
  2. 2. Object-Oriented
  3. 3. Portable
  4. 4. Platform independent
  5. 5. Secured
  6. 6. Robust
  7. 7. Architecture neutral
  8. 8. Interpreted
  9. 9. High Performance
  10. 10. Multithreaded
  11. 11. Distributed
  12. 12. Dynamic
Simple

Learning of java programming is very easy and its syntax is simple and clean to understand. Java language is a simple programming language because: Java syntax is based on C++ (so easier for programmers to learn it after C++). Java programming langugae has been removed many complicated and rarely-used features, for example, pointers, operator overloading, etc. There is no need to remove unreferenced objects because there is an Automatic Garbage Collection in Java.

Object-oriented

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 incorporate both data and behavior. (OOP) Object-oriented programming language is a methodology that simplifies software development and maintenance by providing some significant rules.

Basic concepts of OOPs are:
  1. 1. Object
  2. 2. Class
  3. 3. Inheritance
  4. 4. Polymorphism
  5. 5. Abstraction
  6. 6. Encapsulation
  7. 7. Platform Independent

Java is different from other langugae like C, C++ and it is a platform independent it means write once, run anywhere for example if we would have written and compiled a java program in windows system, the byte code .class file we can execute in any operating system.

Secured

Java is best known for its security. With Java, we can develop virus-free systems.
Java is secured because:

  1. 1. No explicit pointer
  2. 2. All java Programs used a virtual machine sandbox to run.

how Java is secured

Java is secured mainly because of below three resons:

Classloader: Classloader is part of Java Runtime Environment (JRE) which is mainly responsible to dynamically load Java classes into the Java Virtual Machine (JVM). It adds security by separating the package for the classes.

Bytecode Verifier: It checks the code fragments for illegal code that can violate access rights to objects.

Security Manager: It determines what resources a class can access such as reading and writing to the local disk.

Java language provides these securities by default. While developing a application will provide some security explicitly through SSL, JAAS, Cryptography.

Robust

The English mining of Robust is strong. Java is robust because:

  1. 1. Strong memory management.
  2. 2. Removed pointers from java.
  3. 3. Automatic garbage collection.
  4. 4. Exception handling
  5. 5. Type checking mechanism.
Architecture-neutral

Java is an architecture neutral, will understand this with an example, lets take a primitive types those are fixed.

Portable

Once we write a program using java language in windows system, we can carry the byte code to any platform such as linux, mac, etc. Hence java is portable. It doesn't require any implementation.

High-performance

Performance vise java is very faster because its btye code is close to the native language code. Java programming language is 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.

Distributed

Java programming langugae is distributed, which facilitates users to create distributed applications in Java. RMI and EJB are used for creating distributed applications. Using these feature will be able to access the files by calling the methods from any machine on the internet.

Multi-threaded

A thread is like a separate program, executing concurrently. Using multi threaded concept we can create a java program that deals with many tasks at once. The main advantage of multi-threading is that it doesn't occupy memory for each thread. It shares a common memory area. Threads are important for multi-media, Web applications, etc.

Dynamic

Java is a dynamic language. It supports the 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 programming language will support dynamic compilation and as well as automatic memory management with the help of garbage collection.