Java एक general purpose object oriented programming language है। Sun Microsystems ने java 1991 में U.S. में बनायीं थी। पहले java का नाम oak रखा गया था लेकिन बाद में इसे change करके java किया गया था। Java James Gosling ने develop की थी।
मुख्यतः java को consumer electronics जैसे की TV, VCR etc software बनाने के लिए develop किया गया था।
Java का सबसे important और popular feature था की java platform
independent थी। क्योंकि java किसी एक particular
hardware या operating system के लिए नहीं बनायीं गयी थी। इसलिए java में बनाये हुए program किसी भी system पर execute किये जा सकते है। Java का ये feature java को आज भी सबसे popular language बनाता है।
Features of Java:-
Java के बहुत सारे features है। एक अच्छा java programmer बनने के लिए आपको ये सभी features पता होने चाहिए। आइये java के कुछ popular features के बारे में जानने का प्रयास करते है।
Compiled and Interpreted
ज्यादातर programming languages या तो compiled होती है या interpreted होती है। लेकिन java इन दोनों approaches को combine करती है और एक two stage
system बनाती है। पहले तो java आपके program को compiler करके byte code generate करती है।
Byte code
machine instructions नहीं होते है। इसलिए java second stage में bytecode को interpret करके machine code generate करती है, जिसे directly execute किया जा सकता है।
Platform Independent:-
Java को bytecode platform independent बनाता है। जब आप किसी java program को compile करते है तो वो byte code में convert हो जाता है। ये byte code किसी भी machine या operating system पर नहीं चल सकता है। ये सिर्फ JVM (Java Virtual Machine) पर चलता है।
Java के program को run करने के लिए आपको अपने operating system पर JVM install करना पड़ता है। हर operating system के लिए अलग JVM होता है लेकिन काम सभी एक ही करते है। और वो काम होता है उस operating system के लिए bytecode को machine code में convert
करना।
इसलिए किसी एक operating system के JVM द्वारा generate किया गया bytecode कोई भी दूसरी JVM पर run किया जा सकता है।और फिर JVM उस operating system के लिए machine code
generate कर देती है। इसलिए अलग अलग machines के लिए अलग अलग machine code
generate होता है लेकिन वो एक ही byte code से generate होता है क्योंकि आपका program पहले byte code में convert होता है।
Object Oriented:-
Java एक true object oriented programming language है। Java में almost सब कुछ object है। Java में सारी information objects के रूप में
store होती है।
Robust and Secure
यदि user experience की बात की जाए तो java एक robust
language है। Java में बनाया हुआ कोई भी program अलग अलग environments में अलग अलग technologies के साथ बिना crash हुए काम कर सकता है। इसके programs कभी crash नहीं होते है। ये बहुत ही reliable language है। Java में security JVM के जरिये provide की जाती है। Machine code generate करने से पहले JVM पर कुछ tests run करके invalid combinations को detect करती है।
Simple and Familiar:-
Java एक simple language है। Java के बहुत से features c और c++ से लिए गए है। Java का syntax c और c++ के जैसा है। जैसे की variable declarations, control statements और method declarations आदि। ये सब java को easy और understand बनाते है। क्योंकि java c और c++ को ध्यान में रख कर बनायीं गयी है इसलिए ज्यादातर programmers को familiar लगती है।
Multi-threaded and Interactive:-
By
default java एक multithreaded language है। कोई भी java program एक साथ कई tasks complete कर सकता है। ये feature java को fast और interactive बनाता है।
High Performance
यदि performance की बात की जाए तो java की performance बहुत impressive है। Java की speed का main reason byte code है। Java का architecture इस तरह से design किया गया है की java में runtime पर overhead बहुत कम होता है।
Dynamic and Extensible:-
Java एक dynamic language है। Java run time के दौरान libraries, methods और classes से dynamic
linking करने में सक्षम (कायम) है। इसलिए java को नयी technologies के साथ आसानी से use किया जा सकता है।
Ease of Development
Java में programs develop करना बहुत easy है। Java आपको built इन libraries provide करती है जिसमे आपके use के लिए important classes होती है। इससे programmer का overhead कम हो जाता है। Programmer इन libraries को access करके आसानी से software develop कर सकता है।
Object Oriented Principles of
Java:-
जैसा की मैने आपको बताया java एक object oriented language है। Java भी सभी object oriented programming languages की तरह object oriented principles को follow करती है। आइये इन principles के बारे में जानने का प्रयास करते है।
Encapsulation
Encapsulation
को data hiding
भी कहते है। Encapsulation में आप private variables declare करते है। और उन्हें public methods के through access करते है आपके variables को आपकी ही class के methods access कर सकते है।
दूसरी कोई भी class आपके variables को access नहीं कर सकती है। इस तरह आप data को hide भी करते है और use भी करते है। Encapsulation का एक और मतलब होता है data और code को एक unit में bind करना और बाहर से access को रोकना। ऐसे आपके variables और methods एक ही unit में bind हो जाते है।
public – आपके public class
members को दूसरी classes access कर सकती है।
private –
आपके private class
members को दूसरी कोई भी class access नहीं कर सकती है।
protected
– केवल आपकी class को inherit करने वाली class ही आपके class members को access कर सकती है।
Inheritance
इस principle के through आप एक class के variables को दूसरी class में access कर सकते है। ऐसा करने से आपको एक जैसे methods को बार बार लिखने की जरुरत नहीं होती है। इससे computer की memory और programmer का time
दोनों बचता है। Java में multiple inheritance allow नहीं है। एक class सिर्फ एक ही class को inherit कर सकती है। ये कमी जावा interfaces के through पूरी करती है।
Polymorphism
Polymorphism
का मतलब होता है “एक नाम और कई काम”। Polymorphism के through आप एक interface से situation के according अलग अलग actions ले सकते है। जैसे की method overloading में किया जाता है।
Abstraction
Abstraction
java का बहुत important concept है। जब आप बाइक चलाते है तो आपको ये पता नहीं होता है की ये bike कैसे काम कर रही है। आप बस उसे चलाते है। उसकी internal working आपको पता नहीं रहती है। Abstraction का भी same concept है। आप अपने software की internal working user को show नहीं करते है। बस user को वो interface provide करते है जिससे की वो interact करेगा।
Java Development Tools
Java में software कुछ built in development tools की मदद से बनाया जाता है। आइये इन development tools के बारे में जानने का प्रयास करते है।
JDK (Java Development Kit)
JDK एक environment होता है जिसमे आप कोई भी java program create कर सकते है और उसको execute करवा सकते है। Basically JDK में JRE होता है जो किसी भी java program के execution के लिए responsible होता है।
JRE (Java Runtime Environment)
JRE
java program के execution के लिए responsible होता है। Java में JRE कुछ classes और libraries का group होता है जो एक साथ मिलकर program को execute होने के लिए environment create करते है।
Program में main method को ढूंढना।
Program का execution start करना।
JVM (Java Virtual Machine)
जैसा की आप जानते है की जब आप किसी java program को compile करते है तो वो पहले bytecode में convert होता है। इसके बाद वो bytecode machine code में convert किया जाता है। JVM एक environment या machine होती है जो bytecode को machine code में convert करती है। ये JRE के साथ मिलकर काम करती है।
Tags:
Java