Computer in Hindi | Business in Hindi: java in hindi
Showing posts with label java in hindi. Show all posts
Showing posts with label java in hindi. Show all posts

Friday, July 9, 2021

class and object in java in Hindi

July 09, 2021 1
class and object in java in Hindi

 जावा एक वस्तु-उन्मुख भाषा (Object-Oriented Language) है। ऑब्जेक्ट-ओरिएंटेड फीचर वाली भाषा के रूप में, जावा निम्नलिखित मूलभूत अवधारणाओं का समर्थन करता है -


  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction
  • Classes
  • Objects
  • Instance
  • Method
  • Message Passing

इस अध्याय में, हम अवधारणाओं - वर्गों और वस्तुओं पर विचार करेंगे।


object in java in hindi - object's में states और behaviors होते हैं। उदाहरण: एक कुत्ते की अवस्थाएँ होती हैं - रंग, नाम, नस्ल और व्यवहार - पूंछ हिलाना, भौंकना, खाना। एक वस्तु एक वर्ग का एक उदाहरण है।


class in java in Hindi - एक वर्ग को एक टेम्पलेट / खाका के रूप में परिभाषित किया जा सकता है जो उस व्यवहार / स्थिति का वर्णन करता है जो उसके प्रकार की वस्तु का समर्थन करता है।


object in java in Hindi


आइए अब गहराई से देखें कि objects क्या हैं। यदि हम वास्तविक दुनिया पर विचार करें, तो हम अपने आस-पास कई वस्तुएं, कार, कुत्ते, मनुष्य आदि पा सकते हैं। इन सभी वस्तुओं की एक अवस्था और एक व्यवहार होता है।


कुत्ते को माने तो उसकी अवस्था है - नाम, नस्ल, रंग और व्यवहार है - भौंकना, पूँछ हिलाना, दौड़ना।


यदि आप सॉफ़्टवेयर ऑब्जेक्ट की वास्तविक दुनिया की वस्तु से तुलना करते हैं, तो उनके पास बहुत समान विशेषताएं हैं।


सॉफ़्टवेयर ऑब्जेक्ट की भी एक अवस्था और एक व्यवहार होता है। सॉफ़्टवेयर ऑब्जेक्ट की स्थिति फ़ील्ड में संग्रहीत होती है और व्यवहार विधियों के माध्यम से दिखाया जाता है।


इसलिए सॉफ्टवेयर विकास में, विधियाँ किसी वस्तु की आंतरिक स्थिति पर काम करती हैं और वस्तु से वस्तु का संचार विधियों के माध्यम से किया जाता है।


class fundamentals in java in Hindi


एक वर्ग  (class)एक  blueprint है जिससे अलग-अलग ऑब्जेक्ट बनाए जाते हैं।


निम्नलिखित एक वर्ग का नमूना है।

public class Dog {
   String breed;
   int age;
   String color;

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
}


एक वर्ग में निम्न में से कोई भी चर प्रकार हो सकता है।


  • Local variables  - विधियों, निर्माणकर्ताओं या ब्लॉकों के अंदर परिभाषित चर स्थानीय चर कहलाते हैं। चर घोषित किया जाएगा और विधि के भीतर आरंभ किया जाएगा और विधि के पूरा होने पर चर नष्ट हो जाएगा।


  • Instance variables − इंस्टेंस वेरिएबल एक क्लास के भीतर लेकिन किसी भी मेथड के बाहर वेरिएबल होते हैं। इन वेरिएबल्स को इनिशियलाइज़ किया जाता है जब क्लास को इंस्टेंट किया जाता है। इंस्टेंस वेरिएबल को किसी भी विधि, कंस्ट्रक्टर या उस विशेष वर्ग के ब्लॉक के अंदर से एक्सेस किया जा सकता है।


  • Class variables − क्लास वेरिएबल एक क्लास के भीतर, किसी भी मेथड के बाहर, स्टैटिक कीवर्ड के साथ घोषित वेरिएबल हैं।


विभिन्न प्रकार के तरीकों के मूल्य तक पहुँचने के लिए एक वर्ग में कई विधियाँ हो सकती हैं। उपरोक्त उदाहरण में, barking(), hungry() और sleeping() विधियाँ हैं।


निम्नलिखित कुछ महत्वपूर्ण विषय हैं जिन पर जावा भाषा की कक्षाओं को देखते समय चर्चा की जानी चाहिए।


constructor in java in Hindi


कक्षाओं के बारे में चर्चा करते समय, सबसे महत्वपूर्ण उप विषयों में से एक रचनाकार होगा। हर वर्ग का एक कंस्ट्रक्टर होता है। यदि हम स्पष्ट रूप से किसी वर्ग के लिए एक निर्माता नहीं लिखते हैं, तो जावा संकलक उस वर्ग के लिए एक डिफ़ॉल्ट निर्माता बनाता है।


हर बार जब कोई नई वस्तु बनाई जाती है, तो कम से कम एक कंस्ट्रक्टर को बुलाया जाएगा। निर्माणकर्ताओं का मुख्य नियम यह है कि उनका नाम वर्ग के समान होना चाहिए। एक वर्ग में एक से अधिक कंस्ट्रक्टर हो सकते हैं।


कंस्ट्रक्टर का एक उदाहरण निम्नलिखित है -

public class Puppy {
   public Puppy() {
   }

   public Puppy(String name) {
      // This constructor has one parameter, name.
   }
}


जावा सिंगलटन क्लासेस को भी सपोर्ट करता है जहाँ आप क्लास का केवल एक इंस्टेंस बना पाएंगे।


नोट - हमारे पास दो अलग-अलग प्रकार के कंस्ट्रक्टर हैं। हम अगले अध्यायों में निर्माणकर्ताओं पर विस्तार से चर्चा करने जा रहे हैं।


Creating an Object in java in Hindi

जैसा कि पहले उल्लेख किया गया है, एक वर्ग वस्तुओं के लिए ब्लूप्रिंट प्रदान करता है। तो मूल रूप से, एक वस्तु एक वर्ग से बनाई जाती है। जावा में, नए कीवर्ड का उपयोग नई वस्तुओं को बनाने के लिए किया जाता है।


क्लास से ऑब्जेक्ट बनाते समय तीन चरण होते हैं -


  • Declaration - एक वस्तु प्रकार के साथ एक चर नाम के साथ एक चर घोषणा।


  • Instantiation − ऑब्जेक्ट बनाने के लिए 'नया' कीवर्ड का उपयोग किया जाता है।


  • Initialization − 'नया' कीवर्ड के बाद कंस्ट्रक्टर को कॉल किया जाता है। यह कॉल नई वस्तु को इनिशियलाइज़ करती है।


ऑब्जेक्ट बनाने का एक उदाहरण निम्नलिखित है -

public class Puppy {
   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name );
   }

   public static void main(String []args) {
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Accessing Instance Variables and Methods

निर्मित object's के माध्यम से इंस्टेंस चर  (instance variable)और विधियों का उपयोग किया जाता है। एक आवृत्ति चर (instance variable) का उपयोग करने के लिए, निम्नलिखित पूरी तरह से योग्य पथ है -

/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

उदाहरण

यह उदाहरण बताता है कि किसी वर्ग के आवृत्ति चर और विधियों का उपयोग कैसे किया जाता है।

public class Puppy {
   int puppyAge;

   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name );
   }

   public void setAge( int age ) {
      puppyAge = age;
   }

   public int getAge( ) {
      System.out.println("Puppy's age is :" + puppyAge );
      return puppyAge;
   }

   public static void main(String []args) {
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge );
   }
}


