女人应该看什么样的书Java书

您的位置:
Java自学要看什么书_Java自学书籍推荐
Java自学要看什么书?Java是一门高深的计算机语言,这门语言自学的话是需要看大量的书籍的,下面就为大家带来了Java自学书籍推荐,来看看学习java所需的书籍吧!
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题
笔者完全从自身的自学经历出发,以初学者的视角挑选出如下的这些图书。
《编写高质量代码&&改善Java程序的151个建议》
这是一本值得入门java的人放在床头的书。此书内容广泛、要点翔实。大多数优秀程序设计书籍都需要看老外写的,但是这本讲述提高java编程水平的书还是不错的,适合具有基本java编程能力的人。
对于程序猿而言,工作久了,就感觉编程习惯对一个人很重要。习惯好,不仅工作效率告,而且bug少。这本书对提高个人的好的编程习惯很有帮助。
《Java程序员修炼之道》
此书涵盖了Java7的新特性和Java开发的关键技术,对当前大量开源技术并存,多核处理器、并发以及海量数据给Java开发带来的挑战作出了精辟的分析,提供了实践前沿的深刻洞见,涉及依赖注入、现代并发、类与字节码、性能调优等底层概念的剖析。
书中的道理很浅显,可是对于菜鸟却是至理名言。基本为你勾勒了一个成熟软件程序员专家所需要的所有特性。我自觉地获益颇多,其中很多事情,要么在当时是自己没有想到的,要么是发生了,自己没有注意的等等。给我影响很大。
《Java8实战》
本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。
这是了解lambda 表达式最好的入门书籍了。在网上也学习了lambda 表达式,感觉会用,就是不知道原理,稍微换一下场景又不会用了。这本书绝对是学习java8新特性的最好书籍。
《有效的单元测试》
此书由敏捷技术实践专家撰写,系统且深入地阐释单元测试用于软件设计的工具、方法、原则和佳实践;深入剖析各种测试常见问题,包含大量实践案例,可操作性强,能为用户高效编写测试提供系统实践指南。
介绍了单元测试的各个方面,TDD、test double、测试的坏味道、可测试的设计等等,每个主题需要深入的话,还需要配合其它书籍和实践,非常适合入门单元测试。书中例子非常全面,看完对使用 Junit 进行单元测试会有一个大的长进,而且用java语言编写,内容很新。
《Java核心技术:卷2 高级特性》
此书系统全面地讲解Java语言的核心概念、语法、重要特性和开发方法。本书全面覆盖Java技术的高级主题,包括流与文件、XML、网络、数据库编程、国际化等,详细描述了图形与GUI编程,还涉及安全、远程方法、注解处理、本地方法等。本书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例代码,能够帮助读者充分理解Java语言并灵活应用。
卷二虽然是高级特性,但是其中的io、文件系统、正则表达式、网络、jdbc也是日常编程中非常常用的组件,不可不看。此书是一本非常轻松的Java技术书,不仅原文写得好,译者翻译的也非常流畅。在我对翻译的书绝对无望的时候,它力挽狂澜的告诉我,事情还没有坏到这个地步。
《代码整洁之道》
代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称&启示&),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
如果每个例程都让你感到深合己意,那就是整洁代码。 如果代码让编程语言看起来像是专为解决那个问题而存在,就可以称之为漂亮的代码。
《数据结构与算法分析-Java语言描述》
本书是java数据结构与算法方面的三宝之一,除了这三本其他的已经没有意义了。这三宝分别是:
* 黑宝书《数据结构与算法分析java语言描述》mark allen weiss
* 蓝宝书《java数据结构和算法》robert lafore
* 红宝书《算法》robert sedgewick
黑宝书胜在公式推理和证明以及算法的简洁和精炼,此外习题较多。蓝宝书胜在对算法的深入浅出的讲解,演示和举例,让艰涩的理论变得很容易理解。红宝书胜在系出名门斯坦福,演示通俗易懂,内容丰富。有了这三宝,算法不用愁,学完以后再看《算法导论》就容易多了。
本书从讲解什么是数据结构开始,延伸至高级数据结构和算法分析,强调数据结构和问题求解技术。本书的目的是从抽象思维和问题求解的观点提供对数据结构的实用介绍,试图包含有关数据结构、算法分析及其Java实现的所有重要的细节
《重构:改善既有代码的设计》
重构,绝对是写程序过程中最重要的事之一。在写程序之前我们不可能事先了解所有的需求,设计肯定会有考虑不周的地方,而且随着项目需求的修改,也有可能原来的设计已经被改得面目全非了。更何况,我们很少有机会从头到尾完成一个项目,基本上都是接手别人的代码,我们要做的是重构,从小范围的重构开始。
重构是设计,设计是art,重构也是art. 一个函数三行只是语不惊人死不休的说法,是对成百上千行代码的矫枉过正。 更一个般的看法是一个函数应该写在一页纸内。
《Effective Java》
这样一本书本该早就读了,然而最近才看完。看完觉得对于一些编程规则深层的原理有了一些认识。之前我只是知道这些口口相传的规则,却不知道为什么,在这本书中找到了一些答案。书中涉及到了java编程方方面面的规则,包括类、接口、创建对象、类中的函数、函数的参数、异常。
如果你使用刚刚学会的Java做了一个小应用程序,那么你就可以开始有选择地看这本书。书中分别对Java的不同特性分章节给予作者本人的建议。如果你还没有用到其中的某一特性,那么就没必要读相关的章节,跳过去。只有你经历过了,摔倒过了,困扰过了,你才会与书中的建议产生共鸣
《Java并发编程实战》
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量。
java进阶必看,多线程的最佳书籍。
《实战Java高并发程序设计》
此书主要介绍基于Java的并行程序设计基础、思路、方法和实战。首先,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论有关&锁&的优化和提高并行程序性能级别的方法和思路。第四,介绍并行的基本设计模式及Java8对并行程序的支持和改进。第五,介绍高并发框架Akka的使用方法。最后,详细介绍并行程序的调试方法。
在集群和分布式环境下,java内置锁逐渐失去了用武之地,但是锁和并发的思想还是通用而且值得学习的。看过java并发编程实战以后再读这本书,每一个知识点都比较精炼而且代码示例简单易懂,没有晦涩难懂的翻译词,手绘图也有一种亲切感。缺点是没有附源码,需要自己去github上找。
个人觉得是我见过的最简单易懂的算法入门书籍。以前搜刮过几本算法竞赛书,但是难度终归太大。本书使用Java语言实现算法,配有大量的图解,没有一句难懂的话,而且全都是模块化实现。讲的都是实用算法,没有那些高大上听着名字就让人感到很害怕的东西,个人觉得比CLRS实用性要强,更加适合入门的学习。
此书力图研究当今最重要的计算机算法并将一些最基础的技能传授给广大求知者。它适合用做计算机科学进阶教材,面向已经熟悉了计算机系统并掌握了基本编程技能的学生。本书也可用于自学,或是作为开发人员的参考手册,因为书中实现了许多实用算法并详尽分析了它们的性能特点和用途。这本书取材广泛,很适合作为该领域的入门教材。
《Head First 设计模式》
这是我看过最幽默最搞笑最亲切同时又让我收获巨大的技术书籍! 森森的膜拜Freeman(s)!Amen! 深入浅出,娓娓道来,有的地方能笑死你!写得很有趣,图文并茂,比起四人帮的那本,好懂了不知道多少倍。计算机世界的head first系列基本都是经典。不过只看书学明白设计模式是不可能的,这些只是前人的总结,我们唯有实践实践再实践了。
读这本书不仅仅是学习知识,而是在学习一种思考的方法,学习一种认知的技巧,学习一种成长的阶梯。 总之,用你闲暇的时间来读这本书,并不亚于你专注的工作或学习。笔者强烈推荐此书,要成长为一名高级程序员,设计模式已经是必备技能了。
《Java编程思想》
就是一本能够让Java程序员轻松面对挑战,并最终取得胜利的经典书籍。本书深入浅出、循序渐进地把我们领入Java的世界,让我们在不知不觉中就学会了用Java的思想去考虑问题、解决问题。本书并不适合Java的初学者,更适合于有经验的Java程序员,这正是本书的魅力所在。但是,书中并没有涵盖Java所有的类、接口和方法,因此,如果你希望将它当作Java的字典来使用,那么显然就要失望了。
如果你开始觉得自己需要一些编程内功了,这本书就开始管用了,作为一本练习内功的基础书籍。把心静下来,老老实实打好内功根基,你会发现自己将会不一样,当然最直接的体现就是工资待遇上的。。从这本书开始,无论是走向架构,多线程或者虚拟机,路都会变得平坦很多。
《深入理解Java虚拟机》
本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。
我对本书最大的感受就是:全面。作为一个刚开始接触 JVM 的人,我感觉本书基本上把 JVM 中所涉及的概念涵盖到。在阅读的过程中还有一种感受:如果作者不介绍某个内容,我在参考 Java 虚拟机的文档的时候可能不会考虑到有这样的因素存在,或者不会那么容易理解。作为一本全面的引人入门的书籍,这本书实在是很赞。
《Java性能权威指南》
市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,使程序如虎添翼。
为了理解gc那块看过来的,cms个人感觉讲的挺好的,和《深入理解java虚拟机》垃圾回收部分互为补充吧。有一点觉得挺赞:翻译的比较好,没有那种翻译腔!
《深入分析Java Web技术内幕》
这本书的整体感觉不错,基本上是从基本原理介绍出发的。适合互联网技术爱好者阅读,也可以作为技术架构参考书籍。本书不仅是介绍了基本知识和原理,很多东西作者是站在系统架构的原理出发的,所以对爱好系统架构的读者是很有帮助的。本书的主要特点是&图文并茂,有图,有事实,有真相&,阅读起来不枯燥,晦涩。
入行java两三年,说会但是对底层还是一知半解,遇到系统级问题就还是不知道怎么解决,所以要看深层次的书了,本书就是。
《大型网站系统与Java中间件实践》
此书围绕大型网站和支撑大型网站架构的 Java 中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java 中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构的 Java 中间件系统的设计和实践
通过这本书可以学习到大量构建大型网站系统的核心技 术,以及支撑大型网站的Java中间件的必备知识。作者在超大型电子商务网站的多年实战经验使得本书的内容极具价值。 如果你所在的技术团队正在因面对大型网站而一筹莫展,或 许你可以从这本书中得到启发。另外,如果想成为Java技术架 构师,那么你也不应错过此书。
《大型网站技术架构:核心原理与案例分析》
此书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。
本书从多个层面说明了如何构建一个高可用、高性能、高可扩展性的网站系统,并结合了阿里巴巴及其他互联网企业先进的架构实践经验进行案例分析,讲述非常全面且具指导意义。本书从网站的架构设计、快速开发、高效部署、业务监控、服务治理、运维管理等多个角度描述了架构设计的相关重点,涉及的核心技术包括前端优化、CDN、反向代理、缓存、消息队列、分布式存储、分布式服务、NoSQL存储、搜索、监控、安全等一系列保证大型网站安全可靠运行的关键技术点。本书还提供了网站如何从小型网站伴随用户成长,逐步扩展到大型网站的架构演进思路,是互联网架构师们不可多得的一本技术参考书。
《企业应用架构模式》
招式套路可以千变万化,扎实深厚的&内功&却是始终如一!虽然企业应用涉及的软件技术不断翻新,但是基本的架构及设计思想却没有太多变化。将以前行之有效的设计思路和方法加以适当调整,并应用到当前的问题上,是最高效的做法。在一组专家级合作者的帮助下,Martin将40多种经常出现的解决方案转化成模式,最终融会成这本&内功心法&。在仔细研读、用心揣摩本书之后,希望它能够帮助你应对任何一种企业应用平台,驾驭任何一种企业应用技术&无论是现在的技术还是未来的技术。
开始看这本书时,觉得讲的太抽象,草草的翻了一遍,很多东西只有一个浅浅的一个印象。后来在用hibernate的时候,偶尔又重新翻开这本书。书里讲的很多东西,都在hibernate里面有体现。尤其是讲关系映射那章,在hibernate文档里面都只讲怎么做,不讲为什么,在书里讲的很清楚,看了很有收获。
《Expert One-on-One J2EE Development without EJB》
选择一种架构、一种技术的依据是什么?Rod Johnson认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见。书中谈到了企业应用方方面面的问题和解决办法,而这些方案无一不是这种&循证方法&的产物。除了把这些方案交给读者,Rod Johnson通过这本书希望传达的、更为重要的信息正是&循证&的工作方式&&那原本就应该是程序员的工作方式。
对Spring熟悉或者希望深入学习Spring框架精髓的工程师而言,本书必看,因为它就是是Spring框架发展的基石。
最后,各位读者在阅读本系列书单的同时,也可以留言告诉笔者你认为的Java技术相关的好书籍,我会根据大家的留言情况及时更新本系列书单的内容。当然,如果不是Java相关,只要是咱们程序员喜欢或需要的其他有趣、有料的好书也可以。
手机游戏排行
最新游戏专题
||||CopyRight2014年-2018年 497.Com 497电玩 All Rights Reserved
备案编号:湘ICP备号当前位置浏览文章
算法与数据结构:
数据结构(严蔚敏)/大话数据结构
//假如觉得教材无聊即可以看大话系列,印象中里面还有很多诗
剑指Offer/程序员面试金典/编程珠玑/编程之美/牛客网+leetcode
程序员笔试面试最优解(左程云)/不如直接看左神的笔试面试指南视频
Java的版本(不是很推荐):
数据结构与算法经典问题解析(Java语言形容)
图解数据结构(用Java)计算机网络:
计算机网络(谢希仁)
TCP/IP 详解
HTTP权威指南
图解TCP/IP
图解HTTP数据库://数据库主要是多使用,书上主要看索引和性可以的部分
高性可以MySQL/深入浅出MySQL操作系统:
OS原理:操作系统(课本,黑色的那个)
Linux私房菜 //鸟哥写的,很全,包括bash部分
跟阿铭学Linux //主要偏重于命令和操作,比较通俗 Java:
Java疯狂讲义/Java编程思想/Java核心技术 卷1
深入了解Java虚拟机
并发编程的艺术/多线程编程核心技术
Effective Java
Java程序员面试笔试宝典 //何昊的那本,个人感觉是突击知识点的神器
Java程序性可以优化
实战Java高并发程序设计Java Web:
Spring实战/轻量级JavaEE 企业应使用(红皮,讲SSH的) //主要看最后一部分Spring的即可以
深入JavaWeb技术内幕(阿里 许令波)//这个讲的还是比较深的
SpringBoot实战/深入实践SpringBoot设计模式:
大话设计模式 //浅显易懂
各类博客的总结分布式与大数据:
分布式服务框架原理与实践
大型网站技术架构
Hadoop实战(hadoop体系包括得很全)
//还有一本我暂时想不起来名字了其余:
Git权威指南
Git官方讲解视频(牛客网有带字幕的)JAVA程序员必看的15本书-JAVA自学书籍推荐
<a data-traceid="question_detail_above_text_l&&
& & 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。此外,大家可以加入交流群,互相分享一下关于JAVA方面的知识。
一、Java编程入门类
  对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。
