一、Java基础
JSE 核心基础(程序设计语言):
《Think in java》 (参考阅读:《Core Java》JAVA2核心技术第1卷.基础知识) 阅读
《Effective java第二版》
集合容器主题:util包
各种数据结构和算法
多线程主题:concurrent包
《Concurrent Programming in Java》《JAVA并发编程实践》
《Java Concurrency in Practice》
《The Java Language Specification, Third Edition》第17章
网络与IO主题:io/nio/net Mina RMI WebService
《Java TCP/IP Socket编程》 阅读
《Fundamental networking in java》
《Java网络编程(中文版 第三版)(O'Reilly Java系列)》
《Java NIO》
二、企业级架构
企业应用框架主题:
Spring+Hibernate+Struts+依赖的相关基础库(三种连接池)
数据库主题(数据库原理):
SQL/Hibernate 《SQL语言艺术》
MySQL: 《高性能MySQL》《MySQL性能调优与架构设计》
Oracle: 《Oracle 9i & 10g编程艺术》《Oracle 10g数据库管理艺术》《Oracle性能诊断艺术》
JVM主题(编译原理):
《深入理解Java虚拟机 JVM高级特性与最佳实践》-初级 1遍 阅读
《深入Java虚拟机(原书第2版)》
《The Java Language Specification, Third Edition》 http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
《The JavaTM Virtual Machine Specification,Second Edition》 http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
OS主题(操作系统概念):
《Unix编程艺术》
《鸟哥私房菜Linux》
三、工具研究:
MyEclipse + Tomcat
各种架构:架构模式/设计模式
各个著名网站系统等架构研习
课题:
研究Mina/Xsocket/Tomcat框架设计原理及代码实现
思考如何编写高性能TCP/UDP服务器和客户端系统?(基于并限于:NIO + 多线程 + Reactor)
参考:
四、模式与设计
2、《设计模式精解》,应该有最新版,个人认为更适合入门。
1、《设计模式》,GOF的经典。
3、《Head first设计模式》,更轻松的入门读物。
4、《企业应用架构模式》
5、《分析模式——可复用对象模型》
6、《面向模式的软件体系结构》,国内貌似翻译了3卷,绝对经典,可惜翻译较差。
7、《重构——改善既有代码设计》,想写好代码必读。
8、《重构与模式》
五、方法论
1、《敏捷软件开发》
2、《测试驱动开发》,你不一定要TDD,但是你一定要学会做单元测试。
3、《Agile Java》,也可以作为java入门读物。
4、《快速软件开发》
5、《面向对象分析与设计》,OO设计必读。
6、《Unix编程艺术》,打开你的眼界。
六、Java之外
1、《unix网络编程》,学习网络编程必读书。
2、《C++网络编程》上下两卷,介绍ACE的,但是其中对各种模式运用的介绍非常值的一读。
3、《Joel说软件》,编程文化
4、《人月神话》、《人件》
5、《卓有成效的程序员》,给我很大启发的一本书。
6、《程序员修炼之道》
7、《计算机程序的构造与解释》,必读
8、《算法导论》,可以作为参考书
9、《深入理解计算机系统》
10、《编译原理》龙书,最新版用java解释
七、并行计算和分布式架构
1 分布式系统领域经典论文翻译集
2 Hadoop Reading List
3 13种提高系统伸缩性的最佳实践
4 伸缩性、可用性、稳定性(Scalability, Availability & Stability Patterns)
5 杨传辉《分布式系统工程实践》 http://www.nosqlnotes.net/wp-content/uploads/Distributed_System_Engineering_Practice.pdf