1. Daemon threads do not Stop (false) JVM exists when no user threads are running and it does'nt care to wait for Daemon threads, stoping them as it exists.
2. A user thread can stop a daemon thread. (true)
Consider the following piece of code....
class D{
public static void main(
String[] args){
DT t1 = new DT();
t1.setDaemon(true);
t1.start();
try{
Thread.sleep(1);
} catch(Exception e){}
t1.stop();
System.out.println("Done...");
}
}
class DT extends Thread{
public void run(){
for(int i=0; i<100;i++) System.out.println(Thread.currentThread().getName() + " says " + i);
}
}
Run the code and observe....
3. yes you can declare a variable to be final static transient int i
Perhaps you mixed it up with volatile where volatile variables cannot be final and vice versa, but they can be static.