java -- 虚拟机和内存

Posted 一点一滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java -- 虚拟机和内存相关的知识,希望对你有一定的参考价值。

从大方向来分:
栈内存,堆内存,方法区,本地方法栈,程序计数器

java从存储数据的角度来分:

寄存器(register):最快的存储区,由编译器根据需求进行分配,不由认为控制.

堆栈(statck):存放基本数据类型和引用别名

堆(heep):new出来的东西

静态存储(static storage):存放静态成员static定义的

常量存储:(constant storage):存放字符串常量和基本类型常量(final)

非RAM存储

对于字符串:其对象的引用都用存储在栈中的,如果在编译期已经创建好的就存储在常量池中,如果运行期(new出来的)才能确定的就存储在堆中.

对于equals相等(字符串值相等)的字符串,在常量池中永远只有一份,在堆中可以有多份.




















以上是关于java -- 虚拟机和内存的主要内容,如果未能解决你的问题,请参考以下文章

java -- 虚拟机和内存

java虚拟机和内存优化总结

Android内存优化Dalvik虚拟机和ART虚拟机对比

虚拟机和主机之间一系列工具包,开启双向复制粘贴后导致的内存占用问题

android -------- java虚拟机和Dalvik虚拟机

Java虚拟机和Dalvik虚拟机的区别