javase2021最强学习线路没有之一

从事Java开发已多年,在这整理了一些有关Java的知识体系,这不是最终版,没有最好只有更好,我会不定期的更新

Java知识体系主要包括基础知识,工具,并发编程,数据结构与算法,数据库,JVM,架构设计,应用框架,中间件,微服务架构,分布式架构等等

注意:学习编程没有捷径

少年易老学难成,一寸光阴不可轻。未觉池塘春草梦,阶前梧叶已秋声 。—朱熹《劝学诗》

勤奋才是改变你命运的唯一捷径。

一、JavaSE基础体系:

第一步:学习JAVA的开发环境配置、开发第一个Java程序。也建议大家开始使用eclipse等IDE,不必纠结是不是一定要从记事本开始。

第二步:学习数据类型、运算符、变量。这是编程的基础,是程序的“砖块”。这些内容大多数编程语言都有,而且非常类似。

变量、数据类型、运算符

  1. 二进制和十进制的转化

  2. 注释、单行注释、多行注释、文本注释、注释内容和字节码的关系

  3. 标识符、关键字、驼峰原则

  4. 变量的本质、内存画图、变量声明和初始化

  5. 变量的分类和作用域(局部变量、成员变量、静态变量)

  6. 常量和Final

  7. 基本数据类型介绍

  8. 整型变量和整型常量

  9. 浮点类型、float、double

  10. char字符型、转义字符

  11. boolean布尔型、if语句使用要点、布尔类型占用空间问题

  12. 运算符介绍

  13. 算数运算符(二元、自增、自减)

  14. 赋值和赋值运算符

  15. 关系运算符详解

  16. 逻辑运算符、短路运算符详解

  17. 位运算符详解

  18. 字符串连接符

  19. 条件运算符(三元运算符)

  20. 运算符优先级问题

  21. 自动类型转换详解

  22. 强制类型装换详解

  23. 基本数据类型装换常见错误、溢出、L问题

  24. 使用Scanner获取键盘输入

第三步:学习控制语句。这是编程的基础,是程序的“混凝土”。有了控制语句+变量,理论上你就可以写任意的程序了。因此,这是进入程序的门槛,需要大量的练习。

控制语句

  1. 控制语句和实现逻辑对应

  2. if单选结构

  3. if_elseif_else多选结构

  4. switch语句_IDEA更换主题

  5. 循环_while

  6. 循环_for循环_dowhile

  7. 嵌套循环

  8. break和continue语句_标签_控制语句底层原理

  9. 写一个年薪计算机_百度查问题的秘诀(重要)

  10. 个人所得税计算器软件

  11. 方法核心详解_天才思维模型教你高手学习思维模式

  12. 方法的重载

  13. 递归结构讲解_递归头_递归体

第四步:学习面向对象基础。通过类、对象、包等基本概念讲解。学习的时候,一定要在此处介入内存分析,这样可以对于对象等知识有非常深刻的理解。

面向对象编程-基础

  1. 面向过程和面向对象的区别

  2. 类和对象的概述

  3. 类的属性和方法

  4. 创建对象内存分析

  5. 构造方法(Construtor)及重载

  6. 对象类型的参数传递

  7. this关键字

  8. static关键字详解

  9. 局部代码块、构造代码块和静态代码块

  10. package和import详解

  11. JavaDoc生成API文档

第五步:继续面向对象,主要包含三大特征:继承、封装,以及接口、抽象类、内部类等概念。这些概念需要掌握。但是对于初学者来说,先熟悉语法。通过后面的学习再深入。不要期待初学时候就能深刻领会这些概念。

面向对象编程-进阶

  1. 面向对象的三大特性

  2. 面向对象之【封装(Encapsulation)】

  3. 访问权限修饰符

  4. 面向对象之【继承(Inheritance)】

  5. Object类

  6. 方法重写Override

  7. super关键字详解

  8. 重写equals()和toString()

  9. 继承中对象创建的内存分析

  10. 面向对象之【多态(Polymorphism)】

  11. 向上转型

  12. 向下转型

  13. instanceof运算符

  14. 编译时和运行时详解

  15. final修饰符

  16. 抽象类和抽象方法(abstrct)

  17. 接口的定义和实现

  18. JDK8的接口新特性

  19. 接口应用:内部类比较器Comparable

  20. 内部类详解

  21. Java的内存管理与垃圾回收