Source File Declaration Rules in Java programming in Hindi

इस खंड के अंतिम भाग के रूप में, आइए अब स्रोत फ़ाइल घोषणा नियमों को देखें। स्रोत फ़ाइल में कक्षाएं, आयात विवरण और पैकेज विवरण घोषित करते समय ये नियम आवश्यक हैं।


  • प्रति स्रोत फ़ाइल में केवल एक सार्वजनिक वर्ग हो सकता है।


  • एक स्रोत फ़ाइल में कई गैर-सार्वजनिक वर्ग हो सकते हैं।


  • सार्वजनिक वर्ग का नाम स्रोत फ़ाइल का नाम भी होना चाहिए जिसे अंत में .java द्वारा जोड़ा जाना चाहिए। उदाहरण के लिए: वर्ग का नाम सार्वजनिक वर्ग कर्मचारी है {} तो स्रोत फ़ाइल कर्मचारी.जावा के रूप में होनी चाहिए।


  • यदि क्लास को पैकेज के अंदर परिभाषित किया गया है, तो पैकेज स्टेटमेंट सोर्स फाइल में पहला स्टेटमेंट होना चाहिए।


  • यदि आयात विवरण मौजूद हैं, तो उन्हें पैकेज विवरण और वर्ग घोषणा के बीच लिखा जाना चाहिए। यदि कोई पैकेज विवरण नहीं है, तो आयात विवरण स्रोत फ़ाइल में पहली पंक्ति होनी चाहिए।


  • आयात और पैकेज विवरण स्रोत फ़ाइल में मौजूद सभी वर्गों पर लागू होंगे। स्रोत फ़ाइल में विभिन्न वर्गों के लिए अलग-अलग आयात और/या पैकेज विवरण घोषित करना संभव नहीं है।


कक्षाओं में कई पहुँच स्तर होते हैं और विभिन्न प्रकार की कक्षाएं होती हैं; एब्सट्रैक्ट क्लासेस, फाइनल क्लासेस, आदि। इन सभी के बारे में हम एक्सेस मॉडिफायर चैप्टर में समझाएंगे।


उपर्युक्त प्रकार के वर्गों के अलावा, जावा में कुछ विशेष वर्ग भी हैं जिन्हें आंतरिक वर्ग और बेनामी वर्ग कहा जाता है।


  • Java Package

सरल शब्दों में, यह कक्षाओं और इंटरफेस को वर्गीकृत करने का एक तरीका है। जावा में एप्लिकेशन विकसित करते समय, सैकड़ों कक्षाएं और इंटरफेस लिखे जाएंगे, इसलिए इन वर्गों को वर्गीकृत करना आवश्यक है और साथ ही जीवन को बहुत आसान बनाता है।


  • Import Statements

जावा में यदि एक पूरी तरह से योग्य नाम, जिसमें पैकेज और वर्ग का नाम शामिल है, दिया जाता है, तो संकलक आसानी से स्रोत कोड या कक्षाओं का पता लगा सकता है। आयात विवरण संकलक के लिए उस विशेष वर्ग को खोजने के लिए उचित स्थान देने का एक तरीका है।


उदाहरण के लिए, निम्न पंक्ति संकलक को निर्देशिका java_installation/java/io में उपलब्ध सभी वर्गों को लोड करने के लिए कहेगी -

import java.io.*;


Thursday, July 8, 2021

Basic Syntax for java in Hindi - Java tutorial in Hindi

July 08, 2021 0
Basic Syntax for java in Hindi - Java tutorial in Hindi

 जब हम जावा प्रोग्राम पर विचार करते हैं, तो इसे वस्तुओं के संग्रह के रूप में परिभाषित किया जा सकता है जो एक दूसरे के तरीकों को लागू करके संचार करते हैं। आइए अब संक्षेप में देखें कि क्लास, ऑब्जेक्ट, मेथड्स और इंस्टेंस वेरिएबल्स का क्या मतलब है।


Object - वस्तुओं में राज्य और व्यवहार होते हैं। उदाहरण: एक कुत्ते की अवस्थाएँ होती हैं - रंग, नाम, नस्ल के साथ-साथ व्यवहार जैसे अपनी पूंछ हिलाना, भौंकना, खाना। एक वस्तु एक वर्ग का एक उदाहरण है।


Class − एक वर्ग को एक टेम्पलेट / खाका के रूप में परिभाषित किया जा सकता है जो उस व्यवहार / स्थिति का वर्णन करता है जो उसके प्रकार की वस्तु का समर्थन करती है।


Methods − एक विधि मूल रूप से एक व्यवहार है। एक वर्ग में कई विधियाँ हो सकती हैं। यह उन तरीकों में है जहां लॉजिक्स लिखे जाते हैं, डेटा में हेरफेर किया जाता है और सभी क्रियाओं को निष्पादित किया जाता है।


Instance Variables − प्रत्येक ऑब्जेक्ट में इंस्टेंस वेरिएबल्स का अपना अनूठा सेट होता है। किसी वस्तु की स्थिति इन आवृत्ति चरों को निर्दिष्ट मानों द्वारा बनाई जाती है।


First Java Program

आइए एक सरल कोड को देखें जो हैलो वर्ल्ड शब्दों को प्रिंट करेगा।

public class MyFirstJavaProgram {

   /* This is my first java program.
    * This will print 'Hello World' as the output
    */

   public static void main(String []args) {
      System.out.println("Hello World"); // prints Hello World
   }
}


आइए देखें कि फ़ाइल को कैसे सहेजा जाए, संकलित किया जाए और प्रोग्राम को चलाया जाए। कृपया बाद के चरणों का पालन करें -


  • नोटपैड खोलें और ऊपर दिए गए कोड को जोड़ें।


  • फ़ाइल को इस रूप में सहेजें: MyFirstJavaProgram.java।


  • एक कमांड प्रॉम्प्ट विंडो खोलें और उस निर्देशिका पर जाएँ जहाँ आपने कक्षा को सहेजा था। मान लें कि यह C:\ है।


  • अपना कोड compile करने के लिए 'javac MyFirstJavaProgram.java' टाइप करें और एंटर दबाएं। यदि आपके कोड में कोई त्रुटि नहीं है, तो कमांड प्रॉम्प्ट आपको अगली पंक्ति में ले जाएगा (धारणा: पथ चर सेट है)।


  • अब अपना प्रोग्राम चलाने के लिए 'java MyFirstJavaProgram' टाइप करें।


  • आप विंडो पर 'हैलो वर्ल्ड' छपा हुआ देख पाएंगे।

OUTPUT :- 

C:\> javac MyFirstJavaProgram.java
C:\> java MyFirstJavaProgram 
Hello World


Basic Syntax in JAVA programming in Hindi


जावा प्रोग्राम के बारे में निम्नलिखित बातों का ध्यान रखना बहुत जरूरी है।


  • Case Sensitivity - जावा केस सेंसिटिव है, जिसका अर्थ है कि पहचानकर्ता हैलो और हैलो का जावा में अलग-अलग अर्थ होगा।


  • Class Names − सभी वर्ग नामों के लिए पहला अक्षर अपर केस में होना चाहिए। यदि वर्ग का नाम बनाने के लिए कई शब्दों का उपयोग किया जाता है, तो प्रत्येक आंतरिक शब्द का पहला अक्षर अपर केस में होना चाहिए।


