阿里毕玄:推荐给Java程序员的7本好书
yuyutoo 2024-11-07 14:17 4 浏览 0 评论
我主要还是个Java程序员,所以进阶类型的书就推荐Java相关的。
- 《Java并发编程实战》
- 并发是高级语言里都需要掌握的稍微高级一些的技巧,这本书尽管是2012年的书了,但我觉得仍然是无比经典,绝对是必读书。
- 《Netty实战》
- Netty是Java中通信框架实现的典范,非常值得通过这个来学习好语言中IO相关的知识,以及优秀的通信框架的写法。
- 《深入理解Java虚拟机(第2版)》
- 这本书我自己没看过,但听很多读过的同学的评价都是不错的,要真正的理解Java语言,就必须真正的去了解Java虚拟机,这样才能知道它的运行机制,例如Java编译、Java线程机制、Java内存管理等。
- 《Java性能优化权威指南》
- 这书是大神级人物写的,绝对值得一看,对排查问题、性能优化都有不小的帮助。
- 《Oracle JRockit: The Definitive Guide》
- 这书也是一本老书了,2010年写的,同样也是大神级人物写的,只有英文版,当年读这书对我学习JVM起到了很大的帮助,尽管Java同学主要用的是OpenJDK,而不是JRockit,而正因为有了对比,会对Java语言的实现有更深的理解。
- 《垃圾回收算法手册:自动内存管理的艺术》
- 中文版是2016年的,英文版是2011年的,这书对深刻的理解自动内存管理会有很大的帮助,毕竟其实自动内存管理这个领域的实现原理很多年是没有太大改变的,但实现的细节上有了很多的优化。
- 《性能之巅:洞悉系统、企业与云计算》
- 这书放在自己的想读列表里很久了,看评价应该是不错的,之前也说过,对于编程进阶的能力而言,查问题的能力是非常重要的一方面,这书应该有帮助,看过的同学也欢迎回复评价下。
还有很多书,先就推荐这些了,不过发现如果是论编程进阶相关的书,看起来还真有点缺,大部分书都是多年前写的。
系统设计相关
__
- 《架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)》
- 这书没看过,不过英文版我记得有点印象,评价好像不错的,欢迎看过的同学来说说。
- 《大型网站系统与Java中间件开发实践》
- 老伙伴华黎几年前写的书,对于开发大型的Web系统的同学而言是很值得学习的。
- 《SRE:Google运维解密》
- 理论上这不算系统设计的书,但运维其实是系统设计中很重要的要考虑的环节,我以前见过有些架构师设计的系统到上线的时候才发现少考虑了东西,导致上线没法上,我自己其实也干过这样的书,所以对于架构师而言,通过读这些书来扩充视野是非常重要的。
系统设计相关的书写的好的还真是有点少,当然也有原因是我看这方面的书很少。
其他
__
- 《智能时代》吴军
- 很值得推荐,看这书能更充分的感受到智能时代带来的冲击,例如智能+工业可能会发生什么。
看这些类型的书对自己在技术方向的判断上是能有不错的帮助的。
- 《人类简史》
- 很多地方都在推荐,对我来说是看了后才更加明白了人类发展,例如人类的协同演进。
- 《大学之路》 吴军
- 可能很多人都觉得这书是在讲怎么选美国的大学,以及怎么考,但看了后我觉得最值得推荐的是看这书才明白了高等教育的两个主流理念,以及美国、英国这些大学是怎么建设的,为什么和国内的高等教育会不同,强烈推荐。
- 《鞋狗》
- 看Nike的创始人是怎么把Nike做起来的,挺有意思的,可能是也很对胃口吧,兴趣和专业,是能做起来的关键。
杂书其实可以推荐的还真很多,不过春节也就这么点时间,还是不写太多了。
大家有什么值得推荐的书,也欢迎回复。
作者:毕玄
文章来源:微信公众号HelloJava
相关推荐
- URL URI傻傻分不清楚,dart告诉你该怎么用
-
简介如果我们要访问一个网站,需要知道这个网站的地址,网站的地址一般被称为URL,他的全称是UniformResourceLocator。那么什么是URI呢?...
- 你最深爱的编程语言其实很烂
-
我最近写了几篇比较严肃的博客,是关于一些沮丧的事情,结果我开始有些忧郁。很严重。所以,我想应该说些比较轻松的事情。我要做的就是数落大家最喜欢的编程语言。你会问我为什么,为什么要搞这种恶作剧?亲爱的朋友...
- 路由器交换机基础配置6——命令行显示信息设置
-
一、控制命令行显示信息设备中的部分命令执行后会出现提示、警告、执行结果等显示信息,用户可以控制这些显示信息的显示方式,以方便阅读。1、提示和警告信息提供中、英文两种语言显示。可以通过language-...
- python是一种什么类型的编程语言
-
Python(英国发音:/'paθn/美国发音:/'paθɑn/)是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以视之为一种改良(加入一些其他编程...
- 60年了,LISP语言的进化史是否会引发你对AI未来的新思考?
-
图:pixabay作为长期垄断AI领域的高级计算机语言程序,Lisp语言到底经过了怎样的变迁?也许,我们可能已经忘记了一些在今天仍然有用的东西,或者说,至少了解这些历史对一些新的想法产生有所影响。o2...
- Java 和 JavaScript 的关系
-
Java和JavaScript不同之处:●出身不同:Javascript与Java是由不同的公司开发的不同产品。Javascript是Netscape公司的脚本语言,而Java...
- Micro:命令行文本编辑器 (Go)
-
Micro是一款基于终端的文本编辑器,使用Go开发。Micro是个命令行编辑器,主要特性是易用,直观,并且包含所有现代化终端的优点。功能:易用常用快捷键绑定(ctrl-s,ctrl-c,...
- 7 行代码 3 分钟:从零开始实现一门编程语言
-
本文最初发布于MattMight的个人博客。...
- 码上去学海南公司:C语言到底能干什么?我列举了8种经典案例
-
虽然C语言执行速度极快,占用资源极少,但是它使用起来非常麻烦,完全没有Java、Python、Go、JavaScript、C#等方便和灵活,会严重拖慢项目的开发进度,所以,通常只有在“不得不”的情...
- 什么是 JavaScript?
-
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!作者|慕课网精英讲师然冬...
- 新人如何自学安卓手机软件开发?
-
当我们问一个人,你是做什么的,听到我是做软件开发的,不由自主就会感觉,这个人好厉害。越来越多的人投身于软件开发行业,可能有些人本身不是学这个专业的,出于对这个行业的热爱,自学软件开发。现在这个社会,多...
- Android开发基础入门(一):UI与基础控件
-
Android基础入门前言:...
- 第02章 《小Z安卓程序员之路》Android Studio
-
不积跬步无以至千里,不积小流无以成江海!!每天进步一点点我是杨哲丶,一个梦想把科技和艺术结合在一起的程序猿!!小Z在开始查询的如何使用SVN和如何使用Git版本控制工具的时候,发现网上大部分居然是关于...
- 支付宝团队 | 移动客户端实战教程(iOS和Android)
-
今天给大家推荐一个非常好的PPT,是github在线的,是支付宝团队内部分享技术用的PPT,适合Web端和移动端的同学入门客户端开发,是我见过的最详细的《iOS&Android开发从入门到...
- 只需二步,就可以在win11操作系统上运行Android程序,非常简单
-
你想像过吗,只需几个简单的步骤即可在你的Windows电脑上运行Android应用程序。现在,在Windows11中运行安卓应用程序现在就像在手机上运行应用程序一样简单。微软和亚马逊联手打造了数千款...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)