1、《Java编程思想》
  在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程思想》是一本让你知其所以然的好书,它 对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太 厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。
2、《Agile Java》中文版
  这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但 是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的 过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还 有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握 Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。
  虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点,我自己也准备有空的时候翻翻这本书,学习学习。
二、Java编程进阶类
  打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。
1、《重构 改善既有代码的设计》
  这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。
2、《测试驱动开发 by Example》
  本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。
三、Java架构师之路
  到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。
1、《Expert One-on-One J2EE Design and Development》
  这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。
2、《Expert One-on-One J2EE Development without EJB》
  这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。
  以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在所推荐的这些书籍当中,是看过的最仔细,最认真的书,当时读这本书几乎是废寝忘食的一气读完的, 有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,有种被打通经脉,功力爆增的感 觉。
  但是后来看过一些其他人的评价,似乎阅读体验并没有那么high,也许是因为每个人的知识积累和经验不同导致的。那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。
3、《企业应用架构模式》
Martin的又一本名著,但这本书只是泛泛的看了一遍,并没有仔细看。这本书 似乎更适合做框架的人去看,例如如果打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,还是推荐认真看 看,会让知道框架为什么要这样设计,这样的层次可以晋升到框架设计者的角度去思考问题。Martin的书向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。
4、《敏捷软件开发原则、模式与实践》
  Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。