उदाहरण: कक्षा MyFirstJavaClass


  • Method Names − सभी मेथड के नाम लोअर केस लेटर से शुरू होने चाहिए। यदि विधि का नाम बनाने के लिए कई शब्दों का उपयोग किया जाता है, तो प्रत्येक आंतरिक शब्द का पहला अक्षर अपर केस में होना चाहिए।


उदाहरण: public void myMethodName()


  • Program File Name − प्रोग्राम फ़ाइल का नाम बिल्कुल वर्ग के नाम से मेल खाना चाहिए।


फ़ाइल को सहेजते समय, आपको इसे कक्षा के नाम का उपयोग करके सहेजना चाहिए (याद रखें कि जावा केस संवेदनशील है) और नाम के अंत में '.java' संलग्न करें (यदि फ़ाइल का नाम और वर्ग का नाम मेल नहीं खाता है, तो आपका प्रोग्राम संकलित नहीं होगा )


लेकिन कृपया ध्यान दें कि यदि आपके पास फ़ाइल में कोई सार्वजनिक वर्ग मौजूद नहीं है तो फ़ाइल का नाम वर्ग के नाम से भिन्न हो सकता है। फ़ाइल में सार्वजनिक वर्ग होना भी अनिवार्य नहीं है।


उदाहरण: मान लें कि 'MyFirstJavaProgram' वर्ग का नाम है। फिर फ़ाइल को 'MyFirstJavaProgram.java' के रूप में सहेजा जाना चाहिए


  • public static void main(String args[]) − जावा प्रोग्राम प्रसंस्करण main() विधि से शुरू होता है जो प्रत्येक जावा प्रोग्राम का एक अनिवार्य हिस्सा है।


Java Identifiers in Hindi


सभी जावा घटकों को नामों की आवश्यकता होती है। वर्गों, चरों और विधियों के लिए उपयोग किए जाने वाले नाम पहचानकर्ता कहलाते हैं।


जावा में, पहचानकर्ताओं के बारे में याद रखने के लिए कई बिंदु हैं। वे इस प्रकार हैं -


  • सभी पहचानकर्ताओं को एक अक्षर (ए से जेड या ए से जेड), मुद्रा वर्ण ($) या अंडरस्कोर (_) से शुरू होना चाहिए।


  • पहले वर्ण के बाद, पहचानकर्ताओं में वर्णों का कोई भी संयोजन हो सकता है।


  • एक कुंजी शब्द का उपयोग पहचानकर्ता के रूप में नहीं किया जा सकता है।


  • सबसे महत्वपूर्ण बात, पहचानकर्ता केस संवेदनशील होते हैं।


  • कानूनी पहचानकर्ताओं के उदाहरण: आयु, $वेतन, _मान, _1_मान।


  • अवैध पहचानकर्ताओं के उदाहरण: 123abc, -salary.


Java Modifiers in Hindi


अन्य भाषाओं की तरह, संशोधक का उपयोग करके कक्षाओं, विधियों आदि को संशोधित करना संभव है। संशोधक की दो श्रेणियां हैं -


  •  Access Modifiers - default, public , protected, private


  • Non-access Modifiers − final, abstract, strictfp


हम अगले भाग में संशोधक के बारे में अधिक जानकारी देखेंगे।


Variables in Java in Hindi

जावा में वेरिएबल के प्रकार निम्नलिखित हैं -


  • Local Variables
  • Class Variables (Static Variables)
  • Instance Variables (Non-static Variables)

Arrays in Java in Hindi


Arrays ऐसी वस्तुएं हैं जो एक ही प्रकार के कई चर संग्रहीत करती हैं। हालांकि, एक सरणी ही ढेर पर एक वस्तु है। हम आगामी अध्यायों में घोषणा, निर्माण और आरंभ करने के तरीके पर गौर करेंगे।


  • Java Enums

Enums को Java 5.0 में पेश किया गया था। Enums एक चर को केवल कुछ पूर्वनिर्धारित मानों में से एक के लिए प्रतिबंधित करता है। इस प्रगणित सूची के मानों को एनम कहा जाता है।


Enums के उपयोग से आपके कोड में बग की संख्या को कम करना संभव है।


उदाहरण के लिए, यदि हम एक ताजा जूस की दुकान के लिए एक आवेदन पर विचार करते हैं, तो कांच के आकार को छोटे, मध्यम और बड़े तक सीमित करना संभव होगा। यह सुनिश्चित करेगा कि यह किसी को भी छोटे, मध्यम या बड़े के अलावा किसी भी आकार का ऑर्डर करने की अनुमति नहीं देगा।

class FreshJuice {
   enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest {

   public static void main(String args[]) {
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;
      System.out.println("Size: " + juice.size);
   }
}


Java Keywords in Hindi


निम्न सूची जावा में आरक्षित शब्द दिखाती है। इन आरक्षित शब्दों का उपयोग स्थिर या परिवर्तनशील या किसी अन्य पहचानकर्ता नाम के रूप में नहीं किया जा सकता है।


Java programming in hindi
Java programming in Hindi



Comments in Java in Hindi


जावा सी और सी ++ के समान सिंगल-लाइन और मल्टी-लाइन टिप्पणियों का समर्थन करता है। किसी भी टिप्पणी के अंदर उपलब्ध सभी वर्णों को जावा कंपाइलर द्वारा अनदेखा किया जाता है।


public class MyFirstJavaProgram {

   /* This is my first java program.
    * This will print 'Hello World' as the output
    * This is an example of multi-line comments.
    */

   public static void main(String []args) {
      // This is an example of single line comment
      /* This is also an example of single line comment. */
      System.out.println("Hello World");
   }
}


  • Using Blank Lines

केवल सफेद स्थान वाली एक पंक्ति, संभवतः एक टिप्पणी के साथ, एक रिक्त रेखा के रूप में जानी जाती है, और जावा इसे पूरी तरह से अनदेखा करता है।


  • Inheritance in Java in Hindi

जावा में, कक्षाओं को कक्षाओं से प्राप्त किया जा सकता है। मूल रूप से, यदि आपको एक नया वर्ग बनाने की आवश्यकता है और यहां पहले से ही एक वर्ग है जिसमें आपके लिए आवश्यक कुछ कोड हैं, तो आपके नए वर्ग को पहले से मौजूद कोड से प्राप्त करना संभव है।


यह अवधारणा आपको नए वर्ग में कोड को फिर से लिखे बिना मौजूदा वर्ग के क्षेत्रों और विधियों का पुन: उपयोग करने की अनुमति देती है। इस परिदृश्य में, मौजूदा वर्ग को सुपरक्लास कहा जाता है और व्युत्पन्न वर्ग को उपवर्ग कहा जाता है।


