jvm
北京-小北
这个作者很懒,什么都没留下…
展开
-
关于static的加载顺序
直接上代码:class Parent{ public static void test(){ A=3; System.out.println("test方法"+A); } static{ System.out.println("par类静态块执行"); A=2; } public static int A=1;}class Sub extends Parent{原创 2014-08-23 18:16:26 · 1596 阅读 · 0 评论 -
JVM(二)内存分配和回收策略
在上一篇中,已经介绍了内存结构是什么样的. 这篇来介绍一下 内存是怎么分配的,和怎么回收的.(基本取自《深入理解Java虚拟机》一书)java技术体系中所提倡的自动内存管理最终可以归结为自动化的解决了两个问题--给对象分配内存以及回收分配给对象的内存.我们下面就来介绍这些是怎么自动化完成的.下面继续提出问题:1.怎么判断对象是否能被回收?2.垃圾回收是怎么进行的?3.方法区存在原创 2015-01-18 21:40:38 · 981 阅读 · 0 评论 -
JVM(一)内存结构
关于java堆栈的讨论,老是在群里遇到.百度出来的,大部分都是千篇一律,都是转载的,看的也是云里雾里.这几天经过自己查资料和询问别人,将内容理了一下.记录下来.(错误之处请指正).还是用我惯用的方式来写. 首先我们提出问题.1.jvm运行时,内存里面都分了哪些区?2.这些区里面都装了什么内容?3.这些区会内存溢出吗,什么情况下会出现?4.这些区跟多线程有没有什么关系?5.内原创 2015-01-18 18:14:37 · 886 阅读 · 1 评论 -
JVM(三)内存模型
在第一篇里面提到过.java内存模型(Java Memory Model,JMM):主要目标是用来定义程序中各个变量的访问规则,来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让java程序在各种平台下都能达到一致的并发效果.换句话说, java如何实现一次编写,到处运行? 内存模型的实现就是屏蔽掉各个平台的差异. 内存模型我感觉类似一个规范.在不同平台会有不同的实现.就像是接口与实现类的关系原创 2015-01-24 18:13:05 · 614 阅读 · 0 评论