初识Java内存模型

 2019-12-10 16:04  阅读(845)
文章分类:Java Core

Java内存模型

本文主要以JVM虚拟机一书作为基础整理,虚拟机版本为HotSpot,JDK版本为1.7。本文只是简要建立一个模型图,并不会详细介绍每个区的特点,有的分类可能会和网络上面有些许区别,不过,我会解释,为什么我要这么分类。

20191210001542\_1.png

说到内存模型,很多java程序猿,想到的是堆和栈,有错么?没错,但是太笼统了,过于局限,遇到某些特殊情况,就不太好解释了。所以,我相信很多人看到我上面的内存结构架构图,可能有点陌生感。不过,个人感觉上图所示的分类,感觉更直观些,真正接受后,还算合理,下面解释一下吧。

    线程共享区,这个相信大家都知道,自然,线程私有区也没必要解释太多了,主要是直接内存,什么是直接内存?通俗点,直接内存和堆有关系,但它并不是堆。直接内存是从JDK1.4开始引入NIO(New Input/Output)而出现的,至于NIO是什么?干什么,这里只谈内存架构,我们不去关注它。她的引用放在于Java堆中,但实际内存却不在堆里面,所以,干脆拿出来吧。

    ps:感觉写blog比学习还累,blog就尽量这样吧,每天一个小知识点,最可怕的不是不懂,而是不知道有这个玩意。知识的延伸,大家自己搜索和看书吧,欢迎讨论交流。
点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 初识Java内存模型

相关推荐