fpbl.net
当前位置:首页 >> 深入理解jvm内存模型 >>

深入理解jvm内存模型

《深入理解Java虚拟机:JVM高级特性与最佳实践》内容简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘.本书

第二版

了解java内存模型对深入了解jvm有很多好处.JMM通过控制主内存与每个线程的本地内存之间的交互,来为开发者提供内存可见性保证.

你说的应该是主存和工作内存吧,主存是公共空间,基本可以类比为虚拟机模型中的堆,对象创建好了都是在主存里,所有线程都可以访问,工作内存是线程的私有内存,只有本线程可以访问,如果线程要操作主存中的某个对象,必须从主存中拷贝到工作内存,在对工作内存中的副本进行操作,操作后再写入主存,而不能对主存的对象直接操作

但是在平常编程中,肯定经常遇到OOM问题.jvm的内存模型,简单来说就是堆栈结构,实际上内存的划分很复杂.推荐《深入java虚拟机》来入门了解.栈溢出和堆溢出,顾名思义,就是栈和堆上的内存不够用了,就抛出OOM异常呗.可以通过调整参数来控制堆栈的内存大小:-Xmn -XmxGC就是针对堆,栈,方法区的垃圾回收行为.这些问题还是要看书的,打字打死也说不完.

关于Program Order,对于每个线程,他只是一个语句的执行顺序集合定义,在这个集合里语句执行顺序能够保证正确性,即执行结果等于人为阅读代码时的执行结果(例如不管你按什么顺序执行1+1,始终等于2).而Program Order的正确性

可以的 没基础要多花点时间,一般培训半年就行了.1.计算机基础:1.1数据机构 4理解JVM推荐书籍:深入理解JAVA虚拟机1. JAVA内存模型,哪个区域存放哪些内

Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机.Java虚拟机支持的数据类型Java虚拟机支持Java语言的基本数据类型如下:byte://1字节有符号整数的补码short://2字节有符号整数的补码int://4字节有符号

因为java有自动的垃圾回收机制所以你没自己调用,当一个对象超出作用域或者没有引用时就有可能会被回收(不一定回收)List list =new ArrayList();list这个引用在栈内存中,ArrayList这个对象在堆内存中.等号就是一个指针,左边是引用,相当于你的名字,右边是实例,相当于你本人.

以前有过类似的问题 可以参考下:http://bbs.csdn.net/topics/370001490

网站首页 | 网站地图
All rights reserved Powered by www.fpbl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com