《Effective Java中文版》

在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。第2版反映了Java 5中最重要的变化,并删去了过时的内容。

《实战Java虚拟机:JVM故障诊断与性能优化》

如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧:

1、了解Java代码的底层运行机制

2、定位性能问题

3、对整个系统进行性能调优

4、解决各种奇奇怪怪的线上线下问题

那 么Java虚拟机是你必学的一门技术。《实战Java虚拟机:JVM故障诊断与性能优化》写的很入门,技术也最新,新手也能看得懂,如果有java技术瓶颈的,看完会豁然开朗。

《HotSpot实战》

所有的Java虚拟机都是遵循着Java虚拟机规范来的,市面上的Java虚拟机几十款,《实战Java虚拟机:JVM故障诊断与性能优化》一书里面讲的虚拟机并不针对某种特定的虚拟机,而是从Java虚拟机规范的角度来讲解Java虚拟机。

我们平时使用的乃至商用的大多数Java虚拟机都是Sun公司的HotSpot,大家cmd进入命令行,使用”java -version”命令就可以看到了。如果希望在Java虚拟机规范的基础上更加深入地去理解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书,作者是陈涛。不过由于HotSpot的源码都是C/C++写的,所以要求读者有非常好的C/C++基础,如果对这两门语言不是很熟悉的朋友,看这本书可能对你帮助不是很大。

最后提一句,如果有兴趣的朋友,不妨先去网上下载一个openJDK,HotSpot的源码就在里面。

《实战Java高并发程序设计》

这本书是目前点评推荐比较多的书,其特色是:

1、案例小,好实践

2、代码有场景,实用。

无论如何,并发已经成为多核时代的趋势,还是一定要推荐给大家的。

《java多线程编程核心技术》

《Java多线程编程核心技术》作者高洪岩。想要学习多线程的朋友,这本书是我大力推荐的,我的个人博客里面二十多篇的多线程博文都是基于此书,并且在这本书的基础上进行提炼和总结而写出来的。

此书和《Java并发编程实战》 相反,这本书的特点是大篇幅的代码+小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。本书关于线程安全、synchronized、 Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。

有兴趣的朋友们,我相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解一定会进几大步。

不 过这本书的缺点就是对于Java并发包下的一些类像CountDownLatch、Semphore、CyclicBarrier、Future、 Callable等都没有讲到,重点的CAS和AQS也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识 进行一些学习、研究的话,你一定会慢慢成长为一个很厉害的多线程高手。

《深入分析Java Web技术内幕》

这本书我用一个字概括就是:全。真的非常全,HTTP、DNS、CDN、静态化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些Java Web使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。

不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。如果想进一步了解这些技术的技术内幕,就要自己去买相关书籍或者自己上网查资料了,有种抛砖引玉,或者说师傅领进门、修行在个人的感觉。

《大型网站技术架构 核心原理与案例分析》

一个字评价这本书,屌;两个字评价这本书,很屌;三个字评价这本书,非常屌。呵呵,好了,再说下去可能别人以为我是水军了。

《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。

Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?

关 于分布式的知识点,都在这本书里面有体现,只有你想不到,没有他写不到,而且写得非常易懂,基本属于看一两遍,再记一些笔记就知道是怎么一回事儿了。多看 几遍,对分布式的理解一定会加深不少。而且里面不仅仅是分布式的知识,还非常接地气地写了如何做一个好的架构师,其实我认为这不仅仅是写给想做架构师的读 者看的,就是给读者一些建议,如何更好地提出意见、如何更让别人关注你的声音、如何看到他人的优点,入木三分,让人获益匪浅。

《大型网站系统与Java中间件实践》

《大型网站系统与Java中间件实践》作者曾宪杰,是淘宝的技术总监,算起来应该在阿里有至少P8的级别了吧。

这本书的部分内容和上面一本李智慧的《大型网站技术架构 核心原理与案例分析》有所重合,像分布式系统的演化、CDN、CAP理论和BASE理论等等,这也更说明这些都是分布式系统或者说是一个大型网站重点关注的内容,当作一次再学习也不错。

本书要突出的重点是中间件三个字,中间件是分布式系统中一个非常重要的东西,其最重要的作用应该就是解耦,降低模块与模块之间的强依赖,不同的模块之间的依赖度降低,便可以各自独立地开发自己的功能,这也可以说是软件工程发展的目标和驱动力。

因此,本书有一部分的内容就是基于中间件,详细讲解了中间件与JMS的各种知识,适合对分布式系统比较熟悉并且想要往中间件方面有一定研究的读者。

《从Paxos到ZooKeeper 分布式一致性原理与实践》

《从Paxos到ZooKeeper 分布式一致性原理与实践》,作者倪超,阿里巴巴工程师。

这本书是我最近在研读的一本书,和上面的《大型网站系统与Java中间件实践》一样,属于分布式组件的范畴,属于有些深入的内容,当然也是我自己的个人兴趣。当然,如果有志向做一个出色的大型网站架构师、公司的技术总监之类,这些知识当然是必须掌握的。

本书从分布式系统基本理论开始讲起,讲到Paxos算法,最后慢慢引入到Zookeeper,循序渐进。当然,更多的我目前还不方便发表什么看法,因为这本书的第二张Paxos算法我都还没有弄懂(Paxos算法确实有些难以理解和不太易懂),接下来的章节还没有看下去。

如果网友们所在的公司在使用Zookeeper,并且你又对Zookeeper感兴趣想要研究一下它的原理的,这本书将是不二之选。