关于面向对象的文章:

如果想要更详细的面向对象内容,可以观看我的几篇文章哦:

Dimple:Java入门姿势【面向对象2】定义类与创建对象_了解局部变量

Dimple:Java入门姿势【面向对象3】构造方法及其重载_方法的调用

Dimple:Java入门姿势【面向对象4】 static关键字

Dimple:Java入门姿势【面向对象5】 package和import.

Dimple:Java入门姿势【面向对象6】三大特性之一封装性

Dimple:Java入门姿势【面向对象7】三大特性之一继承性

Dimple:Java入门姿势【面向对象8】继承性-重要的知识点

第六步:异常机制。Java程序的安全需要异常机制,这是必学内容。当然,也非常简单。学习过程中,先不要揪着什么自定义异常不放,学会基本用法即可。

异常机制

  1. 异常的概述

  2. 异常的执行过程与分析

  3. try-catch-finally捕捉异常

  4. throw抛出异常

  5. throws声明异常

  6. 异常继承体系

  7. 运行时异常和编译异常

  8. 自定义异常

第七步:常用类和JDK源码阅读。学习常用类的用法:包装类、字符串相关类、实践类、Math类、File类等。学习过程中,只学怎么用这些API就及格了。要优秀,要培养高手思维,一定要结合JDK源码,一开始就培养阅读源码的习惯(虽然,可能大多数看不懂)。

Java常用类(在这里简单举例出常用的,还有很多伙伴们请自行了解)

  1. Wrapper包装类

  2. 自动装箱和自动拆箱

  3. 包装类的源码分析

  4. String类的使用与内存原理

  5. String类的源码分析

  6. StringBuffer

  7. StringBuilder

  8. 字符串处理类性能分析

  9. Date类

  10. System类

  11. DateFormat类

  12. Calendat类

  13. Math类

  14. BigInteger类和BigDecimal类

  15. Random类

  16. 枚举类

  17. File类

  18. 常见的面试题讲述与分析

第八步:数组和算法。学习数组时,注重结合循环管理数组。也要从底层内存理解数组,这既是学数组也是复习面向对象;再结合一些算法,比如排序和搜索算法,既练习数组的用法,也学习了算法知识,为应对企业笔试和面试做好准备。

数据结构算法

  1. 数据结构的概述

  2. 线性表

  3. 顺序表

  4. 链表

  5. 栈和队列

  6. 二叉树

  7. 二叉查找树

  8. 二叉平衡树

  9. 黑红树

  10. 冒泡排序

  11. 选择排序

  12. 递归

  13. 折半查找

第九步:容器和数据结构。容器有:List、Set、Map。学习这三种容器用法只需要一两个小时。但,此时你要结合数据结构,再结合JDK源码讲解。这就是“高手习惯”,让大家既学习容器,也学习了数据结构,打深了内功,应对企业面试绰绰有余。

集合(容器)

  1. 集合和数组的联系和区别

  2. 集合框架体系

  3. ArrayList的使用和源码分析

  4. 集合中使用泛型

  5. LinkedList的使用和源码分析

  6. HashSet的使用和源码分析

  7. 哈希表及原理

  8. TreeSet的使用和源码分析

  9. 比较器Comparable和Comparator

  10. HashMap的使用和源码分析

  11. TreeMap的使用和源码分析

  12. Iterator于ListIterator

  13. Collections工具类

  14. 旧集合类Vector、Hashtable

  15. 集合总结和选择依据

  16. 泛型接口

  17. 泛型类

  18. 泛型方法

第十步:IO流技术。学会各种常用流即可,掌握一些工具类的用法,比如:Apache IOUtil这样会让你在以后使用时效率大增。

