Java questions for Newbies

1. If Runnable interface is better than Thread class, than why we are using Thread class? What is the need for Thread class? 2. Why we are calling System.gc() method to garbage collection of unused object, if garbage collection is automatically done in Java by daemon thread in background process with regular interval? 3. What is the significance of Marker interface? Why are we using, even though it has no method?

4. Why we are always doing rs.next() in first line of while loop in retrieving data from database through result set? 5. Please give me the details of synchronization? And which are the methods and elements used in it and why only that methods and variables? 6. Why we are not using Java in real time based application, but instead we are using C or C++? 7. Detail difference between 4 types of driver and their use in different different applications? 8. Is Java code with native methods platform-independent? 9. Why is the compiler platform-independent, while JVM is platform-dependent?\ 10. Mention different type of compilers and interpreters in Java?