四、软件开发过程
  了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。
1、《UML精粹》
UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。
2、《解析极限编程 拥抱变化》XP
  这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。
3、《统一软件开发过程》UP
  其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得去读,毕竟在中国真正接受敏捷的企业很少,还是需要用UP来武装一下自己的,哪怕是披着UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,这本书非常的progmatic,告诉怎么既 敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建 模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么也可以去写书了。
五、软件项目管理
  如果突然被领导提拔为项目经理,而完全没有项目管理经验,肯定会心里没底;如果觉得自己管理项目不善,很想改善项目管理能力,那么去考PMP肯定是远水不解近渴的。
1、《快速软件开发》
  这也是一本名著。可以这样说,有本书在手,就有了一个项目管理的高级参谋给 你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于“软件项目 点子大全”之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,只需要稍加变通,找方抓药就行了。
  在这份推荐阅读书籍的名单中,没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得去购买和收藏。
【二.Java书籍Top 10】
下面是Java Inside上推荐的十本不错的Java书籍。
1)Java Language Specification, Third Edition (by James Gosling)
本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南。如果你想知道语言之构造的精确含义,本书是最好的资源。
2)Effective Java , Second Edition (by Joshua Bloch)
本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。.
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。…
3)Java Concurrency in Practice (by Brian Goetz)
随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序取得了显著的进步,提高了Java虚拟机的性能,提高了并发类的可伸缩性,并加入了丰富的新并发构建块。在本书中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,同时,还阐释了创造它们的原因,及其背后的设计模式。 本书既能够成为读者的理论支持,又可以作为构建可靠的,可伸缩的,可维护的并发程序的技术支持。本书并不仅仅提供并发API的清单及其机制,本书还提供了设计原则,模式和思想模型,使我们能够更好地构建正确的,性能良好的并发程序。
本书的读者是那些具有一定Java编程经验的程序员、希望了解Java SE 5,6在线程技术上的改进和新特性的程序员,以及Java和并发编程的爱好者。
4)Java Puzzles: Traps, Pitfalls and Corner Cases (by Joshua Bloch)
Java教父的又一经典名著–Java Puzzlers,Amazon五星图书。认为你到底有多了解Java?你是一个代码神探吗?你是否曾经花费过数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?那么这本书正好适合你!
5)Thinking in Java (by Bruce Eckel)
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
6)Better, faster, lighter Java (by Justin Gehtland, Bruce A. Tate)
Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗?.
答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。..
在本书中,原作者Bruce A.Tate与Justin Gehtland将循序渐进、娓娓道来。首先,他们列出了五项基本法则。他们展示了如何构建简单、解耦的代码,并告诉你如何选择技术。他们还对两种被广泛运用的开源程序如何迎合这些概念进行了剖析。最后,作者还将利用这些基本概念构建一个简单但内涵丰富的应用程序来解决现实世界中所遇到的问题。
7)Core Java (vol. 1, 2) (by Cay S. Horstmann, Gary Cornell)
《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。.
全书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类库的相关特性。
8) The Java Virtual Machine Specification (by Tim Linholm, Frank Yellin)
如果你需要了解Java虚拟机的byte code,或者是一些编译方面的东西,这本书绝对让你得偿所愿。其不但包含了机器码的规范说明,同时它也是Java编译器和运行环境的规格说明书。
9)Robust Java: Exception Handling, Testing, and Debugging (by Stephen Stelting)
处理异常涉及开发、设计和体系结构等方面的知识。本书共分3个部分。
  第Ⅰ部分介绍Java异常的产生机理和用法,介绍一些最佳实践,讲述各类异常处理使用的一般API和技术。
  第Ⅱ部分阐述可测试性设计,介绍故障模式分析,讨论常见API的异常及起因,分析J2EE体系结构和分布式API的异常模式。
  第Ⅲ部分讨论在软件开发周期执行异常和错误处理,分析软件体系结构、设计模式、测试和调试,列举成熟的设计模式,介绍处理策略对系统体系结构的影响,讲述如何构建健壮系统。
