head first java强力推荐,很适合新手去看。

生动活泼的语言,又附有实例,可以直接上机操作。
另外,我建议初学者,应该以视频学习为主,同时以看书为辅。
视频可以去网上找资源,入门视频一大堆,总有适合你的那一款。
在前期学习不用学的全部都明白,主要会用就行,到了后面再去探究实现的原理。
前期主要要把面对对象的思想了解清楚,当然每个人都有不同的理解形式。
java三大法宝,封装继承多态,要好好理清他们之间的联系。
还有就是要弄懂任何语言都有的选择结构,比如if else,while。
再有就是for循环,也要完全弄懂。
基本上,弄清楚这些再去深入学习就不会太难了。
《阿里巴巴Java开发手册(正式版)》(V1.2.0版)更新(V1.2.0版)《阿里巴巴Java开发手册(正式版)》 - 知乎专栏
这篇最新版本不只是规范汇聚了阿里,更有广大知乎程序猿、工程师、研发网友的智慧结晶。
有关书籍方面推荐一篇博文:
本书架主要针对Java后端开发与架构。
更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很著名,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡,不录。
操作系统与网络的书
《Linux内核设计与实现 第3版》Robert Love用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码,不是专门的内核程序员看这本足够了。
《Linux系统编程 第2版》继续是Robert Love,比起APUE也是以薄见长,专门针对重要的系统调用讲解。
《性能之巅》操作系统的性能调优、监控、工具和方法论,看这本就够了,已经足够厚,可能是书单里最厚的一本。
《TCP/IP详解 卷1:协议》这么多年过去了,TCP的书好像主要还是只有这一本,有点旧了,看了也还是半懂不懂的。后人在2011年写了第二版。
《WireShark网络分析就这么简单》和 《WireShark网络分析的艺术》多少人,是看了这两本轻松又实战的书,才真正理解TCP的细节。
PS:《UNIX环境高级编程》和《UNIX网络编程》,APUE和UNP更多作为一本超厚工具书存在。《Unix 编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下就行。 《现代操作系统 第3版》如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。
另外,那些日本韩国人写的《图解XXX》感觉都不喜欢。