Hello Readers, Once again welcome back to Java Jagran. Today I am going to discuss features of java. There is given many features of java. They are also known as java buzzwords. Here I am listing some important features of java.
- Simple
- Object-Oriented
- Platform independent
- Secured
- Robust
- Architecture neutral
- Portable
- Dynamic
- Interpreted
- High Performance
- Multithreaded
- Distributed
Now let's discuss each feature in detail.
Simple:
- The syntax is based on C++ (so easier for programmers to learn it after C++).
- Removed much confusing and/or rarely-used features e.g., explicit pointers, operator overloading etc.
- No need to remove referenced objects because there is Automatic Garbage Collection in java.
Object-oriented
- Object-oriented means we organise our software as a combination of different types of objects that incorporate both data and behaviour.
- Object-oriented programming(OOPs) is a methodology that simplifies software development and maintenance by providing some rules.
- Basic concepts of OOPs: Object,Class,Inheritance,Polymorphism,Abstraction,Encapsulation
Platform Independent
- A platform is the hardware or software environment in which a program runs.
- There are two types of platforms software-based and hardware-based. Java provides a software-based platform.The Java platform differs from most other platforms in the sense that it is a software-based platform that runs on the top of other hardware-based platforms.
- It has two components:
- Runtime Environment
- API(Application Programming Interface)
- Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java code is compiled by the compiler and converted into bytecode. This bytecode is a platform-independent code because it can be run on multiple platforms i.e. Write Once and Run Anywhere(WORA).
Secured
- Java is secured because:
- No explicit pointer: Java Programs run inside virtual machine sandbox
- Classloader: Adds security by separating the package for the classes of the local file system from those that are imported from network sources.
- Bytecode Verifier: Checks the code fragments for illegal code that can violate access right to objects.
- Security Manager: determines what resources a class can access such as reading and writing to the local disksecurities
- These are provided by java language. Some security can also be provided by application developer through SSL, JAAS, Cryptography etc.
Robust
- Robust simply means strong. Java uses strong memory management. There are lack of pointers that avoids security problem. There is automatic garbage collection in java.
- There is exception handling and type checking mechanism in java.
Architecture-neutral
- There is no implementation dependent features e.g. size of primitive types is fixed.
- In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes of memory for 64-bit architecture. But in java, it occupies 4 bytes of memory for both 32 and 64 bit architectures.
Portable
- We may carry the java bytecode to any platform.
High-performance
- Java is faster than traditional interpretation since byte code is “close” to native code still somewhat slower than a compiled language (e.g., C++)
Distributed
- We can create distributed applications in java. RMI and EJB are used for creating distributed applications. We may access files by calling the methods from any machine on the internet.
Multi-threaded
- A thread is like a separate program, executing concurrently. We can write Java programs that deal with many tasks at once by defining multiple threads. 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.
No comments:
Post a Comment