前言
博主的Java就业方向:Java后台开发工程师、Java服务器开发、软件开发
学习路线
C语言
由于专业的关系,本人在大一的时候接触过面向过程的语言,即C语言,也是从这里开始了我软件的路程。C语言和大部分编程语言都会有些许的相似性,因此C语言对于我对Java基本语法的学习也提供了不少的帮助。
Java基本语法
推荐书籍:《Java从入门到精通——清华大学出版社》、《疯狂Java程序员的基本素养——李刚》
第一本是一个Java基本语法的学习,比较基础和详细;第二本李刚的疯狂系列写得比较精炼,但都是非常重要的知识,对于面试也有很大的帮助,而且里面的代码也值得自己在IDE敲一敲,里面也会涉及到数据结构和排序算法的部分,思路很清晰易懂,很适合应付面试。
数据结构与算法
推荐书籍:《大话数据结构》、《疯狂Java程序员的基本素养——李刚》
数据结构与算法是面试最为常考的知识,线性表、队列、栈、二叉树等等,以及几种常用的排序算法,其他算法作为自行扩展,因为算法太多了,也比较难,每个人的掌握程度也不同。
计算机网络
推荐书籍:《计算机网络——谢希仁》
重点部分:OSI的七层模型、TCP/IP五层模型、TCP、UDP、TCP的三次握手和四次挥手、HTTP协议、各种常见协议的端口号等等。
数据库
推荐书籍:《SQL必知必会》、《MySQL数据库应用——从入门到精通》(中国铁道出版社)
数据库推荐学习MySQL。第一本是一个很迷你的数据库数据,一天可看完,仅仅提供一个入门的书籍使用,但是只看这一本仍不够。第二本比较详细,不仅介绍的MySQL的基本语法,还介绍的数据库存储引擎、事务等等知识,也是面试常考部分。
Java虚拟机
推荐书籍:《深入理解Java虚拟机》
Java虚拟机也是一个必须掌握的知识,理解JVM底层是如何处理的,比较重要的有Java的内存模型、垃圾回收算法和垃圾回收器、类加载机制等等。
设计模型
推荐书籍:《设计模式之禅》、各种技术博客
设计模式的学习建议去看其他博主写的技术博客,掌握几种常见的设计模型,以便面试能吹,面试官一般都是问一些很常见的设计模型,例如单例模型、工厂模式、适配器模式等等。
Spring、SpringMVC、MyBatis框架
推荐书籍:《Struts2+Spring 4+Hibernate整合开发——轻量级JavaEE企业应用实战》、《Spring+MyBatis企业应用实战》
第一本是很厚的大红书,只需要看Spring部分即可(有点浪费,价格也还不菲),这本会介绍一个Spring底层的实现和一些Spring的使用,和SpringMVC的开发模式等等;第二本红书是一个Spring和MyBatis的整合,介绍了Spring和MyBatis的各种注解意义和使用,是一个非常好的实战书籍,看完即可进行项目开发。
框架的学习最好结合着项目,会更容易理解,也可以加强印象。至于项目的话,可以从github中clone,找到应用到相关技术的demo。(github和git是一个非常非常强大的东西,非常值得学习,博主也还在慢慢摸索这些)
其他
Git:技术博客和官方文档
Maven:技术博客和官方文档
操作系统:《现代操作系统》
高并发:《Java高并发程序设计》
Redis:《Redis实战》
Linux:《鸟哥的Linux私房菜》
刷题:牛客网,剑指OFFER、LEETCODE
Notices
备注: 以上仅仅是博主在春招和秋招以来自学看的书,学习的时间也不长,对于Java学习来说肯定是非常不足的,也只是提供一个入门的学习,更多的知识需要博主以后不断地进行学习。