2.栈,堆,寄存器的理解

1,寄存器,在是cpu中的一块空间,速度比较快..Java不能直接对寄存器操作
2,堆栈位于RAM中,速度仅次于寄存器..将基本数据类型和对象的引用,方法的形式参数存储在栈中
3,堆,也位于RAM中,当你new 一个对象的时候,他会自动在堆里进行分配..将字符串,数组,集合,对象,this等大数据存储在堆中

4.方法区,位于RAM中..存储静态变量,string常量,class


5,常数储存,直接放到代码内部,这样做是安全的,还有就是,他不会被改变.
6,非ram储存 如果数据完全存在于程序之外,那么可以不受程序的控制,在程序没有运行里也可以存在,有两个例子,"流对象","持久化对象"

参考的三篇文章:https://www.zhihu.com/question/24565362#answer-17187332

http://wenwen.sogou.com/z/q128566269.htm

http://m.blog.csdn.net/qq_35649088/article/details/78459357

原文地址:https://www.cnblogs.com/BelieveFish/p/6258663.html