本页主题: [分享]O'Reilly Java系列书籍建议阅读顺序 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 [分享]O'Reilly Java系列书籍建议阅读顺序

最近也在想这个问题,个人打算是j2se-->jdbc-->jsp-->ejb-->struts,这是O'Reilly官方给出的建议:

Quote:
Learning Java the O'Reilly's Way
Java 技术可以说是越来越重要了,不但可以用在计算机上,甚至连电视等家电用品,行动电话、个人数字助理(PDA)等电子产品,以及智能卡都可以透过 Java 的技术来为人们创造更便利的生活。许多人因此对 Java 感兴趣,想好好学习 Java。
因为讲授 Java 课程的关系,这几年来,不少人问我:怎样才能学好 Java,我给他们的建议很简单 ---『多读 Java 的好书,可以有系统又轻易地获得许多高手的经验』。其实,我说的也是我自己的经验。
『那么,要看什么书呢?』我知道你会这么问。毕竟书店里 Java 的书琳琅满目、怎样从其中选出一本最适合自己的好书,绝对不是一件容易的事。在建议您看什么 Java 书籍之前,让我先为大家做一些简单的分析比较。我认为,Java 原文书可以概略地分成两种:
•     「主题广泛」型:这类的书经常上千页,厚厚的一本,里面什么主题都有。
•     「主题专一」型:这类的书通常薄薄的一本,少于五百页,内容只专注在某特定主题。
「主题广泛」型的书,优点是可以让你一次学会很多名词和大概的观念,可是什么都只是浅谈即止,不够深入。 不都说「样样通、样样松」么!还真是有道理。
「主题专一」型的书就不一样了,内容只设定在一个主题,此主题不相关的内容一概不谈(或者只是概略地一提)。 这两类的书各有优缺点,选择哪一种端看您的需求而定。不过,我自己偏好「主题专一」的书,原因是这类的书有下面的好处:
内容深入:你真的相信「21 Days」就可以学通 Java?(我还看过一本书更夸张的,书名上有耸动的「24 Hours」字样。)如果这样的话,Java大师就满街跑了。多读一些 深入的内容,你才有可能超越别人。你可能认为:『我不过是刚入门的初学者,需要知道 Java 广泛的知识,而非深入的知识,所以看「主题广泛」型的 Java书有何不可?』 唔!话说得没错,但我认为这些简介性的知识在许多地方都可轻易取得(特别是在http://www.javasoft.com/),实在不需要去买一本 一千多页的原文书来 K, 现在的原文书也挺贵的,钱可要花在刀口上。
主题属性适合:如果只想学 Java 的网络设计,你当然不会去买一本大堆头的书,其中涉及网络的部分只有区区 50 页,看完之后依旧懵懵懂懂。你应该去买一本 500页,由浅而深,内容完全涵盖所有 Java 网络相关议题的书,看完这样的书,你差不多也可以算是 Java 网络专家了。有了「主题专一」的书,你就可以不必去买一本 95% 的内容对你没帮助的书。你可以想学什么,就挑什么。
新版本推出较快:Java 逐年在改版,书的内容也会跟着翻新,通常「主题专一」型的书比较能快速且完整地反应技术的改变。
许多出版社都有主题专一的 Java 系列,但其中规划最完整、内容最受肯定的就非 O'Reilly 的「 The Java Series」莫属了(可能和他们请了一个优秀的 Java 编辑有关)。 你可以到国外许多在线买书的网站上看看大家对于 O'Reilly「 The Java Series」的评价,就会知道我所言不假。
目前, O'Reilly Java 系列的书共有约二十(还在增加当中),我差不多全买齐了,虽然花了不少钱,但是值得。如果你认真的想学习 Java,我向您推荐 O'Reilly 的「 The Java Series」。套句傅培梅的广告词「教人 Java 三四年,这是我用过最理想的书」。


出处:http://www.oreilly.com.tw/sleepless/part01.htm
Posted: 2004-12-14 15:13 | [楼 主]
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Java in a Nutshell A Desktop Quick Reference

Java in a Nutshell A Desktop Quick Reference
O'Reilly 的「in a Nutshell」系列书籍向来以简洁、不拖泥带水著称,常常一两页的内容可以抵得过其它书籍十多页的篇幅,在计算机书籍内容灌水风气盛行的今天,O'Reilly 的「in a Nutshell」系列可以算是个异数。「in a Nutshell」系列的每本书虽然不算特别厚,但该说的内容一件不少。除了简洁之外,「in a Nutshell」还有一个特色,就是同时具备入门学习和参考查阅的双重功效。书的内容包含两部分,前面的部分是深入浅出的入门教学,后面的部分是参考数据。
《Java in a Nutshell》第一版是 O'Reilly「in a Nutshell」系列的第一本,目前本书最新的版本是第四版,内容涵盖了JDK 1.4。此原文版的销售量早已经突破百万,一本技术书籍能有如此销售成绩,是很不容易的。
经验丰富的程序员往往不喜欢太啰唆的书,这正是简洁的《Java in a Nutshell》受欢迎的原因。C/C++ 和 Java 在语言上有许多相似性,所以 C/C++ 的程序员想跨入 Java 的领域比其它语言的使用者占了许多便宜。对于已经熟悉 C/C++ 的程序员来说,他们最希望能有 Java 书籍直接告诉他们 C/C++ 和 Java之间大大小小的差异,来让他们快速地将他们所惯用的 C/C++ 思维转成 Java 的思考方式,早期的《Java in a Nutshell》正是以此为定位的书。虽然也有不少书籍也定位成 C/C++ 的程序员快速学习 Java 的书,但都没有《Java in a Nutshell》写得精彩完整而小巧。新版的《Java in a Nutshell》已经大幅度改写,使得不具备C/C++经验者也能从容阅读。
在写 Java 程序的过程中,免不了要查一些数据,特别是API的用法,这时候,你会发现《Java in a Nutshell》后半部数百页的参考资料超乎想象地好用,在良好的编排以及索引 的引导之下,你可以轻松地查到你需要的数据。
本书后半部的参考数据部分有两种查阅方式,方法一是透过 package 找 class,再透过 class 找 method或 field,通常使用这种方法的人对于他所欲查询的 API已经有了大概的预期;方法二是完全没有概念时,直接透过字母排列方式找到他所欲查的数据,之后再透过方法一来找到详细的说明。
以前,《Java in a Nutshell》一书是许多人写 Java 程序时必备的速查手册,但现在因为许多 Java 开发工具都提供了方便的在线辅助工具,比方说:Borland JBuilder 可以透过 sensitive help(也就是F1按键)来找到你感兴趣的 API、或透过 Code Insight 之类的神奇功能来提示你某 API 的用法、或透过在线文件(支持hyper-link)来交互查阅,所以现在《Java in a Nutshell》的参考手册的地位已经不再像以前那般地重要了。
本书在 Java 书籍中已经建立了权威的地位(但是,有一部份的地位已经被Thinking in Java取代了),一提起 Java 的好书,大家第一本想到的就是本书,在 Java书籍泛滥的今天,要写出一本这样令大家共同推崇的书实在不容易,而 这也是我对本书作者 David Flanagan 至感钦佩的地方。有读者说:『Flanagan 唯一的缺点是---写的书还不够多』,这真是对一个作家最极至的赞美。
为了达到精简的目的,内容就必须有所取舍,不能大小通吃。比方说,本书就只包含 core package,对于大多数的optional package则略去不提,而 core package 中也有少数的 package 被舍弃在外。
同样为了精简的目的,本书相当缺乏完整的程序范例,作者另外写了一本《Java Examples in a Nutshell》来弥补这项不足。但是,O’Reilly另外出版了《J2ME in a Nutshell》、《Java Enterprise in a Nutshell》、《Java Foundation Classes in a Nutshell》、《JXTA in a Nutshell》、《Jini in a Nutshell》,来作为延伸阅读。
评书的好坏时,不宜讨论到书的价钱,但我实在忍不住要说:这本书的定价实在便宜得夸张,只需美金19.95。如果你常买信息类原文书的话,你会发现大部分的书都是 30 到 60 美金,而且在这些高价位的书籍当中不乏烂书,这更衬托出《Java in a Nutshell》这本书实在「俗搁大碗」。其实,《Java in a Nutshell》就算卖三四倍的价钱我还是 会乖乖掏出钱来买的。
本书第一版引领我进入Java的领域,使我具备扎实的基础,后续的第二三四版使我能够持续跟得上Java演进的步伐。在未来第五版推出时,这样的步伐还会持续下去。
Posted: 2004-12-14 15:24 | 1 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Exploring Java, 2nd Edition (本书的第三版,改名为 Learning Java)

O'Reilly 的 Java 入门书有两本,一本是《Java in a Nutshell》,另一本是《Exploring Java》。O'Reilly 的 Java 系列书籍在出版前就已经做了良好的规划,所以 虽然《Java in a Nutshell》和《Exploring Java》都是 Java 入门书,但定位却截然不同。《Java in a Nutshell》定位为「让 C/C++ 程序员快速学会 Java,且可以当作 API 速查手册」的书;而《Exploring Java》则是定位成「一般的入门书,不限定读者的背景」。
《Java in a Nutshell》比较着重在 Java 语言教学和 Java 语言相关特色的描述,许多常用的 API 都没提到,所以许多人读完《Java in a Nutshell》之后只知道自己学会 Java 语言了,但是还是写不出 Java 程序。我认为这样的读者应该在读完《Java in a Nutshell》之后,开始阅读《Exploring Java》。《Exploring Java》介绍了许多常用的 API(比方说: java.awt、java.io、java.rmi、java.net、java.util),这些 API 都是每个 Java 程序员必须知道的。在阅读完《Exploring Java》之后,你差不多就可以写出 大部分的程序,《Exploring Java》可以让你对 Java 有一个整体的概念。有了《Java in a Nutshell》和《Exploring Java》的基础之后,设计程序如果遇到更深入或更专门的问题 ,你可以去查阅 O'Reilly 的其它 Java 书籍。
本书内容包含相当广,下面列出本书的内容大纲:
•      Chapter 1. Yet Another Language:介绍 Java 的基本概念、优点、和用途。
•      Chapter 2. A First Applet:一个简单的 applet范例
•      Chapter 3. Tools of the Trade:介绍 Java 直译器、类别路径、编译器、Applet 在 HTML 的用法、JAR、安全性
•      Chapter 4. The Java Language:说明 Java 的基本型态、语法、例外处理、数组 … 等。
•      Chapter 5. Objects in Java:Java 的类别和对象
•      Chapter 6. Relationships Between Classes:说明继承、接口、Inner Class … 等主题
•      Chapter 7. Working with Objects and Classes:说明 Reflection 的相关主题
•      Chapter 8. Threads:介绍执行绪和相关的主题
•      Chapter 9. Basic Utility Classes:介绍一些常用的辅助列别
•      Chapter 10. Input/Output Facilities:介绍stream的观念和用法,并包括档案、Serialization、数据压缩等主题。
•      Chapter 11. Network Programming with Sockets and RMI:包括了TCP/UDP Socket,RMI等主题。
•      Chapter 12. Working with URLs:包括了URL、Content Handler、Protocol Handler等主题。
•      Chapter 13. The Abstract Window Toolkit:介绍Component、Container、Lightweight Component的观念;说明Applet和AWT的关系;介绍Java Event Model。
•      Chapter 14. Creating GUI Components:介绍AWT常用的组件
•      Chapter 15. Layout Managers:介绍AWT的Layout Manager,也说明如何设计出自己的Layout Manager。
•      Chapter 16. Drawing with AWT:利用AWT来绘图
•      Chapter 17. Working with Images:利用AWT来进行影像处理
•      Chapter 18. Java Beans:基本JavaBeans的观念
本书用了相当多篇幅介绍 AWT,甚至连许多 AWT 进阶用法都讲得很详细,所以如果你有了本书,你就不太需要购买 O'Reilly 的《Java AWT Reference》了。
本书有一些小缺点,包括了:
•      少部分内容过时:虽然本书内容大致上没问题,但它毕竟是两年前出版的书,所以少部分信息已经过时了,比方说:执行绪、java.util 等。目前,第三版正由 Jonathan Knudsen 撰写中。Jonathan Knudsen 称得上是 Java 的全才型作家,不管是 Java 2D 图学技术、Java 密码学、JavaSound、Java AWT/Swing…等多种不同领域他都相当专精。 目前他也为 O'Reilly 美国网站撰写「Byte-Size Java」专栏,我的「啜饮 Java 系列」正是翻译自他的文章。我相当喜爱他的作品,也希望他的《Exploring Java 3rd Ed》早日问世。
•      虽然《Exploring Java》定位成「一般的入门书,不限定读者的背景」。不过,以《Exploring Java》的撰写方式来看,我认为读者必须要有程序设计背景(可以是 BASIC 、Pascal、C/C++…)和对象导向基本概念,否则这本书还是太难。
•      范例都是片片断断的,无法让读者对整体有良好的认识。
•      赘词太多,不像《Java in a Nutshell》的简洁。
虽然有一些缺点,但是瑕不掩瑜。我正期待下一版的早日出现,也希望下一版够把那些讨论 AWT 的篇幅留给 Swing。
Posted: 2004-12-14 15:54 | 2 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Java Threads, 2nd Ed

在 Windows 程序设计中,不是每个程序员都需要使用到执行绪,但对 Java 的程序员来说,想写出一个真正的 Java 程序(那些交作业用的小程序不算),几乎都会用到执行绪。执行绪之所以在 Windows 和 Java 中的重要性不同,原因有二:
•      Windows 的 event-driven 方式和 Java 的 event model 不同: Windows 提供许多 non-blocking API、call-back function 机制;而早期 Java 的 API 都是 blocking 形式的,如果不想阻碍程序的进行,就必须使用执行绪。
•      Windows 可以设定 timer(WM_TIMER 讯息),但早期 Java 不支持 timer ,必须利用执行绪来模拟 timer 。
当然,少数两点状况现在已经不太一样了,因为随着版本的演进,Java也开始支持timer和non-blocking IO。
除了上述两点之外,下面列出两点也需要使用执行绪的时机:
•      某件工作如果独立而冗长,使用执行绪可以让使用者可以不用枯候,甚至有可能提升执行效率。
•      使用平行算法时,也需要使用执行绪。
因为执行绪对 Java 来说实在太重要了,所以 Java 程序员有必要彻底了解执行绪的一切,才能驾驭得当。许多人认为执行绪很难,其实不然。「绪可叙,非常序」,教导执行绪时,正确的顺序很重要,否则读者可能会懵懵懂懂、一知半解。我认为《Java Threads》在这方面做得很好,它以循序渐进、引导的方式教导读者执行绪的正确使用方式,所以即使读者原本对执行绪一点概念都没有,也能轻易地阅读并理解其内容。 下面列出此书的大纲和顺序:
第一章,Introduction to Threading:简单地介绍 thread。
第二章,The Java Threading API:介绍 Java 最基本的 thread API。
第三章,Synchronization Techniques:介绍多执行绪时要注意的同步化问题。
第四章,Wait and Notify:如何善用 wait() 和 notify() 来避免 busy waiting
第五章,Useful Examples of Java Thread Programming:透过几个范例程序让你能体会执行绪的使用方式。
第六章,Java Thread Scheduling:自行控制执行绪的排程方式
第七章,Java Thread Scheduling Examples:执行绪排程的范例。
第八章,Advanced Synchronization Topics:如何避免 deadlock、starvation ,如何设计出 thread-safe 的类别。
第九章,Parallelizing for Multiprocessor Machines:在多 CPU 的机器上,执行绪的相关问题。
第十章,Thread Groups:如何利用 Thread Group 来管理 thread。
附录A,Miscellaneous Topics:讨论一些前面未触及的执行绪问题。
附录B,Exceptions and Errors:讨论执行绪相关的例外和错误。
本书提供了许多简短的范例程序,让读者更能体会作者所欲陈述的内容。第五章更设计了一些实用的例子,让你了解 thread 程序设计的方式和应用所在。
相当特别的是,本书大量采用引导式教学:先提出一个问题,然后提出一个直觉上的解决方法,再说明这个方法为什么行不通,最后告诉读者正确的方法为何。我相当 喜欢这样的陈述方式,让人有「山穷水尽移无路,柳暗花明又一村的」感觉,体会也因此更加深刻。
即使你认为自己已经懂得 Java thread 程序设计,我还是建议你看看此书,你将会有许多意料之外的收获,而这些收获对你以后的 Java 程序设计会有相当大的帮助。
Posted: 2004-12-14 16:04 | 3 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Java Swing, 2nd Ed.

现代的程序中,图形化的使用者接口(GUI)相当重要,良好的GUI可以让程序更具吸引力、更好操作、更容易学习。虽然 Java 早就有 AWT,可以用来设计 GUI,但是 AWT 有两大缺失:
•      太阳春:AWT 只提供最基本的组件(比方说:按钮、滚动条等),而不提供 TreeView 等现代化GUI组件。更糟的是,AWT 的组件还只提供最基本的功能,比方说:按钮上面只能出现 文字,不能出现图形。(当然,你也可以利用继承的方式来设计出图文兼容的按钮,但这还要花不少额外的时间。)
•      不能跨平台:AWT透过「同侪系统(peer system)」来和操作系统沟通。每个使用者接口的对象都有一个对应的「同侪对象(peer object)」,用来管理操作系统所提供的真正 使用者接口对象。比方说:如果你建立一个按钮(Button)对象,就会有一个按钮同侪(ButtonPeer)对象一请被建立,此按钮同侪对象会请底层的操作系统建立一个真正的按钮。 如果此程序是在 Windows 98 上执行,所建立的按钮自然是 Windows 98 的按钮。AWT 组件的外观就会受到底层操作系统的影响。
正因为 AWT 的这两大缺点,所以许多软件组件厂商纷纷推出它们的GUI组件库。比方说, Borland的JBCL,KL Group 的 JClass。使用这些协力厂商的 GUI 组件产品固然解决 了 AWT 的两大问题,但是因为非标准 API,所以必须随着软件的发行而附上,不但组件使用授权需要额外的花费,使得软件成本上升,而且软件体积也因此变大许多。
如果能有一套免费、统一、完善、又可跨平台的 GUI 组件库的话,那该有多好!
Swing 正是这样的产品,它是由 Sun 公司研发设计。有了 Swing,上述的问题都迎刃而解。另外,由IBM所主导的SWT在最近也异军突起,值得我们持续关注。
Swing 不但填补了 Java GUI 不能跨平台的缺点,也提供许多新的组件,可以用来组合出 复杂的使用者接口,除此之外,Swing 也为 Java 注入新的特色,支持包括了拖放功能(drag-and-drop)、复原(undo)、并允许使用者改变 GUI 的外观(look and feel)。Swing 组件都是「轻量级的(lightweight)」(注:前述的 Borland 的 JBCL,KL Group 的JClass 也都是轻量级组件)。
Swing 提供了这么多特色,所以我们该学的东西也不少,Swing 比 AWT 复杂许多,想直接透过 Java Swing API 的文件来学习如何将 Swing 完全驾驭得宜实在不太可能 (比方说:JTable、JTextPane、和 Look-and-Feel 这么复杂的东西,我不相信有人光靠 Swing Javadoc 简单的说明就能操控自如)。我们需要一本好的 Swing 书籍,除了教学功能, 也要能当 API 速查手册。
由 Robert Eckstein、Marc Loy、和 Dave Wood 合着的《Java Swing》深入地涵盖了 Swing 的一切,也正因为如此,它的厚度高达一千多页,最新版是第二版,内容更新到JDK 1.4。本书以 Swing 大架构的解说为开始, 接着分门别类、由浅而深地介绍 Swing 的每个类别。O'Reilly 的书向来附图不多,但本书可以算是个异数,不但有许多类别继承图,更有不少示意图和GUI的画面。本书还有许多表格、 详细地列出类别的 method 和 field。由于 Swing 组件一般都是搭配 RAD 工具(例如 JBuilder)来当作 bean 使用,所以这些表格还贴心地标出 get、set、is、 这些和 bean access 相关的 method。本书也有不少范例,让读者可以马上知道相关用法。除了利用本书来学习 swing 之外,本书也相当适合当作案头查阅书,我把它放在计算机桌旁 随手可及的地方。
就像 Windows 有一些未公开的 API,Swing 也一样,本书辟一个章节告诉你这些好用的 API(比方说 timer)。另外,如果你对 Swing 内部运作原理感兴趣,本书也有一章完整的 说明。这些内容在其它书并不容易看到。
除了介绍一般的 Swing 之外,本书也涵盖了Look and Feel、Accessibility、Undo、Drag-and-Drop。本书关于 Look and Feel 的部分写得尤其精彩。
你还是觉得无法随心所欲地控制 Swing 的某些组件吗?你需要看看这本书,你会发现,其实 Swing 没什么好怕的。
Posted: 2004-12-14 16:10 | 4 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Java Virtual Machine

Java是近年突然窜红的新星,「保全」、「跨平台」......,大家对它的诸多特色津津乐道,但你可曾认真思考:是谁在 Java 的背后成就这些光彩的?
因为 Java 虚拟机器(Java Virtual Machine,简称 JVM)的屏障,所以 Java 程序可以跨平台;因为 JVM 进行多项验证,所以 Java 具保全性。.... 原来,JVM 是成就 Java 的一大幕后功臣。
顾名思义,Java 虚拟机器是一部假想的计算机,也是 Java 技术的核心所在,所有的 Java 程序都是在这部假想的计算机上执行的。Java 虚拟机器可以以多种不同的形式存在:以一般程序的方式存在,架构在 OS 之上,例如 java.exe;以操作系统的方式存在,架构在硬件上,例如 Java OS;甚至直接以硬件的方式存在,例如 JavaChip(不过我认为以硬件的方式存在的虚拟机器已经太「真实」,不适合叫做「虚拟」机器)。
本书读者群设定在熟悉 Java 语言并略懂 C/C++ 的程序员。本书的内容介绍性与教学性兼而有之,某些部份还可以当成参考数据来查阅。本书是一本以「彻底解说」为导向的书,书中有许多实用的信息以及 Java 虚拟机器程序范例。
本书是写来和 JVM 规格书作为互补之用的。JVM 规格书告诉我们细部的规则和语意,而本书提供了更多说明与深入浅出的描述,并伴随着许多范例让你亲自尝试。比方说:本书教你写出一个类别加载者(class loader)、透过假码(pseudo-code)的说明来揭露 instanceof 的运作细节、用 JVM 指令来写出一个 applet.... 等等。本书也舍弃一些内容不提,比方说:IEEE 格式、类别验证者(class verifier)的动作方式.... 等。不过,这些数据你分别可以在 O'Reilly 出版的《Java Language Reference》以及《Java Security》等书上找到详细的数据。
本书的结构分为三部份:第一部份是机器概观,第二部份是指令指南,第三部份是参考数据。如果你对 Java 虚拟机器不熟悉,你可能想把这本书拿到一个安静的地方,花些时间仔细地读完前三章。稍后,你可以回来读完第一部份的其它章节。如果你需要熟悉 JVM 的指令集,第二部份包含了所有 JVM 指令的快速浏览,并佐以适当的范例。或者,如果你需要查询某 Java 虚拟机器指令的操作细节,你可以到第三部份去看看,这部分以英文字母顺序排列,查询相当方便。
本书的中文版正是我以前翻译的「细说Java虚拟机器」,已经绝版了,市面上不容易看到。因为翻译此书的关系,我在 Java 虚拟机器花了不少功夫,也对 Java 有了更深入的认识。除非你有实际的需要,或和我一样好奇地想更深入了解 Java,不然其实大部分的人并不需要阅读本书。本书可能的读者包括了﹕
• 教师:如果你正在教编译器(compiler)课程,你可能想用 Java 虚拟机器当学生习作的平台,好处是可以让学生在各种不同的机器上完成这份习作。
• 业余爱好者:本书提供你一套工具,让你能在虚拟机器层级将 Java 操控于指掌间。
• 系统开发者:如果你正在开发一个 Java 执行时期系统(runtime system),或将 Java 移植到新的 平台,这本书能让你了解执行时期系统内如何分工合作。
• 程序员:透过本书与随书附赠的 Jasmin(茉莉)软件,你可以反组译类别、观察类别的内部、甚至 可以用组译器来实作重要的类别和 method。或者,你也可以藉由本书来了解 Java 的执行效率议题 并直接使用 JVM 建立应用软件。
• 语言实作者:如果你希望让 Java 虚拟机器也能执行某个你喜爱的程序语言,你打算实作此语言的 JVM 版本,本书对你会很有帮助。
• 计算机安全高手:Sun 公司要求 Java 可以保护你免于受到来者不善的程序之捣乱。本书帮助你能自行 控制这项权力。
本书以 Java 1.02 版为描述对象,而现在都已经进入Java 2(JDK 1.4)的时代了。虽然 Java 历经这些改版,JVM 指令集和 bytecode 的格式并未有任何变动,所以本书依然适用于现今的 Java 2。虽然 bytecode 的格式并未改变,但 Java 1.1 和 Java 2 以后的确是多出一些属性,包括了:「InnerClasses」、「Synthetic」以及「Deprecated」,都是本书未涵盖的,如果你正在实做 JVM 或 Java 编译器,请特别留心这部分。如果想学好JVM,Bill Venners 所著的Inside The Java Virtual Machine第二版似乎是更好的选择,且其内容也比较新。
Posted: 2004-12-14 16:16 | 5 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Java Power Reference

Java API 多得如恒河沙數,每個 Java 程式設計員都需要透過一套良好的 API 手冊來幫助撰寫程式。我心目中理想的 API手冊是像 The Waite Group 出版的《Win32 API Bible》,依功能將 API 分門別類,然後詳細介紹,還佐以短而具代表性的範例。

我認為 The Waite Group 出版的《Win32 API Bible》唯一的缺失在於它是印刷品。 API 手冊如果以紙張印刷的方式存在,儘管索引方式設計得再精良,查詢時仍然頗為費時、不便。更何況 Java 的 API 這麼多,真要印成手冊,恐怕會如大英百科全書般驚人。如果改以電子手冊的方式存在,並以 CD-ROM 的方式發行,無疑地是 Java API 手冊最好的現身方式,除了環保不需紙張的好處之外,查詢檢索起來更是方便,甚至可以使用交叉查詢的功能。

《Java Power Reference》是一份電子手冊,而且文件一律使用 HTML 的格式,所以可以直接用電腦上的瀏覽器閱讀,無須安裝特殊的電子書軟體。除了一片 CD-ROM 之外,《Java Power Reference》還附有一本薄薄的書(約六十頁),簡單地描述 Java 2 平台的現況。

《Java Power Reference》的優點包括了:

搜尋方式以及交叉索引都很方便,找資料的速度比 Sun 的線上說明快。
完整地列出 Java 2 所有的 API。包括了 182 package、3,900 個類別、38,384 個 methods 和 field 。(雖然如此,但其實資料量也只佔了光碟片的一小部分,約 130MB。)
雖然《Java Power Reference》是電子手冊,收集了齊全的 Java 2 API(包括了Core API 和 Standard Extension API),搜尋功能和索引作得不錯,也可以交叉查詢,但是 它卻讓我大失所望。任何人都可以輕易地發現《Java Power Reference》的兩大缺失:

沒有範例程式:你無法知道如何將這些 API 兜在一起,以達到特定功能。
沒有 API 說明:每個 method 只列出其傳入參數的型態和其傳出值的型態,其它的說明一概付之闕如。使用者只好透過 method 名稱來「望文生義」一番。
沒有範例、沒有 API 說明的 API 手冊,就好比是一本沒有例句、沒有單字說明的英文字典,我很懷疑這樣的字典能幫我寫好英文文章。對我來說,如果我想知道某 API 的用法,我寧願利用 Sun 提供的線上文件,因為它對每個 API 有詳細說明;如果我想快速查詢 API 格式,我會使用開發工具提供的提示功能(比方說 Jbuilder 的 CodeInside)。

希望在不久的未來《Java Power Reference》能改版,加強範例和 API 說明,成為真正的 Java POWER Reference。
Posted: 2004-12-14 16:22 | 6 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Re:[分享]O'Reilly Java系列书籍建议阅读顺序

这几本书的电子版基本上都有,有朋友需要的话可以提供下载。
Posted: 2004-12-14 20:13 | 7 楼
Eve_okay
级别: 论坛版主


精华: 2
发帖: 1278
威望: 478 点
金钱: 290 静电币
支持度: 11464 点
在线时间:133(小时)
注册时间:2004-03-06
最后登录:2018-10-12

 Re:[分享]O'Reilly Java系列书籍建议阅读顺序

好文章.这些书我都没有,不过《java 夜未眠》我倒是有
Posted: 2004-12-14 20:22 | 8 楼
狗狗
加菲's
级别: 管理员


精华: 10
发帖: 4859
威望: 10314 点
金钱: 10285 静电币
支持度: 19330 点
在线时间:1420(小时)
注册时间:2001-11-20
最后登录:2024-02-11

 Re:Re:[分享]O'Reilly Java系列书籍建议阅读顺序

Quote:
下面是引用Eve_okay于2004-12-14 8:22 PM发表的 Re:[分享]O'Reilly Java系列书籍建议阅读顺序:
好文章.这些书我都没有,不过《java 夜未眠》我倒是有


这些书教育网几乎都有,去e.pku.edu.cn搜搜看(选搜索文件),外网下速度比较慢,不过下一本书要看看好久了,速度慢也忍了,总比去Amazon订购然后他给你邮寄过来快很多,而且是免费的。 :)
Posted: 2004-12-15 00:46 | 9 楼
cancelpj
好帅好帅滴碟仙~
级别: 贵宾


