jvm
zhouyong0
这个作者很懒,什么都没留下…
展开
-
深入剖析Classloader(一)--类的主动使用与被动使用
我们知道java运行的是这样的,首先java编译器将我们的源代码编译成为字节码,然后由JVM将字节码load到内存中,接着我们的程序就可以创建对象了,我们知道JVM将字节码load到内存之后将将建立内存模型(JVM的内存模型我们将在稍后阐述),那JVM是怎么将类load到内存中的呢?对了,是通过Classloader,今天我们就来深入探讨一下Classloader。首先我们来看一段诡异转载 2012-09-02 00:43:07 · 1236 阅读 · 0 评论 -
深入剖析ClassLoader(三)—编译常量、类加载器深入剖析
类的初始化静态变量的生民语句以及静态代码块都被看作类的初始化语句,Java虚拟机会按照初始化语句在类文件中的先后顺序来依次夹在他们。 上图中a的初始化其实经过了四步1、 a被初始化为默认值02、 a被赋予正确的初始值13、 执行静态代码块,将a的值赋为24、 执行静态代码块,将a的值赋为4因此最终的执行结果是转载 2012-09-02 00:45:23 · 1348 阅读 · 0 评论 -
有趣的jvm加载的过程说明
代码public class MyTest {public static void main(String[] args) {// step 6Singleton singleton = Singleton.getInstance();//step 7System.out.println("counter1= " + singleton.counter1);System.out原创 2012-09-02 00:23:46 · 526 阅读 · 0 评论 -
深入剖析Classloader(二)--根类加载器,扩展类加载器与系统类加载器
类的加载的最终产品是位于堆(heap)中的class对象Class对象封装了类在方法区内的数据结构并向Java程序员提供访问方法区内的数据结构的接口。而反射就像一面镜子一样可这个接口是反射的接口,所以我们可以通过反射获得这个类的方法和属性,包括私有的方法和属性!下面我们来详细的介绍一下类加载器类的加载器有两种1、 Java虚拟机自带的加载器2、 用户自定转载 2012-09-02 00:44:28 · 2374 阅读 · 0 评论