  • Interfaces in Java

जावा भाषा में, एक इंटरफ़ेस को एक दूसरे के साथ संवाद करने के तरीके पर वस्तुओं के बीच एक अनुबंध के रूप में परिभाषित किया जा सकता है। जब विरासत की अवधारणा की बात आती है तो इंटरफेस एक महत्वपूर्ण भूमिका निभाते हैं।


एक इंटरफ़ेस विधियों को परिभाषित करता है, एक व्युत्पन्न वर्ग (उपवर्ग) का उपयोग करना चाहिए। लेकिन विधियों का कार्यान्वयन पूरी तरह से उपवर्ग पर निर्भर है।


Wednesday, July 7, 2021

JAVA Programming In Hindi with Applications and features

July 07, 2021 0
JAVA Programming In Hindi with Applications and features

 जावा एक उच्च-स्तरीय प्रोग्रामिंग भाषा है जिसे मूल रूप से सन माइक्रोसिस्टम्स द्वारा विकसित किया गया था और 1995 में जारी किया गया था। जावा विभिन्न प्लेटफार्मों पर चलता है, जैसे कि विंडोज, मैक ओएस और यूनिक्स के विभिन्न संस्करण। यह java tutorial in Hindi की पूरी समझ देता है। जावा प्रोग्रामिंग भाषा सीखते समय यह संदर्भ आपको सरल और व्यावहारिक तरीकों से परिचित कराएगा।



Why to Learn java Programming in Hindi

 

जावा छात्रों और कामकाजी पेशेवरों के लिए एक महान सॉफ्टवेयर इंजीनियर बनने के लिए जरूरी है, खासकर जब वे सॉफ्टवेयर डेवलपमेंट डोमेन में काम कर रहे हों। मैं जावा प्रोग्रामिंग सीखने के कुछ प्रमुख लाभों की सूची दूंगा:



ऑब्जेक्ट ओरिएंटेड - जावा में, सब कुछ एक ऑब्जेक्ट है। जावा को आसानी से बढ़ाया जा सकता है क्योंकि यह ऑब्जेक्ट मॉडल पर आधारित है।



प्लेटफ़ॉर्म इंडिपेंडेंट - C और C ++ सहित कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, जब जावा को संकलित किया जाता है, तो इसे प्लेटफ़ॉर्म विशिष्ट मशीन में संकलित नहीं किया जाता है, बल्कि प्लेटफ़ॉर्म स्वतंत्र बाइट कोड में संकलित किया जाता है। यह बाइट कोड वेब पर वितरित किया जाता है और वर्चुअल मशीन (JVM) द्वारा व्याख्या की जाती है, जिस भी प्लेटफॉर्म पर इसे चलाया जा रहा है।



सरल - जावा को सीखने में आसान बनाने के लिए डिज़ाइन किया गया है। यदि आप ओओपी जावा की मूल अवधारणा को समझते हैं, तो इसे मास्टर करना आसान होगा।



सुरक्षित - जावा की सुरक्षित विशेषता के साथ यह वायरस मुक्त, छेड़छाड़ मुक्त सिस्टम विकसित करने में सक्षम बनाता है। प्रमाणीकरण तकनीक सार्वजनिक कुंजी एन्क्रिप्शन (Authentication techniques) पर आधारित हैं।



आर्किटेक्चर-न्यूट्रल - जावा कंपाइलर एक आर्किटेक्चर-न्यूट्रल ऑब्जेक्ट फाइल फॉर्मेट जेनरेट करता है, जो जावा रनटाइम सिस्टम की मौजूदगी के साथ कई प्रोसेसर पर कंपाइल कोड को एक्जीक्यूटेबल बनाता है।



पोर्टेबल - वास्तुकला-तटस्थ होने और विनिर्देश के कार्यान्वयन पर निर्भर पहलुओं का न होना जावा को पोर्टेबल बनाता है। जावा में कंपाइलर एएनएसआई सी में एक स्वच्छ पोर्टेबिलिटी सीमा के साथ लिखा गया है, जो एक पॉज़िक्स सबसेट है।



मजबूत (Robust) - जावा मुख्य रूप से कंपाइल टाइम एरर चेकिंग और रनटाइम चेकिंग पर जोर देकर त्रुटि प्रवण स्थितियों को खत्म करने का प्रयास करता है।



Hello World using Java Programming in Hindi

 

जावा प्रोग्रामिंग के बारे में आपको थोड़ा उत्साह देने के लिए, मैं आपको एक छोटा पारंपरिक सी प्रोग्रामिंग हैलो वर्ल्ड प्रोग्राम देने जा रहा हूं


public class MyFirstJavaProgram {

   /* This is my first java program.
    * This will print 'Hello World' as the output
    */

   public static void main(String []args) {
      System.out.println("Hello World"); 
   }
}


Applications of Java Programming in Hindi | features of java in Hindi

 

जावा मानक संस्करण की नवीनतम रिलीज जावा एसई 8 है। जावा की प्रगति और इसकी व्यापक लोकप्रियता के साथ, विभिन्न प्रकार के प्लेटफार्मों के अनुरूप कई कॉन्फ़िगरेशन बनाए गए थे। उदाहरण के लिए: एंटरप्राइज़ एप्लिकेशन के लिए J2EE, मोबाइल एप्लिकेशन के लिए J2ME।



नए J2 संस्करणों का नाम बदलकर क्रमशः Java SE, Java EE और Java ME कर दिया गया। जावा को एक बार लिखने, कहीं भी चलाने की गारंटी है।



मल्टीथ्रेडेड - जावा के मल्टीथ्रेडेड फीचर के साथ ऐसे प्रोग्राम लिखना संभव है जो एक साथ कई कार्य कर सकते हैं। यह डिज़ाइन सुविधा डेवलपर्स को इंटरैक्टिव एप्लिकेशन बनाने की अनुमति देती है जो आसानी से चल सकते हैं।

Interpreted - जावा बाइट कोड का स्थानीय मशीन निर्देशों के लिए मक्खी पर अनुवाद किया जाता है और इसे कहीं भी संग्रहीत नहीं किया जाता है। विकास प्रक्रिया अधिक तीव्र और विश्लेषणात्मक है क्योंकि लिंकिंग एक वृद्धिशील और हल्की-फुल्की प्रक्रिया है।



उच्च प्रदर्शन - जस्ट-इन-टाइम कंपाइलर के उपयोग के साथ, जावा उच्च प्रदर्शन को सक्षम बनाता है।



डिस्ट्रिब्यूटेड - जावा को इंटरनेट के डिस्ट्रिब्यूटेड एनवायरनमेंट के लिए डिजाइन किया गया है।



डायनामिक - जावा को C या C++ की तुलना में अधिक गतिशील माना जाता है क्योंकि इसे एक विकसित वातावरण के अनुकूल बनाने के लिए डिज़ाइन किया गया है। जावा प्रोग्राम रन-टाइम जानकारी की व्यापक मात्रा ले सकते हैं जिसका उपयोग रन-टाइम पर ऑब्जेक्ट्स तक पहुंच को सत्यापित और हल करने के लिए किया जा सकता है।



  • Audience

यह java tutorial in Hindi शुरुआती लोगों के लिए जावा प्रोग्रामिंग भाषा से संबंधित बुनियादी से उन्नत अवधारणाओं को समझने में मदद करने के लिए तैयार किया गया है।

