读技术书籍一定要读最经典的

最近很多人问我读什么书,鉴于之前有空的时候也会读过一些书,特此整理一些分享给大家,如果有你读的很不错的书也欢迎留言推荐补充。

下面主要是还是针对 Java 工程师学习方向的相关书籍,我大致把进阶的书籍分为 Java 基础、数据库、网络、框架、架构、方法论和职场。

1, Java 基础

Java 基础主要还是围绕基础语法、多线程、JVM 和性能。

「基础」的书籍呢还是经典的《Java 编程思想》了,不过个人建议不必须那么早的看这本书,很多东西做项目多了,用的多了再回过头来看这本书效果会比较好。

「多线程」是 Java 基础中比较核心的知识点了《Java并发编程实战》永远是不过时的经典书籍,这本书理论多一些,可以配合阿里技术专家的一本书《Java并发编程的艺术》里面会讲很多技术的实现细节,有一些知识点是重复的所以两本书一起看也不会浪费很多时间。

「JVM」是 Java 进阶的关键,也是面试的必考知识点,首推周志明的《深入理解Java虚拟机》,当然在看的时候不要草草略过,还是需要仔细推敲里面每一个环节的始末缘由。虽然这本书上面的内容不是最新的,但是通过这本书可以了解基本的 JVM 概念,如果有兴趣深入了解 JVM 可以看每年 Oracle 发布的最新的虚拟机规范。看完 JVM 的目的是什么呢?就是更好的写出高效的程序并且可以性能调优,那么这时候如果配合看《Java性能权威指南》不仅可以巩固一下 JVM 知识,可以根据里面的工具和方法亲自实现一把。

2, 数据库

做程序数据库是必不可少看,不过只看目前用的比较常用的就可以了。

「Redis」一本经典的书便是《 Redis 实战》,里面由浅及深,通过真实的场景引导如何使用 Redis 的不同的数据结构,有助于更好的理解 Redis,这本书着重于讲解使用,如果要深入理解 Redis 的实现原理可以参照《Redis设计与实现 (数据库技术丛书)》这本书籍,里面讲解的很细致。

「MySQL」一本很经典的书就是《高性能MySQL》,随便这本书比较贵但是很值得一看。

「ElasticSearch」这个直接看 ElasticSearch 官网的《Elasticsearch: 权威指南》在线书籍就好,由浅及深讲的很全,从用法到原理再到进阶。网址如下:

https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
3, 网络

「网络」也是开发和面试的重点,涉及的知识点包含但不限于 TCP/IP、HTTP、SSL 等,《HTTP 权威指南》里面讲的非常详细,不过这本书内容较多,可以买来作为工具书遇到不懂的地方拿来翻看。但是一些具体的细节可能理解起来不容易,这时候阅读如果遇到问题可以参考《图解HTTP》,这本书就更容易理解。

4, 框架

「框架」的书太多了,良莠不齐。框架真心不推荐看什么技术书籍,如果是使用直接看 Spring 的官方文档就好了,很全还可以锻炼英文。如果是深入理解直接 Debug 看源码。

5, 架构

「架构」算是进阶的书籍了,如果上面的内容你觉得都可以游刃有余,那么可以看一些拓宽眼界的书籍,不过纸上学来终觉浅,所以这些东西还是自己实践更容易理解。《分布式服务框架:原理与实践》和《亿级流量网站架构核心技术》这两本书可以用来提升自己的视野,因为技术日新月异,里面的内容不一定是最新的,但足以拓宽自己的视野。

6, 方法论

上面的知识点是告诉你怎么做对,那么怎么做好呢?「方法论」就是在告诉我们如果做的优雅。《重构 : 改善既有代码的设计》是 Martin Fowler 的大作,里面会详细指导你怎么样写出优雅的代码去掉代码“坏味道”。《代码整洁之道》这本书通过名字就理解是用来做什么了吧。当然大家这时候想到了设计模式,那么《Head First 设计模式》是入门的最佳书籍了。

7, 职场

古语云:“万事俱备只欠东风”,技术水平足以胜任开发能力了但是互联网也是职场,那么有一些技能你还是需要了解下的。《软技能 : 代码之外的生存指南》里面确实有你想要的东西。

原文地址:https://blog.51cto.com/14084567/2395967

时间: 2024-10-13 17:09:34

读技术书籍一定要读最经典的的相关文章

少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