10)Java Code Convention
最后一本当然是Java编码规范,这是由Sun公司官方出品的。这也是每个程序员为了得供程序的易读性,可维护性需要知道的。
【三.Java 专业人士必备的书籍】
每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。下列书籍应该是 Java 语言程序员的书架上必备的。书很贵,所以我有意将这份列表弄得很短,仅限于重要书籍。
Thinking in Java (Bruce Eckel)
Thinking in Java, 3rd edition (Bruce E Prentice Hall PTR,2002 年)
Java 编程思想:第3版 (陈昊鹏 等译; 机械工业出版社,2005 年)
Eckel 的书对于学习如何在 Java 语言环境中使用好面向对象技术极其实用。书中大量的代码样例解释了他所介绍的概念。文字出自一个并不认为 Java 技术总是正确答案的人,所以相当地实用。Eckel 具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能。本书将这些技能放到实用的 Java 语言环境中。他还在写一本新书,名为 Thinking in Enterprise Java。
Effective Java (Joshua Bloch)
Effective Java: Programming Language Guide(Joshua B Addison-Wesley,2001 年)
Effective Java 中文版 (潘爱民 译; 机械工业出版社,2003 年)
本书是理解优秀 Java 程序设计原则的最佳书籍。大多数材料从其他的 “学习 Java ” 的书中根本找不到。例如,Bloch 书中关于覆盖equals() 这一章是我读过的最好的参考资料之一。他也在书中包括了很实用的建议:用接口替代抽象类和灵活使用异常。Bloch 是 Sun 公司 Java 平台库的架构师,所以他透彻地了解这门语言。事实上,他编写了该语言中大量有用的库。本书必读!
The Java Programming Language (Ken Arnold, James Gosling, David Holmes)
The Java Programming Language(Ken Arnold,James Gosling,David H Addison-Wesley,2000 年)
Java 编程语言(第 3 版) (虞万荣 等译,中国电力出版社,2003 年)
这也许是能弄到的最好的 Java 入门读物。它并不是一个标准规范,而是一本介绍每门语言特性的可读书籍。这本书在严谨性和教育性方面权衡得很好,能够让懂编程的人迅速被 Java 语言(和其丰富的类库)所吸引。
Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)
Concurrent Programming in Java: Design Principles and Patterns, 2nd edition(Doug L Addison-Wesley,1999 年)
Java 并发编程—设计原则与模式(第二版) (赵涌 等译,中国电力出版社,2004 年)
不是每个开发人员都需要如此细致地了解并发性,也不是每个工程师都能达到本书的水准,但却没有比本书更好的关于并发性编程的概述了。如果您对此感兴趣,请从这里开始。Lea 是 SUNY 的一名专业程序员,他的和并发性有关的作品和想法都包含在了 JDK 5.0 规范(引自 JSR166)中,所以您大可放心,他所说的关于有效使用 Java 语言的建议是值得一听的。他是一个很善于沟通的人。
Expert One-On-One J2EE Design and Development (Rod Johnson)
Expert One-On-One J2EE Design and Development(Rod Johnson)
WROX: J2EE 设计开发编程指南 (魏海萍 译,电子工业出版社,2003 年)
对于刚接触 J2EE 的人来说,这是唯一的一本如实反映这项技术的书。本书收录了多年的成功经验和失败经验,不同于其他许多作者,Johnson 乐于将失败的经验公诸于众。J2EE 常常都被过度使用。Johnson 的书能帮您避免这一点。
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactoring: Improving the Design of Existing Code(Martin Fowler,Kent Beck,John Brant,William Opdyke,Don R Addison-Wesley,1999 年)
重构:改善既有代码的设计(中文版) (侯捷 等译,中国电力出版社 ,2003 年)
Fowler 写了几本现已出版的最流行的编程书,包括 Analysis Patterns。他的关于重构 的书是这一主题的基本书籍。重构代码是被程序员忽略的训练,但却是程序员最直观的想法。重构是在不改变代码结果的前提下改进现有代码的设计。这是保持代码整洁的最佳方式,用这种方法设计的代码总是很容易修改。什么时候进行重构呢?当代码“散发出味道”时。Fowler 的书里满是 Java 语言代码的例子。许多 Java 语言集成开发环境(IDE)(包括了 IBM 的 Eclipse)都将 Fowler 的重构包含了进去,每一个都使用他的重构名命名,所以熟悉如extract method 等重构方法还是很值得的。
Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
Design Patterns: Elements of Reusable Object Oriented Software(Erich Gamma,Richard Helm,Ralph Johnson,John V Addison-Wesley,1997 年)
设计模式:可复用面向对象软件的基础 (李英军 等译,机械工业出版社 ,2005 年)
这是一本在专业程序员圈子里更为有名的书,基于作者共同的绰号,这本书被认为是 “四人帮(GOF)之书”。模式是思考和解决普通编程问题时可以重用的方式。学习模式是一门学科。使用好模式(或知道什么时候不 使用模式)是一项技能。忽略模式则是错误的。书中所有的例子都以 C++ 表示,但 Java 语言是从那里诞生的,让 Java 语言程序员由此联系到如何在 Java 语言中实现这些模式相对简单一些。熟悉模式并了解如何使用好模式使编程更加简单。这使得和其他程序员交流也更简单,因为在针对通用问题的通用解决方案中,模式是描述解决方案中彼此协作的大量相关编程概念的快捷方式。一些更为通用的方式,如工厂方法 则是普便存在的,甚至存在于 Java 语言本身。关于明智使用模式的这个主题,也可以阅读 Joshua Kerievsky 的 Refactoring to Patterns,该书称可以让代码来告诉您何时实现模式。
Patterns of Enterprise Application Architecture (Martin Fowler)
Patterns of Enterprise Application Architecture(Martin F Addison-Wesley,2002 年)
企业应用架构模式 (王怀民 等译,机械工业出版社 ,2004 年)
比起小型、一次性项目来说,企业开发当然代表了更大的挑战。那并不意味着企业开发带来的所有挑战都是新挑战。事实上有些时候,这项开发已经 是以前完成过的了。Fowler 做了很多个这样的项目。他的书提到了一些通用解决方案,并提供了关于使用、折中和可选方案的指导。Fowler 在书中包含了一些熟悉的模式,如模型视图控制器(MVC),他也提供了一些您也许不了解的模式,如处理 Web 站点上特定页面请求或行为请求的 Page Controller 模式。正如您对待大多数模式一样,一旦您读过许多模式,您就会认为 “我已经知道那个模式了” 。也许是这样,但有一个用来引用模式的通用表达方式还是很有帮助的。在有多个组件(由不同人开发)的大型项目中,该类引用是一项很好的帮助。
UML Distilled (Martin Fowler)
UML Distilled: A Brief Guide to the Standard Object Modeling Language(Martin F Addison-Wesley 2003 年)
UML精粹:标准对象语言简明指南(第3版) (徐家福 译,清华大学出版社 ,2005 年)
对于专业的程序员来说,UML 是一门很重要的通用可视化沟通语言,但是它被过度使用和草率地滥用了。您无需对使用 UML 沟通了解太多。Martin 对 UML 的提炼为您提供了最核心的东西。事实上,前后的封页提供了常规基础上可能使用到的所有东西。该书中 UML 例子的代码都是 Java 代码。
Test-Driven Development: By Example (Kent Beck)
Test-Driven Development: By Example(Kent B Addison-Wesley 2002 年)
测试驱动开发(中文版) (崔凯 译,中国电力出版社 ,2004 年)
测试优先编程将使编程发生革命性变化,能助您成为更好的程序员。在写代码之前编写测试开始很难,但却是一项威力强大的技能。通过优先编写测试,可使代码更加简单,并确保从一开始它就能工作(Beck 实践着他提倡的测试优先,与人合写了 JUnit,这是 Java 语言最流行的测试框架)。Beck 的书是权威的参考资料,扩展了的 Money 例子也用 Java 语言写成。Beck 详述了如何用测试优先进行 思考(这也许是许多程序员首先遇到的障碍)。
The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)
The Pragmatic Programmer: From Journeyman to Master(Andrew Hunt 和 David T Addison-Wesley 1999 年)
程序员修炼之道——从小工到专家 (马维达 译,电子工业出版社 ,2004 年)
做一个纯粹的面向对象开发人员有其优势所在。在当今复杂的社会中,作为 Java 语言开发人员,为完成任务常要妥协。Hunt 和 Thomas 探讨了如何不将真正重要的东西妥协掉而完成任务。这不是一本关于 Java 语言的书,而是 Java 语言开发人员重要的思想读物。例如,我认为没从“要解决问题,而不是推卸责任”这句忠言中受益的程序员,不能像个自豪的艺术家一样在他的杰作上签上大名。
Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)
Peopleware: Productive Projects and Teams(Tom DeMarco,Timothy L Dorset House,1999 年)
人件(第2版) (UMLChina 翻译组 译,清华大学出版社 ,2003 年)
这份列表中的其他所有书籍都至少和技术有些相关。这本书却不是。在所有技术行话和首字母缩略词的海洋中,有时软件开发人员和经理们会忘记:是人 制造了软件。DeMarco 和 Lister 向我们提醒了这一事实,也向我们提醒了形成这一区别的原因。这不是一本关于一门特定编程语言的书籍,但却是每个 Java 语言程序员都应该读的书。关于 “累死程序员如何让经理们适得其反” 还有许多其他的好书,但这是最好的一本。
【四.推荐给初级Java程序员的3本进阶书 】
原作者在这篇文章中介绍3本不错的技术书籍。作者认为这些书籍对新手或者学生而言尤其有帮助。通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。然而,当我们需要从初级提升更高的一个层次时,大多数的人却不知道从何入手。一些好的书籍在这个阶段可以很好地帮助初级开发人员。
《Head First设计模式》
这本书介绍 GoF 常用设计模式的方式引人入胜。如果只看封面很难看出来这是一本技术书籍,更不用说这本技术书籍介绍的还是面向对象编程的一些很有用的技巧。这本书采用 Kathy Sierra 式编写风格:虽然她的博客已经关了,但是还是能从前面这个链接看到一些她的文章,建议读一读。如果你周围有人认为设计模式没有什么用处,这本书倒是能够让他们改变看法。个人而言,我认为经典的 GoF 手册是一个很好的参考,但它并不是专为新手准备的。因此强烈推荐在校生(包括那些不清楚组合模式是什么的程序员们)阅读此书。
书中介绍的设计模式是程序开发中比较基本的编程模式,也是面向对象编程的程序员应该了解和掌握的。接下来要介绍的这本书则更偏向于Java语言本身,这也是我日常使用的编程语言。
《Effective Java中文版》第二版
每个Java程序员的书桌上都应该放有这本书。让我们先了解下作者:
Joshua Bloch是Google公司的首席Java设计师,并且也是一位Jolt 奖获得者。他之前是Sun的一位杰出工程师(distinguished engineer),也是Transarc公司的一个资深系统设计师。Bloch主导了众多基于Java平台的软件系统的设计和实现,包括JDK5.0的功能加强以及获得过奖项的Java集合框架的设计实现。他同时也参与编写了《Java解惑 | Java Puzzlers》 和《Java并发编程实战 | Java Concurrency in Practice》这两本技术书。
就凭“Java集合框架开发者”这个称号,我们就应该认真听取这位值得尊敬的程序员的建议。这些建议在这本书中组织成78个点:读者可以按照自己的速度进行阅读。
在复写equals和hashcode方法时,我们应该遵循什么规则?
不可变类(immutable class)是什么?
在特定的情况下,应当选用哪种最相关的异常类型?运行时异常(Runtime exception)还是可捕获异常(checked exception)?
对于一个托管语言(managed language,详细请参考 wiki介绍),如何在混淆编译时保留(preserve)类的成员?
上面所有的问题(也包括其他74个)都有实用主义者Joshua Bloch的详细解释。读完这本书,程序员应该能意识到使用Findbugs、Checkstyle这些工具的必要性了。
《Java并发编程实战》
一年前我正努力在做 UI 开发工作时(在Eclipse 插件中使用SWT/JFace,其他一些项目则使用Swing ),就看了这本书。那时,我想了解如何实现一个快速响应的UI,从而能给用户更好的使用体验。我知道自己写线程安全的代码是非常复杂的,尽管运行时间长的操作通常是一个独立的线程。UI开发和多核系统应用开发是学习如何开发线程安全的软件系统的一个很好的理由。
这本书的作者如下:Brian Goetz,Joshua Bloch(又出现这位大牛了,我们刚提到过,还记得吗?), Doug Lea(java.util.concurrent包的开发者), David Holmes,Tim Peierls 和Joseph Bowbeer。
这本书的风格非常直接,有的代码在非线程安全的环境下表现不错,可一旦到了线程安全的环境下就变得十分的危险。接着,这本书介绍了基本的保证线程安全的机制:同步机制,volatile关键字等。本书还有对java.util.concurrent接口的介绍,你可以根据自己的需要来选择适合的并发集合类。这本书也介绍了程序运行时的错误管理,以及如何测试代码是否是线程安全的。而且书中还提供了说明性的注释(Annotation)(下载),这些注释通过了FindBugs的检查!&
一:J2SE面向对象-封装、继承、多态&&
内存的分析递归集合类、泛型、自动打包与解包、AnnotationIO线程、线程同步 TCP/UDPAWT、事件模型、匿名类正则表达式反射机制
二:数据库(Oracle或者MySQL)SQL语句& 多表连接,内外连接, 子查询等管理表、视图、索引、序列、约束等树状结构存储存储过程、触发器数据库设计三范式
三:JDBCJDBC基础连接池 树状结构存储与展现DataSource
& RowSet {看有视频}JDBC连接Oracle及MySQL
四:HTML_CSS_JAVASCRIPThtml、css、javascript基础语法 JavaScript Form判断 Dom编程基础(事件处理等)JS常用效果如TreeView、下拉联动等JS学习方法JS调试方法 DreamWeaver初步(建立HTML、Table、Form、CSS)等
五:Servlet & JSPtomcat基础&&&&&&&&
servlet基础 web.xml配置基础&&& web application的结构 servlet生命周期requestresponse等常用方法 ServletContext类 HTTP协议基础(GET
POST)CookieSessionApplication JSP的几种语法(包括JSTL等)注意在项目中练习,不要拘泥于语法细节而裹步不前。
六:Struts多层架构理论
Model1 and Model 2 Struts基本概念MVCAction与业务逻辑类的关系 在Struts与JSP之间传递数据Struts处理流程(控制流)StrutsTagLib(了解常用的)& JSTLActionForm 字段收集上传文件 类型转DTO动态Action Form验证框架ActionForward转发与重定向&& 动态生成ActionForward 全局与局部的ActionForward&&& ActionForward ScopeUnknownActionMappingAction的线程安全 I18N如何切换语言环境Struts异常处理机制 程序处理 自动处理 自定义异常处理器Struts的多模块配置
七:XML(XML/XSL、XSLT/DTD、SCHEMA等基础的概念、关于Java的编程可以暂时扔在一边)
八:HibernateORMapping原理 Hibernate基础开发步骤 Hibernate基本接口(重点Session)普通属性映射 关联关系映射 NativeSQL inverselazy cascade 继承关系映射 HQL 性能优化
一级缓存 二级缓存 查询缓存事务与并发 悲观锁、乐观锁 OpenSessionInViewCurrentSession(至于JTA、联合主键、自然主键、动态主键、Any类型 Creteria QueriesIntercepter and Event 自定义类型等,可以暂时扔在一边) 九:SpringIOC/DI Spring配置Spring架构 AOP及Spring AOP 声明式事务(AOP)Spring+ Hibernate Spring支持Web Scope (其他的Spring模块对于自学来说可以暂时扔在一边)
十:EJB3.0J2EE架构基础(JTA JMS等) EJB基础(地位及基本理论、分类等)AnnotationAnt编译与部署EJB SessionBean EJB的依赖注入 PersistenceAPI (可以用JBoss学习EJB3.0)十一:至于SOA,对于自学的同学来说,暂时不用特别关注。 梳理一下,你就会发现东西不是想象中的那么多呀!建议大家优先学习我们公布的视频,然后再去找参考书,因为这个时候就能分辨出来哪些书适合你了。
那么,如何才能找到好书呢?一个简单的办法,在网上搜索你想了解的知识点比如"javascript",按销售排行,排在前几位的,应该就是不错的,记下书名,到书店阅读几章,合适你的就是好书了。没钱买?简单!现在很多网上也有免费视频可以学习:http://edu.51cto.com/course/course_id-2164.html还怕学不会吗?
java程序员在线入门教程:
《Java 编程要点》
&https://github.com/waylau/essential-java
www.dongduit.com
基于笔者自学Java开发的亲身经历,对于没有任何编程基础的读者,笔者认为入门学习Java语言开发的最佳、最快方式是教学视频与优秀书籍相结合。
java在线教程感觉超级适合基础不好的还有初学的

我要回帖

更多关于 图画书应该这样读 的文章

 

随机推荐