深入浅出JVM
贝氏小马
这个作者很懒,什么都没留下…
展开
-
JAVA内存区域与内存溢出异常
一、运行时数据区 JAVA运行时数据区包括程序计数器、本地方法栈、虚拟机栈、堆、方法区等,其中程序计数器、本地方法栈、虚拟机栈为线程私有内存、堆、方法区等为线程共享内存。 1、程序计数器,用来记录当前线程所执行的字节码的行号指示器。此内存为JAVA虚拟机规范中唯一一个没有规定OutOfMemoryError的内存区域。 2、JAVA虚拟机栈,在JAVA执行每一个方法时,虚拟机都会为其创建一个原创 2017-09-29 10:51:07 · 170 阅读 · 0 评论 -
java垃圾回收角度的内存分配策略
谈到垃圾回收,大家都有一种很熟悉却又很迷茫的感觉。所谓垃圾回收,就是把那些用不到的数据从内存中清除掉,从而达到释放内存的作用。 ############################################################################################################# 垃圾回收中的算法: 垃圾回原创 2017-09-30 15:23:07 · 230 阅读 · 0 评论 -
垃圾回收的一点知识整理
垃圾回收算法: 标记-清理(Mark-Sweep):先标记,在清理,存在效率和空间问题 复制(copying):将空间分为Eden、from-survivor,to-survivor,每次只使用Eden和from-survivor区域,将存活下来的放入to-survivor,需要进行空间担保来应多存活数量较多的情况,适用于新生代(-XX:SurvivorRatio) 标记-整理(Mark-C原创 2018-03-10 17:59:14 · 441 阅读 · 0 评论 -
String int类型对应的jvm指令
//ldc 123->astore_1 String a = "123"; //new->dup->ldc 1234->init->astore_2 String b = new String("1234"); //iconst_1->istore_3 int c = 1; //bipush 100->istore 4 int e = 100; //sipush 1024->invokestati原创 2018-03-21 10:50:43 · 246 阅读 · 0 评论