推荐几本书《高级java程序员值得拥有的10本书》,

  • 首页
  • 所有文章
  • 资讯
  • Web
  • 架构
  • 基础技术
  • 书籍
  • 教程
  • 我要投稿
  • 更多频道 »

- 导航条 -首页所有文章资讯Web架构基础技术书籍教程我要投稿更多频道 »- iOS- Python- Android- Web前端

高级Java程序员值得拥有的10本书

2015/05/05 | 分类: 书籍 | 1 条评论 | 标签: JAVA

分享到:22

译文出处: 码农网   原文出处:dzone

Java是时下最流行的编程语言之一。市面上也出现了适合初学者的大量书籍。但是对于那些在Java编程上淫浸多时的开发人员而言,这些书的内容未免显得过于简单和冗余了。那些适合初学者的书籍看着真想打瞌睡,有木有。想找高级点的Java书籍吧,又不知道哪些适合自己。

别急,雪中送炭的来了:下面我将分享的书单绝对值得拥有。ps,我也尽力避免列出为特定软件或框架或认证的Java书,因为我觉得那不是纯Java书。

1.《Java in a Nutshell》(Java技术手册)

与其说是必读书籍,还不说是参考文献。

2.《The elements of Java style》(Java编程风格)

目标读者就是Java程序员。通过提出一系列的Java从业规则,以及一些标准、惯例和准则,来说明如何有助于编写可靠又易于理解和维护的Java代码。

3.《Effective Java》(通用程序设计)

这本书真的只适合那些深入了解Java的开发人员。它汇集了78种不可或缺的程序员经验法则:为你每天在工作中都会遇到的编程挑战,提出了实践的最佳解决方案。

4.《The Java language specification》(Java编程规范)

作者为Java的发明者,这本书不仅提供了完整和准确的语言覆盖范围,还包含了实际编译行为时的正式语言规则。虽然阅读这本书不能让你学到什么技能,但是如果你想在Java VM更进一步的话,那就非读不可。

5.《Design patterns: elements of reusable object-oriented software》(设计模式:可复用面向对象软件的元素)

其实,这本书中的例子是用C ++和Smalltalk写的,是不是很奇怪为什么我还要推荐它呢?如果你想成长为一个开发人员,那么你就必须知道设计模式,这样才能充分利用他人最佳的实践经验,以及还可以向那些面临过相同问题的开发人员学习。当然其他类似的书籍还有很多,但它们都只能当做一些辅助性的学习。

6.《The Pragmatic Programmer: From Journeyman to Master》(程序员的修炼:从中级到大师)

此书并不只适合于Java开发人员。 “这本书之所以值得推荐,其原因是它大大保持了编程过程的新鲜度,还有助于我们从前人那里汲取力量、不断地自我成长。”

7.《Patterns of Enterprise Application Architecture》(企业应用架构模式)

学会了设计模式之后该如何应用到企业框架中呢?这本书介绍了很多常见的企业设计模式。

8.《Refactoring: Improving the Design of Existing Code》(重构:改善现有代码设计)

如果你已经在编程行业淫浸过几年了,那么你一定得读一读这本书。重构可以使得代码可读性更强,也更容易维护。

9.《OSGi in Action: Creating Modular Applications in Java》(OSGi实战:用Java创建模块化应用)

无论如何,了解一下面向服务的编程是怎么回事,总归不是坏事。这本书的前几章就给出了非常不错的入门介绍和具体的例子。

10.《Clean Code: A Handbook of Agile Software Craftsmanship》(代码整洁之道)

最后但并非最不重要的,时不时地检查编码风格总是对的。 开发人员90%的精力是花在维护上的,所以干净的代码真的非常重要。

作为程序员,你爱上读书了吗?

《5本最佳的java面向对象理论和设计模式的书籍》

5本最佳的Java面向对象理论和设计模式的书籍

2013/10/23 | 分类: 书籍, 基础技术 | 4 条评论 | 标签: 推荐书籍, 设计模式

分享到:73

本文由 ImportNew - 唐小娟 翻译自 Javarevisited。欢迎加入翻译小组。转载请见文末要求。

对于Java程序员来说,掌握面向对象的设计理论和一些设计模式是必备技能。就像我在另一篇博客Java程序员应该知道的10个面向对象理论中提到的,不学理论就开始编程,就类似于学习一种语言而不学习字母表。市面上有很多有关面向对象理论的、设计模式的和最佳实践的,但只有很少的书真正值得我们阅读。这里涉及两件事情,一个是面向对象理论,一个是设计模式。前者是基础,后者是在基于基础的最佳实践。我们应该先学习面向对象理论,再学习设计模式,来看看这些理论是如何帮助我们解决日常碰到的问题的。我为大家选择了以下的五本书,帮助大家学习面向对象理论和设计模式。这些书从浅到深。J2EE的设计模式和核心Java设计模式有一点点区别,但对Java程序员来说,核心的J2EE设计书籍也是学习的一个不错的选择。

有关Java设计模式的最好的五本书

