आइये एक एक करके Java की प्रमुख विशेषताएं (important features of Java and Java OOPs concepts in hindi) देखते हैं :
- Object Oriented: OOP Java की सबसे महत्वपूर्ण एवं प्रमुख features में से एक है ।Java एक object-oriented programming भाषा है। Java में सब कुछ एक object है।जिसमे हर Object का data और behavior होता है I
- Platform Independent: Platform एक hardware या software environment है जहाँ program run होते हैं। दो तरह के Platform हैं Software आधारित और Hardware आधारित। Java एक Software-आधारित platform है।Software आधारित प्लेटफॉर्म hardware आधारित प्लेटफॉर्म पर run होते है I Java कोड को कई प्लेटफार्मों पर चलाया जा सकता है, उदाहरण के लिए, Windows, Linux, Solaris, Mac/OS आदि। Java कोड को compiler द्वारा compile किया जाता है और इसे bytecode में परिवर्तित किया जाता है। यह bytecode एक प्लेटफ़ॉर्म-इंडिपेंडेंट कोड है, क्योंकि इसे कई प्लेटफ़ॉर्म पर चलाया जा सकता है यानी “write once and run anyware” (WORA)।
- Secured:
- Java अपनी security के लिए जाना जाता है। Java के साथ, हम वायरस-मुक्त सिस्टम विकसित कर सकते हैं। Java स्वयं का Runtime environment का उपयोग करता है जबकि C, C++, ऑपरेटिंग सिस्टम के runtime environment का उपयोग करते हैं।
- Classloader (क्लास्लोाडर): Java में class loader Java Runtime Environment (JRE) का एक हिस्सा है जो Java classes को JVM में लोड करने के लिए उपयोग किया जाता है।
- Bytecode Verifier: बाईटेकोड वेरिफ़ायर एक type का गेटकीपर के रूप में कार्य करता है: यह सुनिश्चित करता है कि Java इंटरप्रेटर को पास किया गया कोड run होने की स्थिति में है या नहीं।इसलिए Code verify होने के बाद ही java code run किया जा सकता है।
- Security Manager: यह सुनिक्षित करता है की कौन से resources (local disk से) Java class read और write के लिए उपयोग कर सकते हैं I
Robust (Powerful): Java शक्तिशाली language है क्योंकि
Strong memory management.
No pointers (जैसे की C,C++ language में होता है)
Java में automatic garbage collection होता है जो जावा वर्चुअल मशीन (JVM) पर उन objects को delete कर देता है जो अब Java एप्लिकेशन द्वारा उपयोग नहीं किए जा रहे हैं I
Exception(अपवाद) handling और type checking mechanism
- Multi-threaded : हम Java program में कई threads को परिभाषित करके एक साथ कई कार्यों को handle कर सकते हैं।इसलिए, इसे Java में Concurrency के रूप में भी जाना जाता है I मल्टी-थ्रेडिंग का मुख्य लाभ यह है कि system को प्रत्येक थ्रेड के लिए memory allocation नहीं करना पड़ता है। बल्कि same memory area को सारे threads शेयर करते हैं। मल्टी-मीडिया, वेब एप्लिकेशन आदि के लिए threads महत्वपूर्ण हैं।
- Dynamic: Java एक dynamic language है। इसका मतलब है की class मेमोरी में तभी लोड होता है जब उसकी डिमांड हो।Java Dynamic compilation और automatic garbage collection management को भी सपोर्ट करता है। यही वजह Java को dynamic language बनाते हैं।
GOOD