1.计算机基础:
1.1数据结构基础:主要学习链表,栈,队列,堆,树,二叉树,图,排序
1.2操作系统:主要学习进程,线程,进程间通信,存储,虚拟内存,Linux基本操作命令,会用shell或者Python编写脚本
1.3计算机网络:主要学习(1)网络分层;(2)网络层:IP分类,子网划分,超网。ARP协议,ICMP协议。理解内部网关和外部网关,vpn等;(3)运输层:端口,UDP协议理解,TCP协议理解,三次握手,四次断开。(4)应用层:了解常用协议使用的端口和底层协议。
1.4基础算法:作为一个初学者,我的计划是将java基础打牢固了之后再研究算法和数据结构知识
2.JAVA知识基础:
2.1JAVA基础:主要看JavaThinking这本书,掌握java基础概念、多线程、反射、集合等知识
2.2JAVA源码:要养成看源码的习惯
2.3JAVA并发API(重要):真正神书:JAVA并发编程实战。
2.4理解JVM:推荐书籍:深入理解JAVA虚拟机
3.关联知识学习
3.1数据库:推荐书籍:sql入门:Mysql必知必会。深入理解:高性能Mysql
3.2设计模式:推荐书籍:设计模式之禅
3.3HTTP协议:推荐书籍:HTTP权威指南
3.4Spring框架(还有其他几种框架也重要):推荐书籍:Spring实战和Spring技术内幕
4.后端学习
4.1WEB后端学习之路:推荐书籍:选择一些SSH或者SSM整合开发书籍
1.JSP和Servlet学习
2.XML和JSON解析学习
3.前端知识:HTML、css,js
4.JDBC学习,文件上传\下载,JAVAMail等
5.可以利用jsp和Servlet开发简单项目
6.接着框架学习:Struts2,Hibernate,Spring以及相互整合开发
7.接着学习:SpringMvc,Mybatis,Lucene,shiro等
8.利用框架实现简单项目比如CMS。
4.2服务架构学习之路:推荐书籍:分布式服务框架原理与实践和微服务设计
4.3Hadoop学习之路:推荐书籍:Hadoop权威指南