1. What are the main features of Java?
2. Explain the concept of platform independence in Java.
3. What is the difference between JDK, JRE, and JVM?
4. How does Java achieve memory management?
5. What is the difference between a class and an object?
Object-Oriented Programming (OOP) in Java
6. What are the four principles of OOP?
7. How does Java implement abstraction?
8. What is method overloading and method overriding?
9. What is the use of the super keyword?
10. What is the difference between this and super?
Java Data Types and Variables
11. What are primitive and non-primitive data types in Java?
12. Explain the difference between int and Integer.
13. What are static variables and methods?
Control Flow and Loops
14. What is the difference between break and continue?
15. How does a switch statement work in Java?
Exception Handling
16. What is the difference between checked and unchecked exceptions?
17. What is the use of finally block?
18. How do you create a custom exception?
Collections Framework
19. What is the difference between ArrayList and LinkedList?
20. What is the difference between HashMap and Hashtable?
21. What are the key interfaces in the Java Collections Framework?
22. How does HashMap work internally?
Multithreading and Concurrency
23. What is the difference between process and thread?
24. How do you create a thread in Java?
25. What is the difference between synchronized method and block?
Java 8+ Features
26. What are lambda expressions?
27. What is the Stream API?
28. What are functional interfaces?
29. What is the Optional class used for?
Memory and Performance
30. What is garbage collection in Java?
31. What are memory leaks and how can they be prevented?
Miscellaneous / Advanced
32. What is reflection in Java?
33. What is the difference between == and .equals()?
34. What are annotations in Java?
35. What is the difference between final, finally, and finalize?
36. How does the StringBuilder differ from StringBuffer?