深入Java虚拟机(原书第2版)

本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。

内容简介:

本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀作者奖,细心的读者可以从网上找到许多对本书第1版的赞誉。作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!

本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎等;第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中第6章和附录A-C安全可以作为class文件和指令集的参考手册。本书还附带光盘,光盘中包含用以辅助说明正文内容的交互式例示applet及示例源代码。

作者简介:

Bill Venners有14年编写软件专著的经验。他在硅谷的Artima软件公司提供软件咨询和培训服务。自1996年以来,他已经编写了40多篇有关Java技术的文章。他在《Java World杂志》辟有热闹专栏,介绍Java内部细节、面向对象设计技术和Jini技术。他还是artima.com的作者和网站管

译者序
前言
第1章 Java体系结构介绍
第2章 平台无关
第3章 安全
第4章 网络移动性
第5章 Java虚拟机
第6章 Java class文件
第7章 类型的生命周期
第8章 连接模型
第9章 垃圾收集
第10章 栈和局部变量操作
第11章 类型转换
第12章 整数运算
第13章 逻辑运算
第14章 浮点运算
第15章 对象和数组
第16章 控制流
第17章 异常
第18章 finally子句
第19章 方法的调用与返回
第20章 指令invokespecial
第21章 线程同步
附录A 按操作码助记符排列的指令集
附录B 按功能排列的操作码助记符
附录C 按操作码字节值排列的操作码助记符
附录D Java虚拟机的一个模拟:“Slices of Pi”
· · · · · · (收起)

原文摘录:

在java虚拟机内部有两种线程:守护线程和非守护线程。守护线程通常是由虚拟机自己使用的,比如执行垃圾收集任务的线程。但开始于main()的是非守护线程。

当程序中所有的非守护线程都终止时,虚拟机实例将自动退出。程序本身也能够通过调用runtime类或者system类的exit()方法来退出。 (查看原文)

tian
1赞
2012-09-04 15:51:56

—— 引自第86页

任何垃圾收集算法都必须做两件事情。首先,他必须检测出垃圾对象。其次,它必须回收垃圾对象所使用的堆空间并还给程序。
垃圾检测通常通过建立一个根对象的集合并且检查从这些根对象开始的可触及性来实现。如果正在执行的程序可以访问到的根对象和某个对象之间存在引用路径,这个对象就是可触及的。对于程序了来说,根对象总是可以访问的。从这些根对象开始,任何可以被触及的对象都被认为是“活动”的对象。无法被触及的对象呗认为是垃圾,因为他们不在影响程序的未来执行。

垃圾收集算法:
1、引用计数收集器(无法检测出循环,并且计数带来开销)
2、跟踪手机器
3、压缩收集器
4、拷贝收集器
5、按代收集的收集器
6、自适应收集器
7、火车算法 (查看原文)

tian
1赞
2012-09-04 16:31:28

—— 引自第240页