What is synchronization and why is it  important?
With respect to multithreading, synchronization is the capability to  control the access of multiple threads to shared resources. Without  synchronization, it is possible for one thread to modify a shared object  while another thread is in the process of using or updating that  object's value. This often causes dirty data and leads to significant  errors. 
What are synchronized methods and synchronized statements?  
Synchronized methods are methods that are used to control access to a  method or an object. A thread only executes a synchronized method after  it has acquired the lock for the method's object or class. Synchronized  statements are similar to synchronized methods. A synchronized statement  can only be executed after a thread has acquired the lock for the object  or class referenced in the synchronized statement. 
What are three ways in which a thread can enter the waiting state? 
A thread can enter the waiting state by invoking its sleep() method, by  blocking on IO, by unsuccessfully attempting to acquire an object's  lock, or by invoking an object's wait() method. It can also enter the  waiting state by invoking its (deprecated) suspend() method. 
Can a lock be acquired on a class?  
Yes, a lock can be acquired on a class. This lock is acquired on the  class's Class object. 
What's new with the stop(), suspend() and resume() methods in JDK  1.2? 
The stop(), suspend() and resume() methods have been deprecated in JDK  1.2. 
What is the preferred size of a component?
   The preferred size of a component is the minimum component size that  will allow the component to display normally. 
What's the difference between J2SDK 1.5 and J2SDK 5.0?  
There's no difference, Sun Microsystems just re-branded this version. 
What would you use to compare two String variables - the operator ==  or the method equals()? 
I'd use the method equals() to compare the values of the Strings and the  == to check if two variables point at the same instance of a String  object.
What is thread? 
A thread is an independent path of execution in a system. 
What is multi-threading?  
Multi-threading means various threads that run in a system. 
How does multi-threading take place on a computer with a single CPU? 
The operating system's task scheduler allocates execution time to  multiple tasks. By quickly switching between executing tasks, it creates  the impression that tasks execute sequentially. 
How to create a thread in a program?  
You have two ways to do so. First, making your class "extends" Thread  class. Second, making your class "implements" Runnable interface. Put  jobs in a run() method and call start() method to start the thread.  
Can Java object be locked down for exclusive use by a given thread?
 Yes. You can lock an object by putting it in a "synchronized" block. The  locked object is inaccessible to any thread other than the one that  explicitly claimed it. 
Can each Java object keep track of all the threads that want to  exclusively access to it? 
Yes. Use Thread.currentThread() method to track the accessing thread. 
Does it matter in what order catch statements for  FileNotFoundException and IOExceptipon are written?  
Yes, it does. The FileNoFoundException is inherited from the IOException.  Exception's subclasses have to be caught first. 
What invokes a thread's run() method?  
After a thread is started, via its start() method of the Thread class,  the JVM invokes the thread's run() method when the thread is initially  executed.
No comments:
Post a Comment