What is the difference between creating a thread by extending Thread class and by implementing Runnable interface? Which one should prefer?
Correct Answer
When creating a thread by extending the Thread class, it is not mandatory to override the run method (If we are not overriding the run method , it is useless), because Thread class have already given a default implementation for run method But if we are implementing Runnable , it is mandatory to override the run method The preferred way to create a thread is by implementing Runnable interface, because it give loose coupling
Technology problems
Search Results
1. What are the the different ways for creating a thread?
Correct Answer: When an exception is thrown , the catch block of the try statement are examined in the order in which they appear The first catch block that is capable of handling the exception is executed The remaining catch blocks are ignored
3. What is static initializer block? What is its use?
Correct Answer: A static initializer block is a block of code that declares with the static keyword It normally contains the block of code that must execute at the time of class loading The static initializer block will execute only once at the time of loading the class only
4. What is the impact of declaring a method as final?
Correct Answer: Path and Classpath are operating system level environment variales Path is used define where the system can find the executables(exe) files and classpath is used to specify the location class files
Correct Answer: A thread is a lightweight subprocess, a smallest unit of processing It is a separate path of execution It shares the memory area of process As shown in the above figure, thread is executed inside the process There is context-switching between the threads There can be multiple processes inside the OS and one process can have multiple threads
7. What do you understand by private, protected and public?
Correct Answer: These are accessibility modifiers Private is the most restrictive, while public is the least restrictive There is no real difference between protected and the default type (also known as package protected) within the context of the same package, however the protected keyword allows visibility to a derived class in a different package
8. If a method is declared as protected, where may the method be accessed?
Correct Answer: A protected method may only be accessed by classes or interfaces of the same package or by subclasses of the class in which it is declared
9. What is the difference between method overriding and overloading?
Correct Answer: Overriding is a method with the same name and arguments as in a parent, whereas overloading is the same method name but different arguments
Correct Answer: The classloader is a subsystem of JVM that is used to load classes and interfacesThere are many types of classloaders eg Bootstrap classloader, Extension classloader, System classloader, Plugin classloader etc