互联网的迅速发展给IT行业提供了广阔的前景,很多IT企业为了更好的发展,不惜重金聘请软件开发人才以增强自己在市场上的竞争力。这也让IT从业人员薪资水涨船高,许多人纷纷转投Java开发行业。很多人学Java都是冲着Java的高薪来的,那么月薪过万的Java程序员,必看基础书籍有哪些?
Java程序员必看书籍推荐
1、《深入理解计算机系统》
著名的CSAPP,从c语言到汇编语言到硬件再到操作系统,写得非常好。是一本能帮助深入理解计算机系统的书。基本上把这本书吃透面试操作系统的大部分问题都不是问题。
小编是一个有着5年工作经验的java程序员,对于java,自己有做资料的整合,一个完整学习java的路线,学习资料和工具,相信这里有很多学习java的小伙伴,我创立了一个2000人学习扣群,479121291。每晚都有java的直播课程。无论是初级还是进阶的小伙伴小编我都欢迎!
2、《算法导论(第三版)》
被很多acmer coder奉为学算法的经典之作,但不太适合初学者,因为它这本书很多内容只提供了伪代码,而没有具体实现。但可以从这本书学数据结构和算法最好,因为日后的编程语言对实现而言实际上并没有特别大的障碍,只是适合与不适合的选择罢了,而把想法转换成编程语言才是对算法知识的考验。如果不想太过深入的话可以忽略掉第四部分(高级设计和分析技术)第五部分(高级数据结构)和第七部分(算法问题选编),你会发现书其实比你想象中薄很多噢!
3、《计算机网络:自顶向下方法》
软件学院的计算机网络教材,非常适合初学者,里面将计算机网络从顶层到底层逐章分析了一遍,最好能够结合一些实验来辅助理解,里面的讲解比较抽象。
4、《STL源码剖析》
如果你是经常用c++刷算法题的同学,那么一定经常用STL的各种集合, vector, set, stack,queue等等。。它们的实现原理,在源码面前,了无秘密。
5、《Linux命令行与shell脚本编程大全》
亚马逊书店五星推荐!里面大概讲述了很多linux系统的使用和命令行等。 linux是Java后台开发人员必知必会的操作系统,而命令行是使用linux系统必须要面对的对于不想装linux系统的同学其实可以考虑使用腾讯云学习一些linux相关的命令行知识(没错,不需要图形界面),学生价一个月才一块钱,跟月饼厂一个月十块钱比起来也太划算了吧!而且用linux也蛮酷的啊。再推荐一个神器: GitHub - robbyrussell/oh-my-zsh。
6、《图解HTTP》
日本人著的介绍HTTP协议的书,对理解HTTP协议的一些细节有非常大的帮助,插画也很多(日本人的行文风格,感觉就像看漫画一样),很容易就理解了。
7、《TCP/IP详解卷一》
这本书能把枯燥的知识讲得很细致,Java培训小编强烈推荐这本。看完相应章节后大概能够明白为什么TCP/IP要这么设计了。面试的时候经常问到三次握手和四次挥手,还有各种状态的转移,TIME_WAIT的时间为什么是2*MSL...
8、《UNIX网络编程卷一:套接字联网API(第三版)》
中文版快800页,这本书是把TCP/IP的细节讲得很深很深。此外还有非常重要的基本套接字编程,就是写网络程序的时候那些bind, accept, listen, send, receive函数之类的,内容非常多,但是这些是理解多路复用模型所需要掌握的。。。select/poll/epoll这些系统调用解决了什么问题?事件机制能不能理解?就看这本书的前六章了。
9、《数据库管理系统(原理与设计)》
这个也是web开发中离不开的东西,必须划重点学会的是ER图/SQL语句/存储数据(磁盘|文件|RAID|缓冲池等)/三大范式/索引以及相应的数据结构/事务相关的所有概念,尤其重点学习SQL,附上学习链接 。之后学会使用mysql workbench来进行数据库建模/逆向工程生成建表语句/根据SQL生成JAVA实体类等就不赘述了,开发过程中百度谷歌一下就知道啦,然后如果习惯在windows下开发的同学推荐利用navicat这个好东西,当然如果说想训练自己写sql语句的能力那纯粹用命令行也无所谓。