1.引言 很多初涉网络编程的程序员,在研究Java NIO(即异步IO)和经典IO(也就是常说的阻塞式IO)的API时,很快就会发现一个问题:我什么时候应该使用经典IO,什么时候应该使用NIO? 在本文中,将尝试用简明扼要的文字,阐明Java NIO和经典IO之间的差异.典型用例,以及这些差异如何影响我们的网络编程或数据传输代码的设计和实现的. 本文没有复杂理论,也没有像网上基它文章一样千篇一律的复制粘贴,有的只是接地气的通俗易懂,希望能给你带来帮助. (本文同步发布于:http://www.5

如何实现共享文件夹可读,文件不可读不可拷贝

如何实现共享文件夹,可以列出文件,而文件本身不可读,不可拷贝 问题:如何实现共享文件夹可读,文件不可读不可拷贝? 实验环境:win7 旗舰版.局域网 步骤及说明: 右击[右下角网络图标],进入"打开网络和共享中心",进入"更改高级共享设置",开启"启用密码保护共享"(说明:我启用该设置是为了访问共享时需要输入账户密码) 创建访问共享所需要的账户,右键"我的计算机"进入"管理",在"本地用户和组&q

回文指的是一个字符串从前面读和从后面读都一 样,编写一个算法判断一个字符串是否为回文。

回文指的是一个字符串从前面读和从后面读都一 样,编写一个算法判断一个字符串是否为回文. 要求: 1)采用链栈实现算法: 2)从键盘输入一个字符串,输出判断结果. #include"stdio.h" #include"stdlib.h" typedef char ElemType; typedef struct stnode { ElemType data; struct stnode *next; }StNode, *LinkStack; int huiwen(ch

数据库事务隔离级别--读未提交,读已提交,重复读,序列化

参考原文:https://my.oschina.net/bigdataer/blog/1976010 上一篇文章讲述了:数据库主从复制,那么新的问题数据库读写分离对事物是否有影响? 1. 名词 读未提交read-uncommited 读已提交read-commited 重复读repeatable-->可能产生主从数据不一致问题 串行化serializable-->特殊场景-秒杀使用,一般不用 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committe

人生在世,不在于读多少,在于读什么?

有很多人在说中国人的阅读量很少,这话也对也不对.很多时候不是阅读量少,而是有质量的阅读不多.在竹简飘香的年代,能会有多少书?古代的老子.庄子.孔子读了多少书?可以说,在我们读完大学四年的时候,很多人的阅读量都超过了古代最牛的大学问家. 信息不是知识,知识不是智慧,选择越多也就越迷茫. 在纸张泛滥.信息充塞的年代,一个谎言的出现,需要几十万字去证明这个谎言的真假:一场婚礼的出现,纸媒报纸新媒体产生的文字垃圾超过了任何一部经典名著. 民国时期的文人,敢说能把唐以前的绝大部分书都读过,那是整整三千年的

python-----opencv读视频、循环读图片显示进度条

功能:opencv读视频,显示进度条,推动进度条快进.后退,按q退出.代码如下: import os import cv2 def nothing(emp): pass def jindu(name,video): cv2.namedWindow(name,0) cv2.resizeWindow(name, 800, 600) cap = cv2.VideoCapture(video) frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) loop_fl

数据库隔离级别,读已提交,读未提交

同样是后端开发,年薪50万和年薪20万的差距在哪里>>> 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted.Read committed.Repeatable read.Serializable,这四个级别可以逐个解决脏读.不可重复读.幻读这几类问题. √: 可能出现    ×: 不会出现 事务的隔离级别 脏读 不可重复读 幻读 Read uncommitted √ √ √ Read committed--Sql Server , Oracle × √ √ Re

Java 一边读边写即读一行写一行

public static void CreateFile(String src,String des){ String path1="D:\\test\\data\\"+src; String path2="D:\\test\\res\\"+des; File file1=new File(path1); //StringBuilder sb=new StringBuilder(); File file2=new File(path2); try { if(!fi

读《算法》有感

我第一次读技术书籍写读后感,别有一番情趣. 因为确实是欠缺不少计算机类的知识和概念,所以学起来自然有点像读大学的样子.可这不都是事儿,我又近了一步呢. 刚刚读到背包(Bag).队列(Queue).栈(Stack)的时候,顿时豁然开朗,感觉原来这么简单的数据类型,竟然可以做这么多事情. 原来从来没想过的加减乘除的计算原来是需要两个栈来完成的. 处处是算法,处处是抽象数据类型.