自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 内存分配策略

jvm给新生对象分配内存,从大方向来说,一般直接分配在Eden区。如果开启了本地线程缓冲区,会按照线程优先分配在TLAB Thread Local Allocation Buffer。少数情况下会将对象直接分配到老年代。 分配规则并不是一成不变。主要取决于垃圾收集的组合方式以及jvm参数设置。 以Serial和SerialOld为例说明分配策略,其他组合需要自行测试: 一般

2016-10-24 17:07:47 261

原创 垃圾收集器

为什么要回收内存 什么时候回收 如何回收 GC并非Java发明,最早使用的是LISP。 在Native Method Stack,VM Stack,Program Counting Register中,在线程执行的过程中,存在其中的数据能够自动的压栈弹栈。 但是Heap和Method Area则不同,如果某些对象并没有“死去”,有没有被回收,则有可能浪费了内存甚至有可能造

2016-10-20 09:18:25 213

原创 对象的创建,访问,内存布局

对象的创建 当VM遇到一条new的指令时,先查找常量池,看是否能定位到一个符号引用,检查类是否被类加载器加载、解析、初始化(?) 如果不满足检查条件,则进行类加载过程,在过程结束时可以确定需要分配给该类的内存大小 根据VM管理的堆内存是否规整--取决与垃圾回收器是否有压缩整理内存的功能--对于不规整的内存,采用FreeList方式给对象分配空间 如果规整则可以使用指针碰撞 bump the

2016-10-19 09:16:21 314

原创 JVM

jvm的内存自动管理机制 运行java程序时 jvm将其管理的内存划分为5块 1.本地方法栈 Native Method Stack 与VM Stack类型 服务于本地方法而非字节码文件 ∴ 一样有StackOverflowError和OOM 2.虚拟机栈 VM Stack Java方法的内存模型:执行时创建 Stack Frame 存储变量 操作数 出口等 局部变量表中存的有 编译器

2016-10-18 15:19:06 251

空空如也

空空如也

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

TA关注的人

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