The following are some important features of Java Programming Language:
Java is simple because:
Java is said to be secure because:
Java provides many other security features through it's java.security package.
Java is an object oriented programming language. It supports all OOP(Object Oriented Programing) concepts. Basic OOPs concepts are given below:
See more: OOPs concepts in detail
Java is platform independent because Java programs run in JVM (Java Virtual Machine) and JVM is available for all platforms i.e MAC, Windows, Linux etc. So you can compile your code in any platform/OS and then run the generated bytecode in any other platform/OS. This is why Java is said to be "Write once and Run Anywhere (WORA)"
In other words, the program you write in java has no dependency on your operating system. If you think, you will find that it is JVM which is platform dependent and it allows your code to be platform independent.
Java is portable because you can carry the Java bytecode any where. You can compile your Java code in your system, then you can carry the generated bytecode in your hard disk/pendrive and run it in your friends machine or anywhere else.
Technically Java is both compiled and interpreted. Rather than compile straight to executable machine code, it compiles to an intermediate binary form called bytecode. The bytecode is then interpreted or compiled by JVM to run the program. I have used interpreted or compiled because depending on the execution environment (implementation of JVM), bytecode can be:
Robust means strong and healthy. Java programs are robust because of it's strong security features, capability to handle runtime errors and strong memory management.
Java is distributed. It means we can create distributed applications in Java. A distributed application is software that is executed or runs on multiple computers within a network. It is mostly used in client-server model. Java RMI and EJB are used for creating distributed applications.
Java is Dynamic because:
Java is multi-threaded. We can write multi-threading code in Java. A thread is an independent path of execution. When many threads run concurrently it's called multi-threading.
Java uses Just-In-Time compiler which enable high performance is Java. But Java is still slower than a compiled language e.g. C++
Java is architectural neutral. It means Java code acts same with platforms of different architecture(32 bit/64 bit). For example: in C language size of int data type is 2 bytes in 32-bit OS and 4 bytes in 64-bit OS but size of int in Java is same in both.