以下是我学习面向对象和设计模式的书籍清单。设计模式是前人在解决某些相似问题时总结出的最佳实践。下面的五本书也适用于其他的面向对象语言。如果你知道其他优秀的设计模式的书籍,请推荐给我们。

1. Head First Design Patterns by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson

这是我读到的第一本Head First系列的书,也是第一本面向对象的书,在此之前,我不知道如何使用抽象类和接口,我也不知道为什么组合比接口要好。在最初的几年开发中,我往往根据需求来编写代码,然而在更多的改动,更多的测试之后,往往引入更多的bug。多亏了我的好学精神,我了发现Head First Design Pattern。读了第一节之后,我感到非常的愉悦。可以说这本书很基础,但是其实学习基础比学习高级的东西更难。这本书真正做到了教会我们基础。它是每一个Java程序员必读的设计模式书籍,包括经验丰富的资深程序员。我也建议学习设计模式就应该从这本书开始。它不仅用清晰的方法解释了概念,还给出了很多图表,练习,测试以及活生生的例子来帮助你思考和吸收。我是head first系列书籍的超级粉丝,就是因为Head First Java和Head First Design Pattern。Head First Design Pattern中有很多很棒的例子,任何想要学习面向对象基础的人(譬如接口,封装,多态,抽象等)都应该读读这本书。其中装饰模式(Decorator design pattern)和观察者模式(Observer design pattern)是非常好的两个章节。

2. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

这是四人帮(GOF)的经典设计模式的书籍,它也是很多其他的面向对象设计模式书籍所借鉴的对象。如果关于设计模式的必读清单上没有这本书,那便是不完整的。出版了接近20年之后,这本书的主题依然紧贴面向对象和设计模式理论。这本书围绕着设计一个文档编辑器的例子,分别解释了多种设计模式,如Creational patterns, Structural and Behavioral patterns。个人浅见,这本书是最好的设计模式书籍。对于每个Java程序员来说,这本书以及Java concurrency in Practice和Effective Java都是必读书籍。你可以从亚马逊上购买这本书,有纸质版的,也有多媒体CD。

3. Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) by Alan Shalloway, James R. Trott

就像多线程和并发一样,设计模式也不容易理解。其中最困难的部分就是理解之后应用到真实的例子中去。这就是为什么要多读几本Java的设计模式的书,非常值得这么做。因为对于某些程序员来说,某个作者的写作风格比其他作者更易读。但是Joshua Bloch是个例外,他的写作风格被部分程序员都适用。《Design Patterns Explained: A New Perspective on Object-Oriented Design》这本书是学习面相对象设计模式的另一本书。虽然它也没有什么新内容,也介绍了面向对象理论,UML以及装饰者模式、工厂模式、观察者模式等设计模式。但是它对于很多初学者来说更通俗易懂。这本书里的例子也非常棒。

4. Software Architecture Design Patterns in Java by Partha Kuchana

这是这个主题的又一本书,它不仅涵盖了所有的面向对象基础(类,对象,继承,多态,抽象,封装),也包括了一些实用但不明显的细节,譬如私有方法,getter和setter方法,不可变对象,接口和监视器(monitor)。这本书还有一些更深入的面向对象的知识,如创建模式(Creational patterns), 集合模式(Collection patterns), 结构模式(Structural patterns), 行为模式(Behavioral patterns),和并发(Concurrency patterns)。对于工厂模式和单例模式的讲述也很有趣。我喜欢这本书的另一个原因在于,有很多实用的问题和UML图表,这样不仅能更深入的理解问题,也可以在实际应用方面有所帮助,实用也正是学习设计模式最重要的作用。最后这本书通过为网络主机公司设计软件的实例学习,来让我们将设计模式应用在真实的场景中。简而言之,《Software Architecture Design Patterns in Java》可以帮助你全面学习设计模式。

5. Core J2EE Patterns: Best Practices and Design Strategies (2nd Edition) by Deepak Alur, Dan Malks, and John Crupi

J2EE平台是Java程序语言的最流行的开发方法,它主要专注于解决网络和企业的问题,有一套自己的问题和需求。核心的J2EE模式描述了一些最有用的J2EE世界的设计模式,譬如拦截过滤器(Intercepting Filters),前端控制器(Front Controller),MVC模式,数据访问对象模式(Data Access Object, DAO Pattern),视图协助器模式(View Helper Pattern)或视图解析器(View Resolver Pattern),服务定位模式(Service Locator Pattern)等。这本书将设计模式按照功能分类,分为表示层的设计模式、逻辑层的设计模式等。对于每一个需要编写网络应用和企业应用的Java和J2EE程序员来说,这都是一本必读书籍。虽然现代的框架如Spring已经确保你在框架的层次接触到这些J2EE设计模式,譬如Spring MVC确保了MVC的使用,它也同时使用了前端控制器(DipatcherServlet)和视图解析器(ViewResolver)。同时Spring框架还在容器层保证使用依赖注入和IOC。总之,不管你使用Spring MVC, Structs还是其他web框架,学习J2EE模式不仅能帮助你理解前人写的代码,也能让你写出更容易维护的代码。

