JAVA虚拟机系列(一) 类的加载目录1 类的初始化过程2 详解初始化时的各个阶段一、类初始化的过程先来看一个CLASS文件在整体生命周期里会遇到的阶段:xxxx.class --->加载---->连接--->初始化---> 使用--->卸载。我们将会在本章讨论一下xxxx.class--->加载-...
分类:
其他好文 时间:
2014-09-09 11:56:38
阅读次数:
155
1.流程 1.1 Yii::createWebApplication()->run(); 1.2 内部类的加载 1.3 config的加载 1.4 代理的分发(一般根据url参数对应到相应的实现CController的类XXXController的action) 1.5执行相应的action 2.yii的优点...
分类:
其他好文 时间:
2014-08-29 11:18:08
阅读次数:
222
内存中对象的创建、对象的结构以及访问方式。
一、对象的创建
在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢?
(一)判断类是否加载。虚拟机遇到一条new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号代表的类是否被加载、解析并初始化。如果没有完成这个过程,则必须执行相应类的加载。
(二)在堆上...
分类:
编程语言 时间:
2014-08-17 20:00:52
阅读次数:
196
java虚拟机与程序的生命周期1.java虚拟机结束生命周期的原因 1.执行system.exit()方法。 2.程序正常执行结束。 3. 程序在执行过程中遇到了异常或错误终止。 4.由于操作系统出现错误而导致java虚拟机进程终止。2.类的加载、连接与初始化 加载:查找并加载类的二进制数...
分类:
其他好文 时间:
2014-08-16 18:24:10
阅读次数:
198
1,java类的加载java类的加载是指将.class文件(可能在磁盘,也可能在网络)加载到内存中,并为之生成java.lang.class对象的实例java中类以其全限定包名作为唯一标识,jvm中则以全限定包名和类加载器作为唯一标识。jvm中的类加载器有三个层次:根类加载器、扩展类加载器、系统类加...
分类:
编程语言 时间:
2014-08-08 01:31:24
阅读次数:
296
周末闲来无事,做个小例子去看一下JAVA代码初始化的过程JAVA代码初始化分为两个步骤:类初始化,对象初始化。类初始化1 类初始化是指类加载器将类加载到内存时,对类成员的初始化过程(其中包括static修饰的变量)。2 对于加载完的类,它的类变量都会赋一个默认值,即使你定义时就赋值了。3 例如int...
分类:
编程语言 时间:
2014-08-03 15:11:15
阅读次数:
274
内存中对象的创建、对象的结构以及访问方式。
一、对象的创建
在语言层面上,对象的创建只不过是一个new关键字而已,那么在虚拟机中又是一个怎样的过程呢?
(一)判断类是否加载。虚拟机遇到一条new指令的时候,首先会检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号代表的类是否被加载、解析并初始化。如果没有完成这个过程,则必须执行相应类的加载。
(二)在堆上为对象分配空...
分类:
编程语言 时间:
2014-07-25 11:22:21
阅读次数:
261
深入研究Java类加载机制
类加载是Java程序运行的第一步,研究类的加载有助于了解JVM执行过程,并指导开发者采取更有效的措施配合程序执行。
研究类加载机制的第二个目的是让程序能动态的控制类加载,比如热部署等,提高程序的灵活性和适应性。
一、简单过程
Java程序运行的场所是内存,当在命令行下执行:
java HelloWorld
命令的时候,JVM会将HelloW...
分类:
编程语言 时间:
2014-07-24 11:29:42
阅读次数:
323
1、类的加载、连接和初始化
类初始化通常包括加载、连接、初始化三个步骤。
(1)进程的结束
每当运行一个java程序时,将会启动一个java虚拟机进程,不管程序多么复杂,有多少线程,都在这个java虚拟机进程里。以下四种情况会使得该进程被终止——
程序运行到最后正常结束;
程序里遭遇了System.exit(),或者是Runtime.getRunTime().exit(...
分类:
编程语言 时间:
2014-06-16 14:33:56
阅读次数:
274
1、static关键字 1.1、static可以修饰成员变量,成员方法,还有类(其中这里的类是内部类) 1.2、static修饰的部分会随着类的加载而加载: 加载过程:当JVM执行static修饰的代码时,会在内存的共享区给static部分开辟一个空间,供该类持有,static部分不是某个...
分类:
编程语言 时间:
2014-06-14 21:18:34
阅读次数:
269