  • आवश्यक शर्तें (Prerequisites)

इससे पहले कि आप इस संदर्भ में दिए गए विभिन्न प्रकार के उदाहरणों का अभ्यास करना शुरू करें, हम मानते हैं कि आप पहले से ही कंप्यूटर प्रोग्राम और कंप्यूटर प्रोग्रामिंग भाषाओं के बारे में जानते हैं।

Tuesday, March 9, 2021

difference between spring mvc and spring boot in hindi

March 09, 2021 0
difference between spring mvc and spring boot in hindi

What Is Spring Boot in Hindi ?

स्प्रिंग बूट स्प्रिंग फ्रेमवर्क का एक विस्तार है जो डेवलपर्स को ऑटो-कॉन्फ़िगरेशन का उपयोग करके वेब एप्लिकेशन बनाने के लिए आवश्यक प्रक्रिया को छोटा करने की अनुमति देता है। 

आप एक स्वसंपूर्ण अनुप्रयोग बना सकते हैं जो जावा का उपयोग करता है और इसे अलग वेब सर्वर पर स्थापित करने की आवश्यकता के बिना इसे प्राप्त करना और चलाना। 

स्प्रिंग बूट का उपयोग करें कभी भी आपको जल्दी से उत्पादन-तैयार एप्लिकेशन की आवश्यकता होती है।


What Is Spring MVC in Hindi?

स्प्रिंग एमवीसी वसंत ढांचे के भीतर एक पुस्तकालय है जो HTTP अनुरोधों और प्रतिक्रियाओं को संभालने को सरल करता है। 

यह सर्वलेट एपीआई पर बनाया गया है और यह स्प्रिंग फ्रेमवर्क का एक अनिवार्य घटक है। 

एमवीसी मॉडल-व्यू-कंट्रोलर के लिए खड़ा है, जो इसका मुख्य कार्य है, जो व्यापार तर्क, प्रस्तुति तर्क और नेविगेशन तर्क को अलग करने की अनुमति देता है।

 पूरी तरह कार्यात्मक जावा वेब अनुप्रयोगों के निर्माण के लिए स्प्रिंग एमवीसी के तैयार किए गए घटकों का उपयोग करें।


Difference Between Spring MVC and Spring Boot in Hindi

जबकि स्प्रिंग एमवीसी एक आवश्यक ढांचा है जो स्प्रिंग के भीतर एक पूरे के रूप में मौजूद है, स्प्रिंग बूट एक वैकल्पिक मॉड्यूल है जिसका उपयोग विकास प्रक्रिया को कारगर बनाने के लिए किया जाता है,जिसमें बिल्ड प्रक्रिया के दौरान स्प्रिंग एमवीसी को एकीकृत करना शामिल हो सकता है। 

स्प्रिंग बूट के बिना, स्प्रिंग एमवीसी को उपयोग करने के लिए अधिक समय लगता है और मैन्युअल कॉन्फ़िगरेशन और अलग-अलग तैनाती विवरणों की आवश्यकता होती है।

difference between spring boot and spring mvc on the bases of work : -

How Spring MVC Works in Hindi:-

स्प्रिंग MVC वेब अनुप्रयोगों को लेआउट और डिज़ाइन करने के लिए तीन घटकों का उपयोग करता है, जैसा कि इसके नाम का अर्थ है: मॉडल, दृश्य और नियंत्रक। मॉडल घटक में एप्लिकेशन का डेटा और संरचना शामिल है और नियम और तर्क का उपयोग करने में भूमिका निभाता है। 

व्यू कंपोनेंट UI लॉजिक से संबंधित है और ब्राउजर के लिए HTML आउटपुट तैयार करता है। 

नियंत्रक तब इनपुट का अनुवाद और सत्यापन करता है और इसे प्रस्तुत करने के लिए मॉडल या दृश्य में भेजता है।

 स्प्रिंग एमवीसी ग्राहक अनुरोध के लिए प्रविष्टि के एकल बिंदु के रूप में फ्रंट नियंत्रक का उपयोग करता है और वास्तविक प्रसंस्करण के लिए आवेदन में अन्य नियंत्रकों के अनुरोध को आगे बढ़ाता है।

How Spring Boot Works in Hindi

स्प्रिंग बूट का उपयोग करने के लिए, शुरू करने के लिए एक अच्छी जगह स्प्रिंग इनिशियलाइज़र है, जो आपको किसी भी निर्भरता को जल्दी से खींचने और प्रोजेक्ट मेटाडेटा में भरने की अनुमति देता है। 

अगला कदम जेनरेट प्रेस करना है, जो आपके कंप्यूटर पर डाउनलोड किया गया एक ज़िप फ़ोल्डर बनाता है। 

यह फ़ोल्डर विशिष्ट कोड के साथ आपके IDE पर लोड किया गया है। चरण-दर-चरण स्पष्टीकरण के लिए इस गाइड को पढ़ें। 

स्प्रिंग बूट स्वत: प्रत्येक व्यक्तिगत निर्भरता के लिए कोड दर्ज करने की आवश्यकता के बिना इनिशियलाइज़र पर जोड़े गए निर्भरता को कॉन्फ़िगर करता है। कई निर्भरताएँ हैं जो पहले से ही स्प्रिंग MVC सहित स्प्रिंग बूट स्टार्टर वेब में पैक हैं।

Read more article : - difference between throw and throws in java


difference between spring mvc and spring boot on the bases of Uses :-

Why Use Spring Boot

चाहे आप नए हों या अनुभवी हों, नया एप्लिकेशन बनाते समय स्प्रिंग बूट आपके जीवन को आसान बनाता है। 

आसानी से सेटअप करें और अपने एप्लिकेशन को कॉन्फ़िगर करें और निर्भरताएं जोड़ें जो अन्य डेटाबेस और सेवाओं को एक साथ एकीकृत करते हैं।

Why Use Spring Boot in Hindi :-

ऐसी स्थितियों में जहां अधिक लचीलेपन की आवश्यकता होती है, स्प्रिंग एमवीसी आदर्श है क्योंकि इसे आपकी विशिष्ट आवश्यकताओं के लिए कॉन्फ़िगर किया जा सकता है। 

यह स्प्रिंग बूट के विरोध में है, जो ऑटो-कॉन्फ़िगरेशन पर निर्भर करता है जो प्रकृति में बहुत ही स्पष्ट है। सामान्य तौर पर, MVC का उपयोग डेवलपर को पूर्ण HTML नियंत्रण की पेशकश करने, आसान परीक्षण की अनुमति देने, एसईओ-अनुकूल URL रूटिंग उत्पन्न करने और फ्रेमवर्क में एक्सटेंशन को एकीकृत करने के लिए किया जाता है। 

इसके अलावा, स्प्रिंग MVC आपको अपने वेब एप्लिकेशन का समर्थन करने के लिए उपयोगिता कोड लिखने से बचने की अनुमति देता है क्योंकि यह HTTP अनुरोधों और प्रतिक्रियाओं को आसान बनाता है।


difference between spring and spring mvc on the bases of Benefits

Spring Boot Benefits in Hindi :-


  •     स्प्रिंग बूट का उपयोग करने के कई लाभ हैं:
  •     एक्सएमएल और एनोटेशन कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता को हटाकर एप्लिकेशन बनाते समय समय की बचत और कम प्रयास बर्बाद हो गया
  •     जावा-आधारित ऐप्स के परीक्षण की प्रक्रिया को सरल करता है
  •     निगरानी, ​​रेखांकन और चेतावनी के लिए समर्थन
  •     स्प्रिंग बूट उपयोगकर्ताओं का बड़ा समुदाय, जो कई प्रकार के समर्थन और संसाधन खोलता है


Spring MVC Benefits in Hindi


स्प्रिंग MVC चमकता है जब यह आता है:

