Java解惑

Java解惑
作 者: 布洛赫 加夫特 陈昊鹏
出版社: 人民邮电出版社
丛编项: 图灵程序设计丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Java
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  JOSHUA BLOCH是Google的首席工程师,以及获得过Jolt最畅销奖的《高效Java编程语言指南(Effective Java Programming Language Guide)》(Addson-Wesley,2001)一书的作者。他之前是Sun Microsystems的杰出工程师和Transarc的资深系统设计师。Josh领导了大量的Java平台特性的设计与实现工作,包括JDK 5.0中的语言增强和获奖的Java集合框架。他拥有卡耐基.梅隆大学计算机科学的博士学位。NEAL GAFTER是Google的软件工程师和Java的传道者。他之前是Sun Microsystems的资深员工工程师,在那里他领导了Java编译器的开发工作,并且通过5.0版实现了1.4版中的Java语言特性。Neal曾经是C++标准委员会的成员,他在Sun Microsystems、Microtec Research和Texas Instruments时领导了C和C++编译器的开发工作。他拥有罗彻斯特大学计算机科学的博士学位。

内容简介

本书特写了95个有关Java或其类库的陷阱和缺陷的谜题,其中大多数谜题都采用了短程序的方式,这些程序的行为与其看似的大相径庭。在每个谜题之后都给出了详细的解惑方案,这些解惑方案超越了对程序行为的简单解释,向读者展示了如何一劳永逸地避免底层的陷阱与缺陷。.本书趣味十足、寓教于乐,适合于具备Java知识的学习者和有编程经验的Java程序员。你认为自己了解Java多少?你是个爱琢磨的代码侦探吗?你是否曾经花费数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?本书正好适合你!..Bloch和Gafter继承了EffectiveJaya一书的传统,深入研究了Java编程语言及其核心类库的细微之处。本书特写了95个噩梦般的谜题,中间穿插着许多有趣的视觉幻象,寓教于乐。任何具备Java知识的人都可以理解这些谜题,但甚至是最老练的程序员也会觉得它们具有挑战性。多数的谜题都是些小程序,其行为诡秘,不可貌相。你能指出它们会做什么吗?根据这些谜题用到的特性以及各题的详细解惑方案,我们把它们松散地分成了几个部分。这些解惑方案超越了对程序行为的简单解释,向你展示下如何一劳永逸地避免底层的陷阱与缺陷。在本书的后部有一个方便的陷阱和缺陷目录,可供以后进行参考。一旦你解决了这些谜题,那些曾经愚弄过最具经验的Java程序员的隐晦且有违直觉的语言行为,将再也无法把你骗过。...“每一种编程语言都有其怪癖的行为。这本生动的书通过趣味十足和发人深省的编程谜题揭示了Java编程语言的奇异之处。”——GUYSTEELE,Sun学者以及Java语言规范的合著者“我笑了,我叫起来了,我赞赏地猛举起了我的手”——TIMPEIERLS,LLC的主席和前成员,JSR166专家组成员

图书目录

第1章 绪论

第2章表达式之谜

谜题l:奇数性

谜题2:找零时刻

谜题3:长整除

谜题4:初级问题

谜题5:十六进制的趣事

谜题6:多重转型

谜题7:互换内容

谜题8:Dos Equis

谜题9:半斤

谜题10:八两

第3章字符之谜

谜题1l:最后的笑声

谜题12:ABC

谜题13:动物庄园

谜题14:转义字符的溃败

谜题15:令人晕头转向的Hello

谜题16:行打印程序

谜题17:嗯?

谜题18:字符串奶酪

谜题19:漂亮的火花(块注释符)

谜题20:我的类是什么

谜题21:我的类是什么?镜头2

谜题22:URL的愚弄

谜题23:不劳无获

第4章循环之谜

谜题24:尽情享受每一个字节

谜题25:无情的增量操作

谜题26:在循环中

谜题27:变幻莫测的i值

谜题28:循环者

谜题29:循环者的新娘

谜题30:循环者的爱子

谜题31:循环者的鬼魂

谜题32:循环者的诅咒

谜题33:循环者遇到了狼人

谜题34:被计数击倒了

谜题35:分分钟

第5章异常之谜

谜题36:优柔寡断

谜题37:极端不可思议

谜题38:不受欢迎的宾客

谜题39:您好,再见

谜题40:不情愿的构造器

谜题41:域和流

谜题42:异常为循环而抛

谜题43:异常地危险一

谜题44:删除类

谜题45:令人疲惫不堪的测验

第6章类之谜

谜题46:令人混淆的构造器案例10

谜题47:啊呀!狸猫变犬子107

谜题48:我所得到的都是静态的10

谜题49:比生命更大11

谜题50:不是你的类型11

谜题51:要点何在11

谜题52:总和的玩笑11

谜题53:做你的事吧12

谜题54:NuU与Void12

谜题55:特创论12

第7章库之谜

谜题56:大问题

谜题57:名字里有什么

谜题58:产生它的散列码

谜题59:差是什么

谜题60:一行以毙之

谜题61:日期游戏

谜题62:名字游戏

谜题63:更多同样的问题

谜题64:按余数编组

谜题65:疑似排序的惊人传奇

第8章 更多类之谜

谜题66:一件私事

谜题67:对字符串上瘾

谜题68:灰色的阴影

谜题69:黑色的渐隐

谜题70:一揽子交易

谜题71:进口税

谜题72:终极危难

谜题73:隐私在公开

谜题74:同一性的危机

谜题75:头还是尾?

名字重用的术语表

第9章更多库之谜

谜题76:乒乓

谜题77:乱锁之妖

谜题78:反射的污染

谜题79:狗狗的幸福生活

谜题80:更深层的反射

谜题81:无法识别的字符化

谜题82:啤酒爆炸

谜题83:诵读困难者的一神论

谜题84:戛然而止

谜题85:惰性初始化

第10章高级谜题

谜题86:有害的括号垃圾

谜题87:紧张的关系

谜题88:原生类型的处理

谜题89:泛型迷药

谜题90:荒谬痛苦的超类

谜题91:序列杀手

谜题92:双绞线

谜题93:类的战争

谜题94:迷失在混乱中

谜题95:来份甜点

附录A 陷阱和缺陷的目录

A.1 词汇问题

A.2 整数运算

A.3 浮点运算

A.4 表达式计算

A.5 控制流

A.6 类初始化

A.7 实例的创建与销毁

A.8 其他与类和实例相关的主题

A.9 名字重用

A.10 字符串

A.11 I/O

A.12 线程

A.13 反射

A.14 序列化

A.15 其他库

附录B书中幻图的注释

索引

参考文献