黑马程序员技术交流社区

标题: Java程序运行原理 [打印本页]

作者: 南烟    时间: 2015-10-29 11:05
标题: Java程序运行原理
Java程序运行原理:
Java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程,
该进程会自动启动一个 “主线程” ,然后主线程去调用某个类的 main 方法.

JVM的启动是多线程的吗?
JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。

public class deno {

        /**
         * @param args
         */
        public static void main(String[] args) {
                for(int i = 1; i < 1000000; i++) {
                        new demo2();
                }
               
                for(int i = 1; i < 10000; i++) {
                        System.out.println("主线程执行");
                }
        }
}

class demo2 {
        @Override
        public void finalize() {
                System.out.println("垃圾清理");
        }
}

作者: jlq    时间: 2015-10-29 11:18
duide duide ne
作者: yuanjun52306    时间: 2015-10-29 11:25
这个demo会输出"垃圾清理"吗??
作者: 南烟    时间: 2015-10-29 18:19
yuanjun52306 发表于 2015-10-29 11:25
这个demo会输出"垃圾清理"吗??

会出现的,就看你在堆内存中创建对象的多少了

作者: yuanjun52306    时间: 2015-10-30 22:32
南烟 发表于 2015-10-29 18:19
会出现的,就看你在堆内存中创建对象的多少了

问题是你只new了,并没有调用finalize方法啊




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