  •     चिंताओं को अलग करने को बढ़ावा देना - यह मॉड्यूलर वेब एप्लिकेशन विकसित करने का एक शानदार तरीका है
  •     HTTP अनुरोधों को संभालने के थकाऊ और बॉयलरप्लेट कार्यों को सार
  •     रेस्टफुल वेब सेवाओं को विकसित करने के लिए उत्कृष्ट समर्थन
  • स्प्रिंग बूट और स्प्रिंग एमवीसी दोनों ही अनोखे फायदे लाते हैं, फिर भी तेज, अधिक कुशल विकास का एक ही लक्ष्य है। अपने वेब एप्लिकेशन के लिए उन्हें एक साथ उपयोग करने पर विचार करें।

difference between final finally and finalize in Hindi

March 09, 2021 0
difference between final finally and finalize in Hindi

 1) Final का इस्तेमाल क्लास, मेथड और वेरिएबल पर प्रतिबंध लगाने के लिए किया जाता है। अंतिम वर्ग को विरासत में नहीं दिया जा सकता है, अंतिम विधि को ओवरराइड नहीं किया जा सकता है और अंतिम चर मूल्य को नहीं बदला जा सकता है।

Read more : - difference between 3nf and bcnf in dbms

Finally में महत्वपूर्ण कोड रखने के लिए उपयोग किया जाता है, यह निष्पादित किया जाएगा कि अपवाद को संभाला गया है या नहीं।

Finalize रूप से ऑब्जेक्ट को एकत्र किए जाने से पहले साफ प्रसंस्करण करने के लिए उपयोग किया जाता है।

2)
Final एक कीवर्ड है।

Finally में एक ब्लॉक है।

Finalize रूप एक विधि है।

Difference between final finally finalize on the bases of Program example :-

Java final example Program

  1. class FinalExample{  
  2. public static void main(String[] args){  
  3. final int x=100;  
  4. x=200;//Compile Time Error  
  5. }} 

 Java finally example

  1. class FinallyExample{  
  2. public static void main(String[] args){  
  3. try{  
  4. int x=300;  
  5. }catch(Exception e){System.out.println(e);}  
  6. finally{System.out.println("finally block is executed");}  
  7. }} 

Read also :- difference between comparable and comparator in hindi

Java finalize example

 

  1. class FinalizeExample{  
  2. public void finalize(){System.out.println("finalize called");}  
  3. public static void main(String[] args){  
  4. FinalizeExample f1=new FinalizeExample();  
  5. FinalizeExample f2=new FinalizeExample();  
  6. f1=null;  
  7. f2=null;  
  8. System.gc();  
  9. }}

Monday, March 8, 2021

Difference between eclipselink vs hibernate

March 08, 2021 0
Difference between eclipselink vs hibernate

eclipselink vs hibernate :-  हाइबरनेट और एक्लिप्स लिंक दोनों ऑब्जेक्ट रिलेशनल मैपिंग टूल हैं। वे दोनों जेपीए के कार्यान्वयन हैं।

हाइबरनेट लाल टोपी द्वारा निर्मित जेपीए का बहुत लोकप्रिय कार्यान्वयन है। इसमें कुछ अतिरिक्त विशेषताएं भी हैं जो JPA प्रदान नहीं करता है।

Read also : - What is jpa vs hibernate in Hindi


ग्रहण ग्रहण फाउंडेशन द्वारा निर्मित जेपीए का एक खुला स्रोत कार्यान्वयन है। यह 'EE4J का हिस्सा बनी पहली परियोजना में से एक है। यह दो रूपों में उपलब्ध है -

  •      Eclipse link jar file format − यह पूर्ण पैकेज है। इसमें वह सब कुछ है जो किसी भी Eclipse link कार्यक्षमता को चलाने की आवश्यकता है।
  •      eclipse link component में से प्रत्येक के लिए OSGI बंडल।

Difference between eclipselink vs hibernate :-

Basic :- 

यह जेपीए का बहुत लोकप्रिय implementation है। यह JPA2.2 को लागू नहीं करता है, लेकिन इसकी लगभग सभी विशेषताएं हैं।

ग्रहण लिंक JPA 2.2 का एक open source implementation है।

Native SQL function

We can't call native function directly in JPQL queries 


हम
native SQL function को सीधे JPQl queries में कह सकते हैं

Batch size For eclipselink vs hibernate

हाइबरनेट में बैच आकार @batchSize के लिए एनोटेशन हैं

इसके लिए एनोटेशन नहीं है बैच आकार @batchSize

Boolean

हाइबरनेट JPQL कार्यान्वयन बूलियन मूल्य को नहीं समझता है

Eclipse link implementation बूलियन को समझ सकता है

User case For eclipselink vs hibernate in Hindi

हाइबरनेट बहुत परिपक्व और अच्छी तरह से documented है।

ग्रहण लिंक बहुत परिपक्व और अच्छी तरह से documented नहीं है।

 

What is jpa vs hibernate in Hindi

March 08, 2021 0
What is jpa vs hibernate in Hindi

difference between hibernate and jpa:-

What is JPA in Hindi?


एक जेपीए (जावा पर्सिस्टेंस एपीआई) जावा का एक विनिर्देश है जिसका उपयोग जावा ऑब्जेक्ट और रिलेशनल डेटाबेस के बीच डेटा को एक्सेस करने, प्रबंधित करने और बनाए रखने के लिए किया जाता है। 

इसे ऑब्जेक्ट रिलेशनल मैपिंग के लिए एक मानक दृष्टिकोण माना जाता है।

JPA को ऑब्जेक्ट-ओरिएंटेड डोमेन मॉडल और रिलेशनल डेटाबेस सिस्टम के बीच एक पुल के रूप में देखा जा सकता है।

 एक विनिर्देशन होने के नाते, जेपीए अपने आप से कोई ऑपरेशन नहीं करता है। 

इस प्रकार, इसे लागू करने की आवश्यकता है। तो, ओबीएम उपकरण जैसे हाइबरनेट, टॉपलिंक और आईबैटिस डेटा दृढ़ता के लिए जेपीए विनिर्देशों को लागू करते हैं।

Read also:- difference between final finally and finalize in Hindi

What is Hibernate in Hindi?


एक हाइबरनेट एक जावा फ्रेमवर्क है जिसका उपयोग रिलेशनल डेटाबेस सिस्टम में जावा ऑब्जेक्ट्स को स्टोर करने के लिए किया जाता है। यह एक ओपन-सोर्स, लाइटवेट, ओआरएम (ऑब्जेक्ट रिलेशनल मैपिंग) टूल है।

हाइबरनेट JPA का एक कार्यान्वयन है। तो, यह जेपीए द्वारा प्रदान किए गए सामान्य मानकों का पालन करता है।

Need of JPA

जैसा कि हमने अब तक देखा है कि जेपीए एक विनिर्देश है। यह ओआरएम टूल्स को सामान्य प्रोटोटाइप और कार्यक्षमता प्रदान करता है। समान विनिर्देश लागू करने से, सभी ORM उपकरण (जैसे हाइबरनेट, टॉपलिंक, आईबैटिस) सामान्य मानकों का अनुसरण करते हैं। 

भविष्य में, यदि हम अपने एप्लिकेशन को एक ORM टूल से दूसरे में बदलना चाहते हैं, तो हम इसे आसानी से कर सकते हैं।

