JAVA垃圾回收机制勘误

一、垃圾回收发生在哪里

在这里插入图片描述
主要发生在堆中。
Java堆:对象分配内存的区域,这里是垃圾回收的主战场。
方法区:存放类信息、常量、静态变量、编译器编译后的代码等数据,另外还有一个常量池,垃圾回收器也会在这个区域工作。

二、垃圾回收常用算法

2.1、引用计数法

含义:每个对象有一个引用计数器,当对象被饮用一次则计数器加1,当对象引用失效一次则计数器减1,对于计数器为0的对象意味着是垃圾对象,可以被GC回收。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2、可达性算法

从GC Roots作为起点开始搜索,那么整个连通图中的对象便都是活对象,对于GC Roots无法到达的对象变成了垃圾回收的对象,随时可被GC回收。
每次对对象赋值时均需要维护引用计数器,且计数器本身也有一定的消耗。较难处理循环引用。

可以作为GC Roots的对象:

  • 虚拟机栈的栈桢的局部变量表所引用的对象;
  • 本地方法栈的JNI所引用的对象;
  • 方法区的静态变量和常量所引用的对象。
    关于可达性的对象,便是能与GC Roots构成连通图的对象。

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Java编程思想》是一本经典的Java编程教材,由Bruce Eckel撰写。勘误是指对书中错误的修正或补充。 首先,需要注意的是这本书非常全面,覆盖了Java语言的方方面面。然而,由于计算机技术的快速发展,书中可能存在一些错误或遗漏。 勘误是为了确保读者获得正确的信息和指导,因此,许多作者或出版商会提供书籍的勘误表。读者可以通过查看这些勘误表来了解书中可能存在的错误,并及时进行校正。 在《Java编程思想》这本书的勘误中,可能会包含一些代码错误、文字错误、图表错误等。这些错误会被列出,并附上正确的版本。 同时,勘误也可能会补充一些遗漏的内容,以完善书籍的内容。这些内容可能包括新的Java语言特性、最新的开发工具或最佳实践等。 读者可以通过查找《Java编程思想》的勘误表,来获取修正后的版本,以确保在学习和实践过程中不会受到错误信息的影响。 总之,勘误是修正《Java编程思想》中可能存在的错误或遗漏的过程。通过查找勘误表,读者可以获得更准确和全面的信息,提高学习效果和编程水平。 ### 回答2: 《Java编程思想》是一本关于Java编程的经典著作,由美国作家Bruce Eckel撰写。本书内容深入浅出,系统地介绍了Java编程的各个方面,并包含了大量的实例和示例代码帮助读者理解和掌握相关知识。 关于《Java编程思想》的翻译勘误,根据我所了解,尽管本书经过了不少次修订和校对,但仍然难免存在一些错误或疏漏。这些错误可能包括错别字、语法问题、排版错误等。 如果读者在阅读这本书的过程中发现了错误,可以通过与出版社联系,向他们报告错误并提供正确的信息。出版社会在下一版中进行勘误修正,以确保读者能够得到更准确、更完整的内容。 对于一本经典的图书来说,勘误是常见的,而且也是作者和出版社重视书籍质量的表现。读者可以通过关注官方网站或者社区论坛等渠道获取最新的勘误信息,以确保自己所持有的版本是最正确的。 总之,《Java编程思想》是一本非常有价值的Java编程指南,对于学习和掌握Java编程语言以及面向对象编程思想的读者来说都是不可或缺的学习资料。尽管存在一些可能的勘误,但读者可以通过与出版社联系来帮助改进和完善这本书的质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值