HelloWorld开发者社区

www.helloworld.net - 开发者专属的技术社区

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  78 随笔 :: 0 文章 :: 13 评论 :: 49984 阅读

随笔分类 -  深入理解JAVA虚拟机深入理解JAVA虚拟机

读 深入理解JAVA虚拟机 这本书的心得与记录
摘要:在堆中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象之中哪些还活着,哪些对象已经死去. 判断对象是否已经死亡有以下几种算法: 定义 : 给对象中添加一个引用计数器,当有一个地方引用时,计数器加1,引用失效时,就减1,当对象的引用计数器为0时,对象就是不可再被使用的. 阅读全文
posted @ 2017-04-11 10:22 HelloWorld开发者社区 阅读(439) 评论(0) 推荐(0) 编辑

摘要:先来看看Java对象在内存中的布局 一 Java对象的内存布局 在HotSpot虚拟机中,对象在内存中的布局分为3个区域 对象头(Header) Mark Word(在32bit和64bit虚拟机上长度分别为32bit和64bit)存储对象自身的运行时数据,包括哈希码,GC分代年龄,锁状态标志,线程 阅读全文
posted @ 2017-04-10 18:21 HelloWorld开发者社区 阅读(1490) 评论(0) 推荐(0) 编辑

摘要:JAVA中创建对象直接new创建一个对象,对么对象的创建过程是怎样的呢? 程序运行过程中有许多的对象被创建出来.那么对象是如何创建的呢? 一 对象创建的步骤 1 遇到new指令时,检查这个指令的参数是否能在常量池中找到一个符号引用 2 如果找到符号引用,就检查这个符号引用是否已经被加载,解析和初始化 阅读全文
posted @ 2017-04-09 15:44 HelloWorld开发者社区 阅读(219) 评论(0) 推荐(0) 编辑

摘要:1 java虚拟机对内存的管理 java虚拟机在执行java程序的时候把内存分为若干个不同的区,这些区各自有不同的用处,以及创建和销毁时间. 有的区随着虚拟机的启动而启动,有的区则依赖用户线程的启动和结束而启动和结束. 根据java虚拟机规范,java虚拟机将内存分为下面几个部分:如下图 下面是对这 阅读全文
posted @ 2017-04-08 14:03 HelloWorld开发者社区 阅读(156) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示