精华: 3
发帖: 442
威望: 360 点
金钱: 5401 静电币
支持度: 4 点
在线时间:36(小时)
注册时间:2002-11-25
最后登录:2008-07-24

 Re:[分享]O'Reilly Java系列书籍建议阅读顺序

就是英文+电子版看着头痛。。。

玩一辈子游戏,做一辈子朋友~~
Posted: 2004-12-15 21:21 | 10 楼
Eve_okay
级别: 论坛版主


精华: 2
发帖: 1278
威望: 478 点
金钱: 290 静电币
支持度: 11464 点
在线时间:133(小时)
注册时间:2004-03-06
最后登录:2018-10-12

 Re:Re:[分享]O'Reilly Java系列书籍建议阅读顺序

Quote:
下面是引用cancelpj于2004-12-15 9:21 PM发表的 Re:[分享]O'Reilly Java系列书籍建议阅读顺序:
就是英文+电子版看着头痛。。。

严重同意,不过书还是要看的,真拿我自己没办法
Posted: 2004-12-16 13:35 | 11 楼
帖子浏览记录 版块浏览记录
狗狗静电BBS - wwW.DoGGiEhoMe.CoM » 电脑全方位 Computer Guide

沪ICP备05008186号
Powered by PHPWind Styled by MagiColor