自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cellei's Blog

打通任督二脉

  • 博客(4)
  • 收藏
  • 关注

原创 JVM探秘4:四种引用、对象的生存与死亡

Java虚拟机的内存区域中,程序计数器、Java栈和本地方法栈是线程私有的,随线程而生随线程而灭,因此这几个区域的内存回收和分配都有确定性,所以主要探究的是Java堆和方法区的内存分配及回收。 Java堆在Java堆中存放着所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是判断这些对象中哪些还存活,哪些已经死去(即不会再被使用到的对象)。 Java中的引用在JDK...

2018-04-19 17:47:19 179 1

原创 JVM探秘3:内存溢出

在 Java 虚拟机内存区域中,除了程序计数器外,其他几个内存区域都可能会发生OutOfMemoryError,这次通过一些代码来验证虚拟机各个内存区域存储的内容。 在实际工作中遇到内存溢出异常时,需要做到能根据异常信息快速判断是哪个内存区域的溢出,知道什么样的代码会导致这些区域内存溢出,并且知道出现内存溢出后如何处理。 Java堆溢出Java 堆用于存储对象实例,只要不断的扩...

2018-04-19 09:23:15 171

原创 JVM探秘2:Java对象

对象的创建虚拟机遇到一条 new 指令时,首先去检查这个指令的参数是否能在方法区常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就必须先执行相应的类加载过程。 类加载检查过后,虚拟机为新生对象分配内存。对象所需内存大小在类加载过后就完全确定,为对象分配空间就等同于,从 Java 堆中划分出一块确定大小的内存。 此时有两种情况: 如果...

2018-04-19 09:22:09 174

原创 JVM探秘1:Java内存区域

本系列笔记目前主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,后续还会加入《实战Java虚拟机:JVM故障诊断与性能优化》、《Java性能权威指南》、《Java性能优化权威指南》的阅读笔记。 概述Java 虚拟机为程序员分担了很多内存管理的工作,不再像 C/C++ 那样容易出现内存泄漏和内存溢出问题了,也正是这样,导致一旦出现了内存泄漏和溢出方面的问题,就难以排...

2018-04-19 09:20:28 291

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除