Mostly Asked Java Basics Interview Questions | LiveCodeProgramming

Mostly Asked Java Basics Interview Questions

Q1. What is JVM, JRE, and JDK? What is JVM, JRE, and JDK?

JVM (Java Virtual Machine) executes Java bytecode on any device or OS. JRE (Java Runtime Environment) includes JVM and core libraries needed to run Java programs. JDK (Java Development Kit) contains JRE plus development tools like the Java compiler (javac) to write, compile, and debug Java applications.

JVM (Java Virtual Machine) किसी भी डिवाइस या OS पर Java बाइटकोड को चलाता है। JRE (Java Runtime Environment) में JVM और Java प्रोग्राम चलाने के लिए आवश्यक कोर लाइब्रेरीज होती हैं। JDK (Java Development Kit) में JRE के साथ Java प्रोग्राम लिखने, कंपाइल करने और डिबग करने के लिए टूल्स जैसे Java कंपाइलर (javac) शामिल होते हैं।

Q2. Why is Java platform-independent? Why is Java platform-independent?

Java is platform-independent because Java source code is compiled into an intermediate form called bytecode. Bytecode runs on the JVM, which is implemented on every platform. This means the same Java program can run on Windows, Linux, Mac, etc., without recompilation.

Java प्लेटफ़ॉर्म-इंडिपेंडेंट इसलिए है क्योंकि Java सोर्स कोड को बाइटकोड नामक मध्यवर्ती रूप में कंपाइल किया जाता है। यह बाइटकोड JVM पर चलता है, जिसे हर प्लेटफ़ॉर्म के लिए बनाया गया है। इसका मतलब है कि एक ही Java प्रोग्राम Windows, Linux, Mac आदि पर बिना पुनः कंपाइल किए चल सकता है।

Q3. Java program example Java program example

Basic Java program:

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

बेसिक Java प्रोग्राम:

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

Q4. Difference between == and equals() Difference between == and equals()

The == operator checks if two references point to the same object in memory (reference equality). The equals() method is intended to check logical equality (content equality), e.g., whether two different String objects have the same characters.

== ऑपरेटर जांचता है कि क्या दोनों रेफरेंस मेमोरी में एक ही ऑब्जेक्ट को पॉइंट करते हैं (रेफरेंस समानता)। equals() मेथड लॉजिकल समानता (कंटेंट समानता) जांचने के लिए होती है, जैसे दो अलग String ऑब्जेक्ट्स में एक जैसे अक्षर हों।

Q5. Is Java fully object-oriented? Is Java fully object-oriented?

Java is mostly object-oriented, but not fully. It supports primitive data types like int, float, boolean, which are not objects. Everything else like classes, arrays, and interfaces are objects.

Java ज्यादातर ऑब्जेक्ट-ओरिएंटेड है, लेकिन पूरी तरह से नहीं। इसमें int, float, boolean जैसे primitive data types होते हैं जो ऑब्जेक्ट नहीं हैं। बाकी सब जैसे क्लास, एरे, और इंटरफेस ऑब्जेक्ट होते हैं।

Q6. What is a constructor in Java? What is a constructor in Java?

A constructor is a special method used to initialize objects. It has the same name as the class and no return type. Constructors are called automatically when an object is created. They can be overloaded to provide multiple ways to initialize an object.

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

Q7. What are access modifiers in Java? What are access modifiers in Java?

Access modifiers control the visibility of classes, methods, and variables. The main modifiers are: public (accessible everywhere), private (accessible only within class), protected (accessible within package and subclasses), and default (no modifier, accessible within package).

एक्सेस मोडिफायर्स क्लास, मेथड और वेरिएबल की विजिबिलिटी कंट्रोल करते हैं। मुख्य मोडिफायर्स हैं: public (सभी जगह से एक्सेस), private (सिर्फ क्लास के अंदर एक्सेस), protected (पैकेज और सबक्लास में एक्सेस), और default (कोई मोडिफायर नहीं, पैकेज के अंदर एक्सेस)।

Q8. Explain method overloading and overriding Explain method overloading and overriding

Method overloading means multiple methods in the same class share the same name but differ in parameter types or count. Method overriding means a subclass provides a specific implementation of a method already defined in its superclass to change or extend behavior.

Method overloading का मतलब है कि एक ही क्लास में कई मेथड्स एक जैसा नाम रखते हैं लेकिन उनके पैरामीटर का प्रकार या संख्या अलग होती है। Method overriding का मतलब है कि सबक्लास अपने सुपरक्लास के किसी मेथड को नए सिरे से परिभाषित करता है ताकि उसका व्यवहार बदला या बढ़ाया जा सके।

Q9. What is the difference between an abstract class and an interface? What is the difference between an abstract class and an interface?

An abstract class can have both abstract methods (without body) and concrete methods (with body). Interfaces can only have abstract methods (until Java 7), but since Java 8, interfaces can have default and static methods. Classes can extend one abstract class but implement multiple interfaces.

Abstract class में abstract मेथड्स (बिना बॉडी) और concrete मेथड्स (बॉडी वाले) दोनों हो सकते हैं। Interface में सिर्फ abstract मेथड्स होते थे (Java 7 तक), लेकिन Java 8 से interfaces में default और static मेथड्स भी हो सकते हैं। क्लास एक abstract class को एक्सटेंड कर सकती है लेकिन कई interfaces को इम्प्लीमेंट कर सकती है।

Q10. What is garbage collection in Java? What is garbage collection in Java?

Garbage collection is an automatic process that frees memory by deleting objects that are no longer reachable or used by the program. This helps to prevent memory leaks and manages heap memory without explicit deallocation by the programmer.

Garbage collection एक ऑटोमैटिक प्रोसेस है जो मेमोरी को फ्री करता है उन ऑब्जेक्ट्स को डिलीट करके जो अब प्रोग्राम द्वारा उपयोग में नहीं हैं। इससे मेमोरी लीक से बचाव होता है और हिप मेमोरी को प्रोग्रामर के मैनुअल डीलोकेशन के बिना मैनेज किया जाता है।