初识Java内存模型

Java内存模型

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

《初识Java内存模型》

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

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

ps:感觉写blog比学习还累,blog就尽量这样吧,每天一个小知识点,最可怕的不是不懂,而是不知道有这个玩意。知识的延伸,大家自己搜索和看书吧,欢迎讨论交流。
    原文作者:java内存模型
    原文地址: https://blog.csdn.net/u010866364/article/details/52938851
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