《Spring源码深度解析》

Spring 这个框架做得太好了,功能太强大了,以至于很多开发者都只知Spring,不知什么是工厂、什么是单例、什么是代理(我面试别人的真实体会)。这种功能强 大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用Spring,出了问题,可能是Error、可能是Exception、可能是程序运行结果不 是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法。

研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:

1、理解框架内部的实现之后,可以主动去解决问题,而不需要依赖别人

2、Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、对你理解设计模式有很大的提高

3、研究Spring框架将会大大增强你读代码的能力,我相信只要你能研究清楚Spring内部是如何实现的,其他任何一个框架的源代码都难不倒你

总而言之,我认为读代码的能力是一个普通的程序员和一个好的程序员之间最大的差别之一,前者只会把别人写好的东西拿来用,后者不仅能用好,还清楚知道别人写好的东西底层是如何实现的,在出现问题的时候可以轻松解决。

Spring源代码,个人推荐《Spring源码深度解析》一书,真要研究透并且写清楚Spring源代码,恐怕三四本书都不够,作者在近400页的篇幅中尽量去讲解Spring源代码是如何实现的,殊为不易,尽管无法讲得完全,但是相信作者的讲解配合上读者自己的研究,一定可以对Spring的实现有更深度的理解。

JavaWeb 图书推荐相关推荐

  1. 【JAVA程序设计】(C00046)javaweb图书借阅管理系统

    基于javaweb图书借阅管理系统 文章结构 一.开发框架及业务方向 1.开发环境 2.开发框架 3.整体业务 二.项目结构及页面展示 1.项目整体结构 2.读者页面 3.管理员页面 文章结构 前往获 ...

  2. JavaWeb图书管理系统 图书借阅系统项目源码附带视频部署演示教程

    一.项目介绍 更新记录 2022.05.29 修复Java代码,添加过滤器未实现的方法 解决css,js样式失效,引入改为本地引入 重构项目,一个项目分两版本,一个idea版本一个eclipse版本 ...

  3. JavaWeb图书管理系统day03

    视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ   提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...

  4. JavaWeb图书管理系统day02

    视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ   提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...

  5. JavaWeb图书管理系统day01

    视频+资料+笔记[链接:https://pan.baidu.com/s/127I2oA8zvhTECCmC6wMSmQ   提取码:zjxs] JavaWeb图书管理系统[bookEstore文档] ...

  6. oracle优质图书,经典Oracle图书推荐(之四)_oracle

    经典的oracle图书: Oracle High Performance Tuning for 9i and 10g by Gavin Powell Book Description There ar ...

  7. 移动游戏开发图书推荐

    移动游戏开发图书推荐 精通C#游戏编程 每个人都有出色的游戏构思,但是从最初的构思到完成一个项目所应采取的方法并不 明朗.众多的编程语言.库和生产方法让人望而生畏.即使经验丰富的游戏开发人员有时 候也 ...

  8. 零基础学python书籍-图书推荐:《零基础学Python(全彩版)》

    原标题:图书推荐:<零基础学Python(全彩版)> 书皮 书皮 内容简介 <零基础学 Python>是针对零基础编程学习者研发的 Python 入门教程.从初学者角度出发,通 ...

  9. 采用Mono进行移动开发图书推荐

    今天在新浪微博上csumathboy发的微博,我也把它微博中提到的一本书在腾讯微博上发了下,引来几十条的讨论,具体参见http://t.qq.com/p/t/235224115352902#p=1&a ...

最新文章

  1. 面向未来的数据中心需要防止立法蠕变
  2. RGB格式等比例缩放
  3. 天大和武大计算机考研,985大学排名出炉,天大和武大并列第10,榜首是哪所?...
  4. python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
  5. SpringCloud入门简述
  6. 前端学习(3306):函数组件usermemo和usercallback二
  7. 搜索引擎关键字智能提示的一种实现
  8. APICloud使用Aui自定义Toast
  9. python写tcp通信程序_一个简单的基于TCP通信的服务器端与客户端程序
  10. FTP文件服务搭建与同步传输
  11. 算法系列之二十三:离散傅立叶变换之音频播放与频谱显示
  12. Mac安装 Navicat
  13. 薛定谔 Maestro教程--用户界面 | 结构编辑 | 测量距离角度
  14. CSS之BFC(Block Formatting Context)
  15. 家到学校路线图怎么画_从家到学校的详细地图怎么画?
  16. NOI2022游记,未曾设想的道路
  17. 什么叫做正向代理和什么叫做反向代理
  18. android手机短信诈骗原理,安卓系统均存短信欺诈漏洞 专家:系统先天不足
  19. 学习笔记-Volatility
  20. 浙大PTA数据结构与算法题目集(中文)题解集复习用

热门文章

  1. 【初级算法】10.有效的数独
  2. PHP socket以及http、socket、tcp、udp
  3. Jquery点击切换播放不同的Flv视频文件
  4. 一个类月光宝盒应用,把手机,电视,盒子变家庭游戏机(FBA,FBNEO,MAME)
  5. 计算机硬件的五个功能部件及其功能
  6. 计算机目录排版的文章,自动生成目录,论文排版看这一篇就够了
  7. Easy Data Transform for mac (Excel和CSV编程文件转换工具) v1.11.1激活版
  8. 几款国外主流虚拟主机控制面板介绍
  9. 【C语言】||(或) (且)
  10. layui个人中心html,Layui的简易入门教程