jpa vs hibernate in Hindi

JPA
जावा पर्सिस्टेंस एपीआई (जेपीए) जावा अनुप्रयोगों में रिलेशनल डेटा के प्रबंधन को परिभाषित करता है।

यह सिर्फ एक विनिर्देश है। विभिन्न ओआरएम उपकरण डेटा दृढ़ता के लिए इसे लागू करते हैं।

इसे javax.persistence पैकेज में परिभाषित किया गया है।

EntityManagerFactory इंटरफ़ेस का उपयोग इकाई प्रबंधक कारखाने के साथ दृढ़ता इकाई के लिए बातचीत करने के लिए किया जाता है। इस प्रकार, यह एक इकाई प्रबंधक प्रदान करता है।

यह मैप किए गए निकाय वर्गों के उदाहरणों के लिए संचालन बनाने, पढ़ने और हटाने के लिए EntityManager इंटरफ़ेस का उपयोग करता है। यह इंटरफ़ेस दृढ़ता के संदर्भ में बातचीत करता है।

यह डेटाबेस संचालन करने के लिए ऑब्जेक्ट-ओरिएंटेड क्वेरी लैंग्वेज के रूप में जावा पर्सिस्टेंस क्वेरी लैंग्वेज (JPQL) का उपयोग करता है।


Hibernate

हाइबरनेट एक ऑब्जेक्ट-रिलेशनल मैपिंग (ओआरएम) उपकरण है जो डेटाबेस में जावा ऑब्जेक्ट की स्थिति को बचाने के लिए उपयोग किया जाता है।

यह सबसे अधिक उपयोग किए जाने वाले जेपीए कार्यान्वयन में से एक है।

यह org.hibernate पैकेज में परिभाषित किया गया है।

यह सत्र उदाहरण बनाने के लिए SessionFactory इंटरफ़ेस का उपयोग करता है।

यह मैप किए गए इकाई वर्गों के उदाहरणों के लिए संचालन बनाने, पढ़ने और हटाने के लिए सत्र इंटरफ़ेस का उपयोग करता है। यह जावा एप्लिकेशन और हाइबरनेट के बीच एक रनटाइम इंटरफ़ेस के रूप में व्यवहार करता है।

यह डेटाबेस ऑपरेशन करने के लिए ऑब्जेक्ट-ओरिएंटेड क्वेरी लैंग्वेज के रूप में हाइबरनेट क्वेरी लैंग्वेज (HQL) का उपयोग करता है।

Tuesday, February 23, 2021

Difference between CountDownLatch and CyclicBarrier in Java in Hindi

February 23, 2021 0
Difference between CountDownLatch and CyclicBarrier in Java in Hindi
दोनों CyclicBarrier और CountDownLatch का उपयोग एक ऐसे परिदृश्य को कार्यान्वित करने के लिए किया जाता है जहां एक thread प्रसंस्करण शुरू करने से पहले एक या अधिक थ्रेड के लिए अपनी job पूरी करने का इंतजार करता है,

 लेकिन difference between CountDownLatch and CyclicBarrier in Java है कि उन्हें अलग करता है और वह यह है कि, आप पुन: उपयोग नहीं कर सकते एक ही CountDownLatch उदाहरण एक बार गिनती शून्य तक पहुंच जाता है और कुंडी खुली रहती है, 

दूसरी CyclicBarrier को रीसेट करने के बाद CyclicBarrier को फिर से इस्तेमाल किया जा सकता है, एक बार बैरियर टूट जाने के बाद।


CountDownLatch की एक उपयोगी संपत्ति यह है कि इसके लिए यह आवश्यक नहीं है कि थ्रेड्स को CountDownLatch कहा जाए क्योंकि countDown प्रतीक्षा कर रहा है कि गिनती आगे बढ़ने से पहले शून्य तक पहुंच जाए, 

यह किसी भी thread को आगे बढ़ने से रोकता है और तब तक इंतजार करता है जब तक कि सभी थ्रेड्स पास नहीं हो जाते।

एक CyclicBarrier एक वैकल्पिक Runnable कमांड का समर्थन करता है, जो एक बार बाधा बिंदु के बाद चलाया जाता है, पार्टी में अंतिम धागा आने के बाद, लेकिन किसी भी थ्रेड को जारी करने से पहले। 

यह बाधा कार्रवाई किसी भी पक्ष के जारी रहने से पहले साझा-स्थिति को अपडेट करने के लिए उपयोगी है।

CyclicBarrier विफल सिंक्रनाइज़ेशन प्रयासों के लिए एक fast-fail all-or-none breakage model का उपयोग करता है: यदि कोई थ्रेड बाधा, interruption, failure, or timeout,अन्य सभी थ्रेड्स, यहां तक ​​कि उन सभी को समय से पहले एक अवरोध बिंदु छोड़ देता है, 

जो अभी तक एक पिछले से फिर से शुरू नहीं हुए हैं await (),BrokenBarrierException (या InterruptedException के माध्यम से असामान्य रूप से छोड़ देंगे यदि वे भी एक ही समय में बाधित हो गए थे)।

यह आरेख अच्छी तरह से जावा समरूपता में काउंटडाउनचैच और साइक्लिक बैरियर के बीच के अंतर को स्पष्ट करता है:


difference between CountDownLatch and CyclicBarrier
 difference between CountDownLatch and CyclicBarrier

यह सब जावा में काउंटडाउनचैच और साइक्लिक बैरियर के बीच अंतर के बारे में है। जैसा कि मैंने कहा, महत्वपूर्ण अंतर यह है कि आप CyclicBarrier का पुन: उपयोग कर सकते हैं लेकिन एक बार काउंट डाउन शून्य तक पहुंचने पर CountDownLatch का पुन: उपयोग नहीं किया जा सकता है।

इसलिए CyclicBarrier का उपयोग अक्सर तब किया जाता है जब कार्य को दोहराया जाता है जबकि CountDownLatch का उपयोग क्लाइंट कनेक्शन स्वीकार करने से पहले प्रारंभिक कैश लोड करने जैसे एक बार के कार्य के लिए किया जाता है।

How to pause Thread in Java with the help of Sleep() and TimeUnit Example

February 23, 2021 0
How to pause Thread in Java with the help of Sleep() and TimeUnit Example

 वर्तमान में चल रहे थ्रेड को रोकने या निष्पादित करने के कई तरीके हैं, लेकिन थ्रेड को स्लीप स्टेट में Thread.sleep() method का उपयोग करके पॉज़ को पेश करने का सही तरीका है।

 कुछ लोग कहेंगे,  why not use wait and notify?. सिर्फ थ्रेडिंग के लिए उन तरीकों का उपयोग करना अच्छा नहीं है। 

वे सशर्त प्रतीक्षा के उपकरण हैं और वे समय पर निर्भर नहीं करते हैं। wait() का उपयोग करते हुए अवरुद्ध एक thread wait तक रहेगा जिस पर वह प्रतीक्षा कर रहा है उस स्थिति को बदल दिया जाता है। 

 हां, आप वहां टाइमआउट कर सकते हैं लेकिन  wait() method अलग है, वे जावा में इंटर-थ्रेड संचार के लिए डिज़ाइन किए गए हैं।

 sleep () method का उपयोग करके, आप कुछ समय के लिए करंट को रोकते हैं।
 

