从事Java开发已多年,在这整理了一些有关Java的知识体系,这不是最终版,没有最好只有更好,我会不定期的更新。
Java知识体系主要包括基础知识,工具,并发编程,数据结构与算法,数据库,JVM,架构设计,应用框架,中间件,微服务架构,分布式架构等等
注意:学习编程没有捷径
少年易老学难成,一寸光阴不可轻。未觉池塘春草梦,阶前梧叶已秋声 。—朱熹《劝学诗》
勤奋才是改变你命运的唯一捷径。
一、JavaSE基础体系:
第一步:学习JAVA的开发环境配置、开发第一个Java程序。也建议大家开始使用eclipse等IDE,不必纠结是不是一定要从记事本开始。
第二步:学习数据类型、运算符、变量。这是编程的基础,是程序的“砖块”。这些内容大多数编程语言都有,而且非常类似。
变量、数据类型、运算符
-
二进制和十进制的转化
-
注释、单行注释、多行注释、文本注释、注释内容和字节码的关系
-
标识符、关键字、驼峰原则
-
变量的本质、内存画图、变量声明和初始化
-
变量的分类和作用域(局部变量、成员变量、静态变量)
-
常量和Final
-
基本数据类型介绍
-
整型变量和整型常量
-
浮点类型、float、double
-
char字符型、转义字符
-
boolean布尔型、if语句使用要点、布尔类型占用空间问题
-
运算符介绍
-
算数运算符(二元、自增、自减)
-
赋值和赋值运算符
-
关系运算符详解
-
逻辑运算符、短路运算符详解
-
位运算符详解
-
字符串连接符
-
条件运算符(三元运算符)
-
运算符优先级问题
-
自动类型转换详解
-
强制类型装换详解
-
基本数据类型装换常见错误、溢出、L问题
-
使用Scanner获取键盘输入
-
1.北京高淇Java300集(Java强烈推荐) Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通
-
2.JavaSE基础全套-从零开始进阶之大神(推荐) 系统教学JavaSE基础全套课程-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_
第三步:学习控制语句。这是编程的基础,是程序的“混凝土”。有了控制语句+变量,理论上你就可以写任意的程序了。因此,这是进入程序的门槛,需要大量的练习。
控制语句
-
控制语句和实现逻辑对应
-
if单选结构
-
if_elseif_else多选结构
-
switch语句_IDEA更换主题
-
循环_while
-
循环_for循环_dowhile
-
嵌套循环
-
break和continue语句_标签_控制语句底层原理
-
写一个年薪计算机_百度查问题的秘诀(重要)
-
个人所得税计算器软件
-
方法核心详解_天才思维模型教你高手学习思维模式
-
方法的重载
-
递归结构讲解_递归头_递归体
-
1.系统教学JavaSE基础全套课程 系统教学JavaSE基础全套课程-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili
-
2.系统教学JavaSE基础全套课程【续集】 系统教学JavaSE基础全套课程【续集】-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili
第四步:学习面向对象基础。通过类、对象、包等基本概念讲解。学习的时候,一定要在此处介入内存分析,这样可以对于对象等知识有非常深刻的理解。
面向对象编程-基础
-
面向过程和面向对象的区别
-
类和对象的概述
-
类的属性和方法
-
创建对象内存分析
-
构造方法(Construtor)及重载
-
对象类型的参数传递
-
this关键字
-
static关键字详解
-
局部代码块、构造代码块和静态代码块
-
package和import详解
-
JavaDoc生成API文档
第五步:继续面向对象,主要包含三大特征:继承、封装,以及接口、抽象类、内部类等概念。这些概念需要掌握。但是对于初学者来说,先熟悉语法。通过后面的学习再深入。不要期待初学时候就能深刻领会这些概念。
面向对象编程-进阶
-
面向对象的三大特性
-
面向对象之【封装(Encapsulation)】
-
访问权限修饰符
-
面向对象之【继承(Inheritance)】
-
Object类
-
方法重写Override
-
super关键字详解
-
重写equals()和toString()
-
继承中对象创建的内存分析
-
面向对象之【多态(Polymorphism)】
-
向上转型
-
向下转型
-
instanceof运算符
-
编译时和运行时详解
-
final修饰符
-
抽象类和抽象方法(abstrct)
-
接口的定义和实现
-
JDK8的接口新特性
-
接口应用:内部类比较器Comparable
-
内部类详解
-
Java的内存管理与垃圾回收
-
Java面向对象编程_OOP基础深入讲解 Java面向对象编程重基础深入讲解_OOP面向对象Java基础干货分享/JavaSE/面向对象编程/OOP程序设计
-
【大力推荐】OOP面向对象Java基础干货分享 【大力推荐】OOP面向对象Java基础干货分享/JavaSE/面向对象编程/OOP程序设计_哔哩哔哩_bilibili
-
java面向对象编程_java79节课精讲面对对象 java面向对象编程_java79节课精讲面对对象_通俗讲讲编程的面向对象_面向对象三大范式_java基础面向对象编程_java程序员面向对象开发_精讲面向对象_哔哩哔哩_bilibili
关于面向对象的文章:
如果想要更详细的面向对象内容,可以观看我的几篇文章哦:
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程序的安全需要异常机制,这是必学内容。当然,也非常简单。学习过程中,先不要揪着什么自定义异常不放,学会基本用法即可。
异常机制
-
异常的概述
-
异常的执行过程与分析
-
try-catch-finally捕捉异常
-
throw抛出异常
-
throws声明异常
-
异常继承体系
-
运行时异常和编译异常
-
自定义异常
-
JavaSE基础入门教程 JavaSE基础入门教程-只为初学者而著_高淇Java300集/Java零基础/java/Java入门到精通/JAVA编程/JavaSE/Java基础_哔哩哔哩_bilibili
-
java基础入门教_java基础视频java基础教程 java基础入门教_java基础视频java基础教程_java300集java入门_java零基础_java视频 java零基础视频教程_java全套课_哔哩哔哩_bilibili
第七步:常用类和JDK源码阅读。学习常用类的用法:包装类、字符串相关类、实践类、Math类、File类等。学习过程中,只学怎么用这些API就及格了。要优秀,要培养高手思维,一定要结合JDK源码,一开始就培养阅读源码的习惯(虽然,可能大多数看不懂)。
Java常用类(在这里简单举例出常用的,还有很多伙伴们请自行了解)
-
Wrapper包装类
-
自动装箱和自动拆箱
-
包装类的源码分析
-
String类的使用与内存原理
-
String类的源码分析
-
StringBuffer
-
StringBuilder
-
字符串处理类性能分析
-
Date类
-
System类
-
DateFormat类
-
Calendat类
-
Math类
-
BigInteger类和BigDecimal类
-
Random类
-
枚举类
-
File类
-
常见的面试题讲述与分析
-
【基础夯实】Java常用类实战基础教程 【基础夯实】Java常用类实战基础教程_Java八大常用类核心基础_Java常用类基础入门/Java包装类/String类_哔哩哔哩_bilibili
第八步:数组和算法。学习数组时,注重结合循环管理数组。也要从底层内存理解数组,这既是学数组也是复习面向对象;再结合一些算法,比如排序和搜索算法,既练习数组的用法,也学习了算法知识,为应对企业笔试和面试做好准备。
数据结构算法
-
数据结构的概述
-
线性表
-
顺序表
-
链表
-
栈和队列
-
树
-
二叉树
-
二叉查找树
-
二叉平衡树
-
黑红树
-
图
-
冒泡排序
-
选择排序
-
递归
-
折半查找
-
Java基础入门必学知识数据结构与算法_Java数据结构与算法基础到进阶/Java基础入门进阶/Java数据结构分析/Java数据结构常见问题_哔哩哔哩_bilibili
-
JavaSE数据结构算法实战教程_数据结构算法实战课程/java数据结构/Java算法实战/JavaSE学习/Java编程_哔哩哔哩_bilibili
-
JavaSE数据结构和算法精讲视频教程_Java架构之红黑树/二叉树/AVL树经典数据结构与算法_JavaSE数据结构和算法视频教程_JavaSE数据结构教程_哔哩哔哩_bilibili
第九步:容器和数据结构。容器有:List、Set、Map。学习这三种容器用法只需要一两个小时。但,此时你要结合数据结构,再结合JDK源码讲解。这就是“高手习惯”,让大家既学习容器,也学习了数据结构,打深了内功,应对企业面试绰绰有余。
集合(容器)
-
集合和数组的联系和区别
-
集合框架体系
-
ArrayList的使用和源码分析
-
集合中使用泛型
-
LinkedList的使用和源码分析
-
HashSet的使用和源码分析
-
哈希表及原理
-
TreeSet的使用和源码分析
-
比较器Comparable和Comparator
-
HashMap的使用和源码分析
-
TreeMap的使用和源码分析
-
Iterator于ListIterator
-
Collections工具类
-
旧集合类Vector、Hashtable
-
集合总结和选择依据
-
泛型接口
-
泛型类
-
泛型方法
-
编程程序员java集合和数组java集合Listjava集合哈希表java集合Mapjava集合Collectionsjava泛型java泛型接口java集合_哔哩哔哩_bilibili
-
Java集合框架完整版最新教程入门到精通_List_Set_Map_通俗易懂Java集合课程视频教程_哔哩哔哩_bilibili
第十步:IO流技术。学会各种常用流即可,掌握一些工具类的用法,比如:Apache IOUtil这样会让你在以后使用时效率大增。
IO流
-
IO流的概念
-
IO流的分类及其原理分析
-
文件流FlieInputStream、FileOutputStream
-
缓冲流BufferedInputStream、BufferedOutputStream
-
数据流ObjectInputStream、ObjectOutputStream
-
序列化和反序列化
-
转换流InputStreamReader、OutputStreamWriter
-
打印流PrintWrite和PrintStream
-
数组流ByteArrayOutputStream、ByteArrayInputStream
-
使用IO复制文件夹
-
JavaSE深入掌握IO流剖析File类品质课程_JavaSE阶段IO流课程教程_Java课程/Java教程/JavaIO流实战课程_哔哩哔哩_bilibili
-
系统教学JavaSE基础全套课程-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili
-
IO流_IO流精讲_IO流概念和分类_IO流的作用和原理_lo流基础用法_ java基础学习_IO流底层架构_文件字节流_哔哩哔哩_bilibili
第十一步:多线程技术。这也是笔试和面试中常见的内容。我们要学习多线程基本使用、生命周期、状态转化。如果学有余力,学习一下生产者消费者模式,让你一开始就具备架构的思维;既然学,就按照“高标准”要求自己。
多线程
-
进程和线程
-
线程的创建与启动
-
创建线程的三种方式对比
-
线程的生命周期
-
线程控制
-
多线程的安全问题与解决办法
-
线程的同步:同步代码块
-
线程的同步:同步方法
-
线程的同步:Lock锁
-
线程的死锁问题
-
线程通信
-
Condition
-
线程的完整生命周期
-
线程池ThreadPoolExecutor
-
ForkJoin框架
-
ThreadLocal类
第十二步:网络编程。工作中直接用到的不多,而且socket编程范式差不多,了解即可。毕竟直接让你编写基于socket底层代码的情况比较少见
网络编程
-
计算机网络基础知识
-
网络通信协议
-
OSI参考模型
-
TCP/IP参考模型
-
数据的封装与拆封原理解析
-
TCP协议
-
UDP协议
-
IP地址和端口号
-
URL和Socket
-
使用TCP编程实现登录功能
-
使用UDP编程实现客服系统
-
使用TCP编程实现文件上传
-
java网络编程实战讲解_java网络编程详细教程_轻松学习java网络编程_java网络编程实战开发_java网络编程全套视频精讲_java网络编程入门教程_哔哩哔哩_bilibili
-
JavaSE基础入门教程-只为初学者而著_高淇Java300集/Java零基础/java/Java入门到精通/JAVA编程/JavaSE/Java基础_哔哩哔哩_bilibili
-
Java基础入门必学知识数据结构与算法_Java数据结构与算法基础到进阶_Java面试常见数据结构和算法问题_排序算法_递归_折半查询_栈和队列_链表_哔哩哔哩_bilibili
第十三步:设计者模式,掌握常用的几种设计模式,在工作中就会有出奇的效果。
设计模式
-
设计模式入门
-
面向对象设计七大原则
-
简单工厂模式
-
工厂方法模式
-
单例模式
-
原型模式
-
装饰模式
-
适配器模式
-
外观模式
-
GOF23种设计模式讲解_Java gof23种设计模式详解课程_从单例到备忘录模式 23种模式详解_哔哩哔哩_bilibili
-
JavaSE知识基础全套-从0开始进阶大神_JavaSE基础知识体系从入门到精通框架_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili
第十三步:做个项目吧。 学了这么多,不做个东西怎么对得起自己?不管是小游戏项目也好,还是基于swing的项目,还是其他控制台项目。
JavaSE练手项目:
经典小游戏,乐趣无穷夯实基础,玩到又学到~~
-
推箱子 Java游戏项目“推箱子”基础实战教程_拒绝枯燥无味Java推箱子项目2天轻松掌握_Java项目编写推箱子游戏_项目实战_java项目教程_Java_哔哩哔哩_bilibili
-
黄金矿工 只用了2小时做出了Java黄金矿工小游戏项目_java初级项目_java练手项目_java项目实战_Java游戏开发实战教学_java小游戏_哔哩哔哩_bilibili
-
桌球游戏 Java桌球游戏项目_手把手教你用Java开发桌球小游戏_Java初学者项目_Java基础实战项目进阶_哔哩哔哩_bilibili
-
俄罗斯方块 手把手教你用Java开发俄罗斯方块小游戏_java练手项目_巩固JavaSE基础_java小游戏_哔哩哔哩_bilibili
-
贪吃蛇 1小时教你做出了Java贪吃蛇小游戏项目_java练手项目_java项目实战_java小游戏_Java游戏开发实战教学_java初级项目_哔哩哔哩_bilibili
入门书籍推荐:
-
《明解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)本套视频汇总了面试题目,附参考答案(提供电子书)