除了以上的五本书,你可以看看Joshua Bloch的Effective Java第二版以及Head first object oriented analysis and design,你能知道更多面相对象的理论以及如何应用在Java编程中。Effective Java是Java程序员必读书籍,因为它解释了很多Java库如何设计的原理。

原文链接: Javarevisited 翻译: ImportNew.com - 唐小娟
译文链接: http://www.importnew.com/6374.html
转载请保留原文出处、译者和译文链接。]

关于作者: 唐小娟

推荐地址:http://www.importnew.com/cat/books

转载于:https://www.cnblogs.com/yizuochengchi2012/p/4672121.html

身为java程序员你需要知道的网站(包含书籍,面试题,架构...)相关推荐

  1. Java程序员总结出必看的初级~高级技术面试题

    1换位思考下,如果你面试官,你会怎么做 1只能通过简历和面试来衡量,别无他法.如果某位大牛确认能力很行,但面试时无法充分地自证能力,那对不起了,过不了,现实就这样. 2如果面试官由于能力不行,招进来一 ...

  2. 身为 Java 程序员必须掌握的 10 款开源工具!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:雨轩小晴 www.seoxiehui.cn/article- ...

  3. 身为Java程序员,这些开源工具你一定要学会!

    本文主要介绍Java程序员应该在2018年学习的一些基本和高级工具.如果你是一位经验丰富的Java开发人员,拥有5到10年的经验,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机 ...

  4. Java程序员该如何学习才能成长为一名优秀的架构师

    Java架构师,首先要是一个Java程序员,熟练掌握使用各种框架,并知道它们实现的原理,Java虚拟机原理.调优,懂得JVM能让你写出性能更好的代码,池技术,什么对象池,怎么解决并发量.连接池,线程池 ...

  5. 收藏|Java程序员必看的几本基础书籍和常用工具

    java程序员必看基础书籍和工具 1计算机基础 1.<深入理解计算机系统> 著名的CSAPP,从c语言到汇编语言到硬件再到操作系统,写得非常好.是一本能帮助深入理解计算机系统的书.基本上把 ...

  6. Java程序员必看的9本基础书籍推荐!

    互联网的迅速发展给IT行业提供了广阔的前景,很多IT企业为了更好的发展,不惜重金聘请软件开发人才以增强自己在市场上的竞争力.这也让IT从业人员薪资水涨船高,许多人纷纷转投Java开发行业.很多人学Ja ...

  7. cstring判断包含字符串_作为java程序员要知道的大厂常见的算法面试题:字符串的包含...

    1.2 字符串的包含 题目描述 给定一长字符串a和一短字符串b.请问,如何最快地判断出短字符串b中的所有字符是否都在长字符串a中?请编写函数bool StringContain(string & ...

  8. influxdb java_身为Java程序员想拿高薪?这份分布式的pdf你一定不能错过

    身为后端工程师,你对这类招聘要求肯定不陌生:熟悉分布式系统的设计和应用:熟悉分布式.缓存.消息.搜索等机制:对分布式常用技术进行合理应用.解决问题等等. 而这其中,又以分布式协议与算法尤甚.很多大公司 ...

  9. java集群_身为Java程序员的你知道分布式与集群的联系及区别吗?

    集群 多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点. 集群拥有以下两个特点: 可扩展性:集群的性能不限制于单一的服务实体,新的服务实体可以动态的 ...

最新文章

  1. Codeforces 862B - Mahmoud and Ehab and the bipartiteness
  2. Flex技术中的陷阱
  3. 手把手带你入门Java中File类
  4. shardingsphere启动的时候报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
  5. java8 lambda python_【学习笔记】java8 Lambda表达式语法及应用
  6. C# ASP.NET Forms身份认证
  7. 【鲲鹏来了】华为云鲲鹏弹性云服务器 KC1一文全掌握(4)
  8. IIS Log的位置
  9. H5中 video 使用border-radius失效解决方法
  10. 计算机自带的画图软件在哪里,mac画图工具在哪里_mac自带画图工具怎么打开-win7之家...
  11. TongLINK/Q7.X 8.x查看队列情况命令
  12. python实现两个word文档对比
  13. Android 游戏 - 聚合SDK
  14. 三菱q系列plc连接电脑步骤_三菱Q系列PLC 以太网通信设置方法
  15. 【其他】手机bilibili的视频文件在哪个目录
  16. google earth的网页版
  17. (14)ObjectARX2015 + vs2012创建和编辑对象时的动态拖动技术
  18. sync包——WaitGroup
  19. 《党政机关公文格式》国家标准(GB/T 9704-2012)
  20. File not found: ..\target\m2e-wtp\web-resources\META-INF\MANIFEST.MF.

热门文章

  1. 如何建立你自己的Docker镜像
  2. Linux基础常用命令
  3. 金山WPS发布了Linux WPS Office
  4. Delphi中流对象 TStream
  5. C# 反射与dynamic最佳组合
  6. win 8升级win8.1的几个问题
  7. hibernate----N-1(一)
  8. Android SharedPreferences 见解
  9. ThinkPHP框架搭建网站
  10. Silverlight从客户端上传文件到服务器