摘要: java程序需要通过栈上 的reference数据来操作堆中的具体对象。由于reference类型在Java虚拟机规范中只规定了一个指向对象的具体位置,所以对象的访问方式也是取决于虚拟机实现而定的。目前主流的访问方式有使用句柄和直接指针两种。囚使用句柄访问的话,那么Java堆中将会划分出一块内存来作 阅读全文
posted @ 2018-02-28 15:06 虚竹一梦 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。假设Java堆中内存是绝对完整的,所有用过的内存都放在一边,中间放着一个指针作为分界点的指示器,那所分配内存就仅仅是把那个指针向空闲空间那边挪动一段与对象大小相等的距离,这种分配方式称为“指针碰撞”。如果Java堆中的内存并不是规 阅读全文
posted @ 2018-02-28 14:31 虚竹一梦 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等。这是个让开发人员很痛苦、也很纠结的 问题,因为我们有时不知道什么样的操作导致了这种问题的发生。所以我们不得不通过不断的优化自己的代码结构,重构了一次又一次。虽然说不断的重构自己的代 码对公对私都 阅读全文
posted @ 2018-02-28 14:01 虚竹一梦 阅读(123) 评论(0) 推荐(0) 编辑