黑马程序员技术交流社区

标题: 关于证明JVM是多线程的问题 [打印本页]

作者: 雷雨天    时间: 2016-9-17 21:26
标题: 关于证明JVM是多线程的问题
视频中老师用这个方法证明JVM起码执行了主线程和垃圾回收线程,但是我不懂的是两个for循环不应该是按先后顺序,先把第一个for执行完再执行后一个for吗?
为什么会穿插着输出"我是主线程的代码块"和"垃圾已经被清理了"??

代码如下:
package com.heima.thread;

public class Demo1_Thread {

        /**
         * @param args
         */
        public static void main(String[] args) {
                for (int i = 0; i < 100000; i++) {
                        new Demo();
                }
                for (int i = 0; i < 10000; i++) {
                        System.out.println("我是主线程的代码块");
                }
        }
}
class Demo {
        @Override
        public void finalize() {
                System.out.println("垃圾被清理了");
        }
       
}


作者: daikaisheng    时间: 2016-9-17 23:21
就是两个线程抢执行权,谁抢到了谁执行,只是这个过程非常非常非常块
作者: 郑大仙丶    时间: 2016-9-17 23:26
详情请看《深入了解java虚拟机》~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2