jvm
HankingHu
这个作者很懒,什么都没留下…
展开
-
深入理解Jvm--Java静态分配和动态分配完全解析
jvm中绑定Binding的概念绑定是针对类型而言的,指的是类型确定的过程,通常发生在访问对象成员或者方法调用的过程中。当我们谈论方法或属性的访问时动态绑定还是静态绑定时,实际上指的是方法的接收者和属性的所有者的类型确定(determine by atual type or determine by static type)。根据类型确定发生在运行期还是编译期以及依据实际类型还是静态类型,可以将Bi原创 2017-06-10 17:00:12 · 3875 阅读 · 1 评论 -
深入理解jvm--Java类的初始化及主动引用和被动引用完全解析
初始化类初始化阶段是类加载过程的最后一步,前面的类加载过程中,除了在加载阶段用户应用程序可以通过自定义类加载器参与之外,其余动作完全由虚拟机主导和控制。 到了初始化阶段,才真正开始执行类中定义的Java程序代码(或者说是字节码)。初始化阶段是执行类构造器<clinit>()方法的过程。 主动引用对类进行引用时如果类没有进行过初始化,则先触发其初始化叫做主动引用。有且只有下面5中情况下才会进行主动引用原创 2017-06-10 20:45:56 · 2249 阅读 · 0 评论 -
深入理解jvm--Java中init和clinit区别完全解析
init和clinit区别①init和clinit方法执行时机不同 init是对象构造器方法,也就是说在程序执行 new 一个对象调用该对象类的 constructor 方法时才会执行init方法,而clinit是类构造器方法,也就是在jvm进行类加载—–验证—-解析—–初始化,中的初始化阶段jvm会调用clinit方法。参考文献①深入JAVA虚拟机第二版. ②https://stackover原创 2017-06-10 10:43:57 · 30031 阅读 · 13 评论 -
Java并发编程--深入理解volatile关键字
前言一个月以前就准备写篇关于volatile关键字的博客,一直没有动笔,期间看了大量的文章,发现一个小小volatile关键字竟然涉及JMM(Java memory model),JVM(Java virtual machine),Java多线程同步与安全各个方面的知识,写起了非常的困难,后面附带的参考文献仅仅是我看过文献的一部分。Java memory model(Java内存模型)在讲volat原创 2017-06-12 17:39:06 · 784 阅读 · 0 评论