摘要: 今天一个同事说他遇到了意见很有趣的代码,说JVM出现问题了,代码如下: public class Test { public static void main(String[] args) { int i=40; int j=040; System.out.println(i==j); } } 打印 阅读全文
posted @ 2016-01-28 22:41 人生设计师 阅读(329) 评论(0) 推荐(0)
摘要: 上几次我们介绍到了JVM内部的几个类加载器,我们来重新画一下这个图,再来看一下他们之间的关系。 JVM的ClassLoader采用的是树形结构,除了BootstrapClassLoader以外?每个ClassLoader都会有一个parentClassLoader,用户自定义的ClassLoader 阅读全文
posted @ 2016-01-28 21:59 人生设计师 阅读(1193) 评论(0) 推荐(2)
摘要: 类的初始化 静态变量的声明语句以及静态代码块都被看作类的初始化语句,Java虚拟机会按照初始化语句在类文件中的先后顺序来依次加载它们。 上图中a的初始化其实经过了四步 1、 a被初始化为默认值0 2、 a被赋予正确的初始值1 3、 执行静态代码块,将a的值赋为2 4、 执行静态代码块,将a的值赋为4 阅读全文
posted @ 2016-01-28 13:50 人生设计师 阅读(348) 评论(0) 推荐(0)
摘要: 原文地址:http://yhjhappy234.blog.163.com/blog/static/31632832201152555245584/?suggestedreading&wumii 类的加载的最终产品是位于堆(heap)中的class对象,Class对象封装了类在方法区内的数据结构并向J 阅读全文
posted @ 2016-01-28 12:55 人生设计师 阅读(597) 评论(0) 推荐(0)