英文原文:http://www.programcreek.com/2013/08/top-books-for-advanced-level-java-developers/

java语言是当今最受欢迎的编程语言之一。对于初学者来说,有许多有关这样的书籍。但是对于有一些java编程经验的程序员来说,其中有些书过于简单,有些又是过于繁琐。所以这些入门书籍并不会带来新鲜感,激发一些有意思的灵感。然而,java编程的高级书籍并不是很容易写出来的,并不是因为写这些书需要多少技术,多少经验,而是这些是要内功深厚的人才能写出来的。

在这篇文章中,笔者仅仅拿出java高级编程的书籍与大家分享我的看法,这就意味着,像“Thinking in Java” 或是 “Head First Java”并不会出现在这个表单中,即使它们对于初学者来说真的是很好的书。当然,笔者也会尽量避免所列出的书籍仅仅局限于特定的软件或是框架,因为笔者所说的并不是纯java。

1、Java in a Nutshell


  与其说这是一本书籍,倒不如说这是一份参考资料。

2、Effective Java


  这本书是为深入理解java的程序员所准备的。它将78种不可或缺的编程规则玩弄与指尖之中:编程中最佳的运行方案、最佳的解决方案挑战着你每天所见到的认为最佳的。

3、The elements of Java style


  这本书是针对想用java编程的人员来写,它为java程序员提供了一系列规则,标准、约定和参考,并且通过举例子的方式来指导java程序员如何编写出容易理解的、易维护的、可扩张的健壮性的代码。

4、Java Concurrency in Practice


  想把这本弄明白是真的是很困难的一件事情。

5、Design patterns: elements of reusableobject-oriented software


  实际上,这本书中的例子是用c++或是smalltalk编写的,但是那有怎样呢?如果你想成为java开发人员,你就必须得了解设计模式,充分利用别人的经验,还要从那些面临相同的人身上吸取教训。当然,还有许多这样的书籍,不过它们也仅仅做一些补充性的工作。

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


或多或少的说,知道面向服务的编程的知识是很有用的。本书的第一部分的几个章节会给你介绍以及给出具体的例子。

10、Clean Code: A Handbook of Agile Software Craftsmanship


  最后一本,但也是很重要的一本。查看你自己编程的特点也是很有用的。开发软件中大约90%的时间都是花在了代码的维护上,所以保持简练的代码是很重要的。

对java高级程序员有益的十本书的更多相关文章

  1. Java高级程序员(5年左右)面试的题目集

    Java高级程序员(5年左右)面试的题目集 https://blog.csdn.net/fangqun663775/article/details/73614850?utm_source=blogxg ...

  2. 成为java高级程序员需要掌握哪些

    section 1 1.Core Java,就是Java基础.JDK的类库,很多童鞋都会说,JDK我懂,但是懂还不足够,知其然还要知其所以然,JDK的源代码写的非常好,要经常查看,对使用频繁的类,比如 ...

  3. 转 Java高级程序员面试题

    1.你认为项目中最重要的过程是那些? 分析.设计阶段  尽量找出进度的优先级 2.如果给你一个4-6人的team,怎么分配? 挑选一技术过硬的人作为我的替补.其它人平均分配任务,每周进行全面的任务分配 ...

  4. Java高级程序员面试题

    1.你认为项目中最重要的过程是那些? 分析.设计阶段  尽量找出进度的优先级 2.如果给你一个4-6人的team,怎么分配? 挑选一技术过硬的人作为我的替补.其它人平均分配任务,每周进行全面的任务分配 ...

  5. java 面试,java 后端面试,数据库方面对初级和高级程序员的要求

    本内容摘自 java web轻量级开发面试教程 对于合格的程序员,需要有基本的数据库操作技能,具体体现在以下三个方面. l  第一,针对一类数据库(比如MySQL.Oracle.SQL Server等 ...

  6. 【转】成为Java顶尖程序员 ,看这11本书就够了

    成为Java顶尖程序员 ,看这11本书就够了 转自:http://developer.51cto.com/art/201512/503095.htm 以下是我推荐给Java开发者们的一些值得一看的好书 ...

  7. [刘阳Java]_Java程序员的成长路线_第3讲

    按照Java从业人员的职位晋升来说,Java程序成长路线大致如下 Java程序员 JavaEE初级软件工程师 JavaEE中级软件工程师 JavaEE高级软件工程师 Java架构师 按照职业发展方向, ...

  8. 如何成为一个C++高级程序员

    C++这门语言从诞生到今天已经经历了将近30个年头.不可否认,它的学习难度都比其它语言较高.而它的学习难度,主要来自于它的复杂性.现在C++的使用范围比以前已经少了很多,java.C#.python等 ...

  9. 程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

随机推荐

  1. Linux系统性能监控工具介绍之-tsar

    Linux系统性能监控工具介绍之-tsar Linux系统性能监控工具介绍之-tsar 2017-03-02 20:25 175人阅读 评论(0) 收藏 举报  分类: LINUX调优(9)    目 ...

  2. CH#56C 异象石

    一道LCA 原题链接 先跑一边\(dfs\),求出每个节点的时间戳,如果我们将有异象石的节点按时间戳从小到大的顺序排列,累加相邻两节点之间的距离(首尾相邻),会发现总和就是答案的两倍. 于是我们只需要 ...

  3. SSRF-php初探

    0x00 前言 1)    SSRF的概念很好理解,请自行百度. 2)    JAVA/PHP/PYTHON都存在SSRF漏洞(至于其他语言的情况,了解粗浅尚不得知). 3)    SSRF的利用方式 ...

  4. Previous Permutation

    Similar to next permutation, the steps as follow: 1) Find k in the increasing suffix such that nums[ ...

  5. oracle 导出表

    由于进项目组是跟着dba做事情的,但是没做多久dba走了,差不多就把数据库方面的“杂事”接下来了. 小白一个,只有敬小慎微的操作.经常看到的高水位和低水位的情况,也不敢去乱动. 搞好今天晚上需要跑数据 ...

  6. php中@mysql_connect与mysql_connect有什么区别

    屏蔽错误如果有错的话,会把语句都显示出来.加@就不显示$link=@mysql_connect('localhost','root','123') or die ("数据库连接失败" ...

  7. 2018.11.18 bzoj2194: 快速傅立叶之二(fft)

    传送门 模板题. 将bbb序列反过来然后上fftfftfft搞定. 代码: #include<bits/stdc++.h> #define ri register int using na ...

  8. prometheus+telegraf无法监控网络流量的问题

    原因是prometheus缺少以下紫色框的部分 解决办法: 比如要监控的机器ip为172.16.12.7,机器内部 安装了telegraf. 1)先查看机器的网卡:ifconfig 发现ip地址位于网 ...

  9. 第15章:MongoDB-聚合操作--聚合管道--$match

    ①$match 用于对文档集合进行筛选,里面可以使用所有常规的查询操作符. 通常会放置在管道最前面的位置,理由如下: 1:快速将不需要的文档过滤,减少后续操作的数据量 2:在投影和分组之前做筛选,查询 ...

  10. 轻松建立Silverlight开发环境

    创建Silverlight 4开发环境,微软提供最简单的方法是使用Web Platform Installer,进行“一键安装”, 下载安装后,Web Platform Installer会自动检测哪 ...