码迷,mamicode.com
首页 > 其他好文 > 详细

JVM的学习笔记

时间:2016-08-22 23:06:57      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:

一、JVM的启动和终止

当我们调用Java命令运行某个Java程序时,该命令将会启动一个Java虚拟机进程,不管该Java程序有多么复杂,该程序启动的所有线程,所有变量都处于该Java虚拟机进程里,它们都使用该JVM进程的内存区。当系统出现以下几种情况时,JVM进程将被终止。

  1. 程序运行到最后正常结束;
  2. 程序运行到使用System.exit()代码处结束程序;
  3. 程序运行过程中遇到未捕获的异常或者错误而结束;
  4. 程序所在的平台强制结束了JVM进程。

二、类的加载、连接和初始化

技术分享

1、类的加载

类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。

技术分享

无论类的示例有多少个,该类的Class对象只有一个,且通过查看源码知道,Class的构造方法为私有的,只有JVM才能创建该对象。

/*
     * Constructor. Only the Java Virtual Machine creates Class
     * objects.
     */
    private Class() {}

加载.class文件的方式:从本地系统中直接加载自己编译后的.class文件或者从zip,jar等归档文件中加载.class文件

JVM的学习笔记

标签:

原文地址:http://www.cnblogs.com/lyajs/p/5797077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!