IO流

  1. IO流的概念

  2. IO流的分类及其原理分析

  3. 文件流FlieInputStream、FileOutputStream

  4. 缓冲流BufferedInputStream、BufferedOutputStream

  5. 数据流ObjectInputStream、ObjectOutputStream

  6. 序列化和反序列化

  7. 转换流InputStreamReader、OutputStreamWriter

  8. 打印流PrintWrite和PrintStream

  9. 数组流ByteArrayOutputStream、ByteArrayInputStream

  10. 使用IO复制文件夹

第十一步:多线程技术。这也是笔试和面试中常见的内容。我们要学习多线程基本使用、生命周期、状态转化。如果学有余力,学习一下生产者消费者模式,让你一开始就具备架构的思维;既然学,就按照“高标准”要求自己。

多线程

  1. 进程和线程

  2. 线程的创建与启动

  3. 创建线程的三种方式对比

  4. 线程的生命周期

  5. 线程控制

  6. 多线程的安全问题与解决办法

  7. 线程的同步:同步代码块

  8. 线程的同步:同步方法

  9. 线程的同步:Lock锁

  10. 线程的死锁问题

  11. 线程通信

  12. Condition

  13. 线程的完整生命周期

  14. 线程池ThreadPoolExecutor

  15. ForkJoin框架

  16. ThreadLocal类

第十二步:网络编程。工作中直接用到的不多,而且socket编程范式差不多,了解即可。毕竟直接让你编写基于socket底层代码的情况比较少见

网络编程

  1. 计算机网络基础知识

  2. 网络通信协议

  3. OSI参考模型

  4. TCP/IP参考模型

  5. 数据的封装与拆封原理解析

  6. TCP协议

  7. UDP协议

  8. IP地址和端口号

  9. URL和Socket

  10. 使用TCP编程实现登录功能

  11. 使用UDP编程实现客服系统

  12. 使用TCP编程实现文件上传

第十三步:设计者模式,掌握常用的几种设计模式,在工作中就会有出奇的效果。

设计模式

  1. 设计模式入门

  2. 面向对象设计七大原则

  3. 简单工厂模式

  4. 工厂方法模式

  5. 单例模式

  6. 原型模式

  7. 装饰模式

  8. 适配器模式

  9. 外观模式

第十三步:做个项目吧。 学了这么多,不做个东西怎么对得起自己?不管是小游戏项目也好,还是基于swing的项目,还是其他控制台项目。

JavaSE练手项目:

经典小游戏,乐趣无穷夯实基础,玩到又学到~~

入门书籍推荐:

  • 《明解Java》

  • 《Java从入门到精通(第4版 附光盘)》

  • 《入门很简单丛书:Java Web开发入门很简单》

  • 《程序员炼成记 从小白到工程师》

  • 《Java从小白到大牛》

  • 《JavaWeb项目开发实战入门(全彩版)》

  • 《Java精彩编程200例(全彩版)》

  • 《Java轻松学》

  • 《大话Java:程序设计从入门到精通(含DVD光盘1张)》

  • 《Java语言袖珍指南(第二版)》

基础进阶书籍:

  • 《Java编程思想(第4版) [thinking in java]》

  • 《Java核心技术 卷I:基础知识(原书第10版)》

  • 《Java核心技术卷II:高级特性(原书第10版)》

1、《实战java程序设计》

(1)由尚学堂和清华大学出版社联合发布,被誉为"java 界的红宝书”

2、《程序员修炼手册》

(1)高淇老师自己写的,知识点非常适合学习时候查阅!!!

3、《程序员面试题集大全》

(1)本套视频汇总了面试题目,附参考答案(提供电子书)

更多Java详细学习线路图——我会抽时间更新的

以上学习推荐,足以你掌握JavaSE全部知识,万事开头难,本次文章在艰难的路上为你劈荆斩麻。

Guess you like

Origin blog.csdn.net/LSFZ88888/article/details/120063420