java中级题目答案整理

  1. 打印b的值。

    String a = "abc";
            String b =a;
            a=null;
            System.out.println(b);

    输出为:abc

  2. 线程Thread有几种状态?

    线程有五种状态(也有说六种状态)。各种状态间的切换是通过不同方法的调用实现的。
    线程被创建(创建Thread类实例或者Thread类子类实例)
    start()后 
            线程运行--调用start()后开启的线程不一定立即就会被运行,即不一定立即调用run()方法。因为cpu在不同线程间要进行快速的切换。
            线程被开启后排队等待cpu执行的状态,我们称之为“临时状态或者阻塞状态”。此时,线程拥有执行资格,但没有执行权。
            线程调用start()开启后,可能处于两种状态——运行状态和临时状态(阻塞状态)
            运行状态中的线程调用sleep()或者wait()方法,线程就会处于“冻结状态”。
            注意:冻结状态包含“睡眠状态”和“等待状态”;
            此时的线程仍然“活着”,即进程依然存在。
    此时的线程仍然“活着”,即进程依然存在。
           处于“冻结状态”的线程没有cpu的执行权,不能直接就到运行状态,要先去排队,获得执行资格。即进入临时状态,再到运行状态。
           运行状态到“消亡状态”,线程调用stop(),或者run()执行完毕,正常结束。

  3. Vector和ArrayList有什么区别?Enumeration和Iterator有什么区别?













你可能感兴趣的:(java中级题目答案整理)