一、学习路线
二、学习大纲
0. 地基部分
- 数据结构:线性表、队列、栈、树、图、哈希等等
- 常见算法:10大排序、字符串匹配、二分法、双指针等等
- 操作系统:进行线程管理、内存管理、I/O等等
- 计算机网络:四层协议、TCP/UDP、HTTP/HTTPS等等
基础越扎实,后期学习越轻松。建议小伙伴有时间把基础好好掌握,自己现在就在恶补基础知识,面试会问死人的;
1. 第一部分:JavaSE基础
- Java的基础语法、关键字、流程控制,达到能写Java小程序的地步;
- Java面向对象的思想掌握,封装、继承、多态(重点),多态的使用代码更加灵活';
- Java集合框架的整体掌握,HashMap、ArrayList等等这些经常使用的;
- Java的I/O基本操作,输入输出处理文件这些基础功能;
- Java的常用API掌握,尽量熟悉lang包和util包下的API使用;
- JVM的掌握,如何识别垃圾、如何加载类、常见的垃圾回收器和垃圾回收算法;
JavaSE部分能达到灵活使用提供的API实现功能需求就可以了,重点掌握集合框架,常用的容器,功能实现大部分都会涉及集合,I/O部分涉及到输入输出,JVM部分就比较深入了,最好自己系统的归纳整理;
2.第二部分:多线程进阶
- 线程的状态切换
- 线程如何同步
- 线程池(ThreadPoolExcutor)的使用等等
线程这部分必较重要的,高并发基本靠多线程来实现,自己准备系统的学习下多线程部分的知识,这里只是简单列举了一下;
3.第三部分:JavaEE进阶
- SpringMVC框架主要用于前后端交互接口编写
- Mybatis框架数据持久化,数据的CRUD操作
- Spring框架的AOP和IOC思想,掌握思想和设计
- SpringBoot框架,约定大于配置,快速开发服务
这部分主要是后端开发的内容,这些框架也是为了便于开发,重点还是掌握原理,不能只会用。建议先学习Spring再使用SpringBoot,不然都不知道报错咋个排查;
4.第四部分:设计模式
- 创建型模式
- 结构型模式
- 行为型模式
设计模式真的很有用,模式用的好,你的代码可扩展性、灵活性大大提高。同样都是实现一个功能,别人写的代码可读性更高、可以灵活扩展,这样的代码不香嘛
暂时写到这儿了,后期再补充!