आपको wait() and notify()और इसके विपरीत में sleep () का उपयोग कभी नहीं करना चाहिए। 

एक और कारण है कि थ्रेड को रोकने के लिए प्रतीक्षा और सूचना का उपयोग नहीं किया जाना चाहिए, उन्हें लॉक की आवश्यकता है। 

आप उन्हें केवल एक सिंक्रनाइज़ विधि या ब्लॉक से कॉल कर सकते हैं और प्राप्त कर सकते हैं और एक lock releaseकर सकते हैं सस्ता नहीं है।

इससे भी महत्वपूर्ण बात, आपको केवल थ्रेडिंग के लिए ताला लगाने की आवश्यकता क्यों है? wait () और sleep() method के बीच एक महत्वपूर्ण अंतर यह है कि, Thread.sleep () वर्तमान थ्रेड को प्रतीक्षा पर रखता है, लेकिन इसे पकड़े हुए किसी भी लॉक को रिलीज़ नहीं करता है,

 लेकिन प्रतीक्षा जारी होने से पहले होने वाले लॉक को रिलीज़ करता है अवरुद्ध अवस्था में।

संक्षेप में, multi-threading आसान नहीं है, यहां तक ​​कि एक साधारण कार्य जैसे कि एक
thread बनाना, एक thread को रोकना या एक thread रोकना जावा एपीआई के अच्छे ज्ञान की आवश्यकता है। 

आपको सही जगह पर सही विधि का उपयोग करने की आवश्यकता है।

How to pause Thread using Sleep in Java in Hindi

यहाँ जावा में Thread.sleep () और TimeUnit.sleep () पद्धति का उपयोग करके एक रनिंग थ्रेड को रोकने के लिए हमारा नमूना जावा प्रोग्राम है। 

इस सरल कार्यक्रम में, हमारे पास दो धागे हैं, मुख्य धागा जो जेवीएम द्वारा शुरू किया गया है और public static void main(String args[]) method को लागू करके आपके जावा प्रोग्राम को निष्पादित करता है।

 second thread "T 1" है, जिसे हमने बनाया है और इसका उपयोग हमारे गेम लूप को चलाने के लिए किया जाता है। 

इस थ्रेड के लिए हमने जो रनवेबल टास्क पास किया, उसमें लूप रहते हुए अनंत है, जो रुकने तक चलता है। 

यदि आप बारीकी से देखते हैं, तो हमने जावा में एक धागा को रोकने के लिए एक अस्थिर संशोधक का उपयोग किया है।

मुख्य थ्रेड पहले थ्रेड शुरू करता है और फिर हमारे गेम क्लास में स्टॉप () पद्धति का उपयोग करके इसे रोकता है जो रननेबल का विस्तार करता है। जब T1 शुरू होता है तो यह गेम लूप में चला जाता है और फिर 200 मिलीसेकंड के लिए रुक जाता है। 

बीच में हमने TimeUnit.sleep () method का उपयोग करके सोने के लिए मुख्य धागा भी रखा है। 

तो main thread कुछ समय के लिए इंतजार कर सकता है और इस बीच, टी 1 फिर से शुरू और समाप्त हो जाएगा। यदि आपने पहले से नहीं पढ़ा है, तो आपको जावा में मल्टीथ्रेडिंग की व्यापक समझ हासिल करने के लिए जावा कंसीलर प्रैक्टिस में पढ़ना चाहिए।

एक उदाहरण में, हमने thread in Java को रोकने के दो तरीके सीखे हैं। Thread.sleep () method और TimeUnit.sleep () method का उपयोग करके। आपके पास  using Thread.sleep()  एक मिलीसेकंड में sleep का समय है लेकिन यह कोड से स्पष्ट नहीं है। यह वह जगह है जहाँ TimeUnit वर्ग मदद करता है।

आपको एक विशिष्ट समय इकाई के लिए टाइम यूनाइट उदाहरण मिलता है। उस पर sleep से पहले  TimeUnit.SECONDS or TimeUnit.MICROSECOND

आप इसके बहुत अधिक स्पष्ट रूप से देख सकते हैं कि एक thread अब कितने समय तक इंतजार करेगा। 

संक्षेप में, टाइम यूनाइट क्लास 'sleep () विधि का उपयोग किसी थ्रेड को रोकने के लिए करें क्योंकि यह अधिक पठनीय है।


Thread.sleep() and TimeUnit Example in JAVA in Hindi

import static java.lang.Thread.currentThread;

import java.util.concurrent.TimeUnit;

/**
* Java Program to demonstrate how to pause a thread in Java.
* There is no pause method, but there are multiple way to pause
* a thread for short period of time. Two popular way is either
* by using Thread.sleep() method or TimeUnit.sleep() method.
*
* @author java67
*/


public class ThreadPauseDemo {

public static void main(String args[]) throws InterruptedException {
Game game = new Game();

Thread t1 = new Thread(game, "T1");
t1.start();

//Now, let's stop our Game thread
System.out.println(currentThread().getName() + " is stopping game thread");
game.stop();

//Let's wait to see game thread stopped
TimeUnit.MILLISECONDS.sleep(200);

System.out.println(currentThread().getName() + " is finished now");
}
}

class Game implements Runnable{
private volatile boolean isStopped = false;

public void run() {

while(!isStopped){
System.out.println("Game thread is running.....");
System.out.println("Game thread is now going to pause");

try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}

System.out.println("Game thread is now resumed ..");
}

System.out.println("Game thread is stopped....");
}

public void stop(){
isStopped = true;
}
}

Output
main is stopping game thread
Game thread is running.....
Game thread is now going to pause
Game thread is now resumed ..
Game thread is stopped....
main is finished now

Important points about sleep() method :

अब आप जानते हैं कि थ्रेड को स्लीप या पॉज़ पर कैसे रखा जाता है, यह JAVA में Thread.sleep() पद्धति के बारे में कुछ तकनीकी विवरणों को जानने का समय है।

How to pause Thread in Java in hindi
How to pause Thread in Java

1) Thread.sleep() एक स्थिर तरीका है और यह हमेशा सोने के लिए मौजूदा थ्रेड को रखता है।

2) आप sleep हुए thread पर  interrupt() method कहकर sleep के thread को जगा सकते हैं।

3) नींद की विधि इस बात की गारंटी नहीं देती है कि धागा कई मिलीसेकेंड के लिए सोएगा, इसकी सटीकता सिस्टम टाइमर पर निर्भर करती है और यह पहले थ्रेड के लिए संभव है।

4) यह उस acquired
lock को release नहीं करता है।


TimeUnit's sleep() method और टाइम यूनीट sleep () पद्धति का उपयोग करके थ्रेड को थ्रेड पर कैसे रखा जाए, यह सब है। 

TimeUnit class का उपयोग करना बेहतर है क्योंकि यह कोड की पठनीयता में सुधार करता है, 

लेकिन यह याद रखना भी मुश्किल नहीं है कि तर्क सोने के लिए sleep()  विधि मिलीसेकंड में है। याद रखने वाली दो मुख्य बातें यह है कि Thread.sleep () एक स्थिर विधि है और हमेशा sleep के लिए वर्तमान थ्रेड को रखें, और यह स्लीप थ्रेड द्वारा आयोजित किसी भी लॉक को रिलीज़ नहीं करता है।