>>分享Java编程技术,对《Java面向对象编程》等书籍提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 25341 个阅读者 刷新本主题
 * 贴子主题:  为什么要写《Java面向对象编程》? 回复文章 点赞(0)  收藏  
作者:sunweiqin    发表时间:2016-09-27 16:45:53     消息  查看  搜索  好友  邮件  复制  引用

当我创作的《精通Struts》和《精通Hibernate》倍受欢迎后,有许多读者希望我继续写一本关于Spring技术的书,因为他们深信我写的书清晰易懂,可以帮助他们快速掌握一本新的热门技术。

假如我有三头六臂,我当然希望把Java领域的所有技术写个遍,当读者津津有味的享受我的劳动成果时,我也可以把自己的书铺成垫子,美美地在自己的功劳薄上睡大觉。

可惜,实际情况是,我写书的速度与技术翻新的速度相比,简直就像乌龟和兔子赛跑。当《精通Struts》出版不久,Struts升级到1.2,幸亏我写书时就高瞻远瞩,在书中按照Struts1.2 API所写,使得《精通Struts》时隔三年,依然深受欢迎。另一方面,在Web框架层涌现了许多与Struts分庭抗礼的技术,比如JSF、Tapestry和Webwork等,我就来不及一一邀请它们作为我书中的主人公了。

再说《精通Hibernate》出版不久,Hibernate就升级到3.0,而我的书是基于Hibernate2.0。我在写书时花了许多笔墨探讨对象持久化的思想,展示数据访问中各种关键的性能问题和并发问题,然后提供通用的解决方案,而Hibernate则是提供了这种解决方案的一种具体实现。按照这样的思路来写作,《精通Hibernate》不再是单纯的工具手册,而是富有思想性的阐述对象持久化层的著作,因此《精通Hibernate》具有了长久的生命力。另一方面,在对象持久化层,各种新技术风起云涌,比如Cayenne、Kodo、EasyDBO、OBJ和JDO等,我就来不及一一给它们著书立传了。

如今的Java世界就像我们诸子百家思想荟萃的春秋战国时代,各种新的设计模式和软件包层出不穷。在开发工具方面,过去JBuilder很流行,现在Eclipse脱颖而出;在框架方面,先是重量级的EJB2.0,接着是由Hibernate和Spring主导的轻量级框架;在Web框架层,人们先是关注如何在Web服务器端运用象Struts这样的框架来加速软件的开发,现在人们的注意力逐渐转到了客户端,着眼于如何创建出丰富多彩的互动的客户界面,在这方面,Ajax独领风骚。清朝诗人赵翼云:“江山代有才人出,各领风骚数百年”。我想说,在Java领域,“西方时出新技术,各领风骚个把年”。

在Java技术风云变化的表象中,不知道大家有没有发现一个最显著的共性——那就是所有的新技术都来源于西方,而我们则是被动的追随者。当一种技术还没有来得及充分消化吸收,新的技术又接踵而至。由于长期对基本技术消化不良,基础不扎实,就不可能具备独自创造的能力。我们中国人都自以为自己很聪明,为什么大多数程序员对Java技术都谈不上精通呢,个人觉得主要有以下原因:

(1)我们在智商上并没有先天的优势,当然也没有劣势。每个国家都有聪明人和笨蛋,彼此彼此。
(2)我们在实际开发项目时,只关注如何运用现成的工具软件和第三方软件包来完成项目,多数人对那些工具软件和第三方软件包本身的构成没有兴趣。投其说好,计算机书籍市场上介绍如何使用工具软件的书占多数。
(3)西方的新技术出现后,它是用英语来描述的,经过翻译传到国内,由于翻译水平参次不齐,使得本来简洁明了的思想变得含混晦涩,甚至让人误解。象侯捷、熊节和潘爱民这样的优秀的翻译家和作家为数不多。
(4)在我们技术领域,受商业化的影响,有浮躁的气息。技术商业广告误导我们,只要你能口若悬河的谈论那些最新出现的技术名词(千篇一律是几个英文单词的缩写),你就会看上去象把握了技术潮流。
当我在创作《Tomcat》、《精通Struts》和《精通Hibernate》时,翻阅了不少英文书籍。我仔细阅读了Hibernate的创始人Gavid King的《Hibernate in action》,我深刻的意识到这位大师之所以能写出这样的软件,得益于扎实的Java技术功底。Hibernate建立在一系列的Java基础知识之上,要学习Hibernate,你必须熟悉Java对象模型、对象的生命周期、缓存、不可变类与可变类的概念,以及Java集合框架等。Hibernate本身运用了诸如工厂模式等优秀的设计模式。

当我写完《精通Hibernate》,思考下一步写什么的时候,出发点是能写一本让读者和自己都一劳永逸的书,最好是一本抵得上十本的书。我想到专门写一本融汇了面向对象思想、Java语法、虚拟机运行原理、设计模式和性能优化的Java书。如果读者掌握了这些内容,再去掌握新的Java框架和软件包就会驾轻就熟,甚至无师自通。对此,我曾经在JavaThinker论坛上发了一个贴子:“我是不是有必要写一本Java基础编程方面的书? ”,许多热心的网友参与了讨论。网友tywo45为我想得很周到,他说:“我上两天心里还在捉磨着孙小姐会不会写一本J2SE方面的书。没想到今天就看到这个帖子了(挺巧合的)。Java书籍我看的比较多,好一点的有《Java2核心编程》影印第六版的、《Thinking in Java》中文版第二版。其它的书感觉上有点杂而不系统,就我个人而言对我帮助最大的是《Java2核心编程》影印版清华大学出版的,现在国外已有第七版的了。所以如果要出J2SE方面的书的话,就应该效仿这本书,讲深刻一点。让人真正认识编译器的内部的一些工作,而不是只讲一些语法,因为语法已经不大成为问题了。还有就是注重一些编程思想及思路。如果真要出版一本好一点的J2SE方面的书,估计难度比你前面四本书要大!”。

汇总了众多网友的意见,再结合我个人的想法,我开始满怀信心的创作《Java面向对象编程》。tywo45真知灼见,预计写这本书难度较大。确实如此,为了写出一本富于思想性,具有灵魂的书,我动用了所有的思维细胞。我必须首先自己一针见血的抓住面向对象思想的本质,然后再考虑如何用简单易懂的语言和贴切的例子来阐述它们。而且我必须把Java的各个层面:面向对象思想、Java语法、虚拟机运行原理、设计模式和性能优化等有机的融合在一起。此外,我在增加书的趣味性方面下了一番功夫,让读者通过一些形象的例子和图片来轻松的掌握知识。

有一位好心的网友曾建议我翻译英文书,他说“译好书岂不是更省时间?也不会被人说'抄袭' ”。但我还是喜欢自己写,因为这才能更大的发挥我在创作方面的才能:提纲挈领的把握某种技术,再按照咱们中国人的思维去演绎它。我觉的自己的创作的性质是:把西方的Java技术进行地道的中文本地化,帮助程序员们透彻的消化吸收Java技术,这是咱们将来可能会自己有所发明创造的基础。在这方面,《Java与模式》的作者阎宏开创了先河,他把设计模式与中国古典文化巧妙的揉合到一起,使本书成为脍炙人口的散发着独特的思想火化的作品。

《Java面向对象编程》第一版问世后,不负众望,已经重印了21次。为了让这本书能跟上最新的Java技术潮流,特地出了第二版,希望以书为桥梁,与更多的读者结一份好缘。

孙卫琴



程序猿的技术大观园:www.javathinker.net



  Java面向对象编程-->对象的生命周期
  JavaWeb开发-->Servlet技术详解(Ⅱ)
  JSP与Hibernate开发-->持久化层的映射类型
  Java网络编程-->客户端协议处理框架
  精通Spring-->虚拟DOM和render()函数
  Vue3开发-->绑定CSS样式
  java的三种随机数生成方式
  Java虚拟机进行类连接的原理
  套接字通信:select、poll、epoll的区别
  BIO模型的缺陷
  面试官:NIO的优化实现原理了解吗?图文结合教你如何正确避坑
  ThreadLocal的内存泄露的原因分析以及如何避免
  Java 语言中十大“坑爹”功能!
  编程语言搜索量排行:用十年数据告诉你什么最受欢迎
  超详细的Java运算符修炼手册(优秀程序员不得不知道的运算技...
  正则表达式:运算符优先级
  Java设计模式:状态模式
  Java入门实用代码:获取当前线程名称
  Java 入门实用代码: 数组差集
  Java入门实用代码:字符串小写转大写
  中国有多少程序员?现在还值得学java吗?
  更多...
 IPIP: 已设置保密
楼主      
该用户目前不在线 ljfshe 
  
威望: 0
级别: 新手上路
魅力: 105
经验: 105
现金: 1008
发文章数: 1
注册时间: 0001-01-01
 消息  查看  搜索  好友  邮件  复制  引用


这篇文章只有版主可以查看!
发文章时间 2019-09-28 22:09:08
 IPIP: 已设置保密 1 楼     
该用户目前不在线 kericnnoe 
威望: 未知
级别: 未知
魅力: 未知
经验: 未知
现金: 未知
发文章数: 未知
注册时间: 未知
 复制  引用


穩定在SA真人百家樂賺錢不是沒有可能,只是需要SA娛樂城玩家花點時間學百家樂贏錢公式、百家樂破解技巧、百家樂分析等等的技巧

穩定在SA娛樂城賺錢不是沒有可能
发文章时间 2023-03-07 00:26:31
 IPIP: 已设置保密 2 楼     
1页 2条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。