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

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

注意:学习编程没有捷径

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

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

一、JavaSE基础体系:

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

  • JRE 和 JDK 的区别是什么?
  • 如何安装JAVA JDK?
  • 请问如何在win10系统上安装java?
  • Java零基础怎么入门?建议先学什么?
  • java写了第一个程序结果出问题了?
  • 如何扎实自己的Java基础?
  • 用dos命令运行Java-version时没有显示版本?

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

变量、数据类型、运算符

  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.北京高淇Java300集(Java强烈推荐)
    Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通
  • 2.JavaSE基础全套-从零开始进阶之大神(推荐)
    系统教学JavaSE基础全套课程-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_

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

控制语句

  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.系统教学JavaSE基础全套课程
    系统教学JavaSE基础全套课程-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili
  • 2.系统教学JavaSE基础全套课程【续集】
    系统教学JavaSE基础全套课程【续集】-从0开始进阶至大神_线下录制Java系列课程Java从入门到精通_/JAVA基础/数组/OOP/集合/IO流_哔哩哔哩_bilibili

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

面向对象编程-基础

  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的内存管理与垃圾回收
  • Java面向对象编程_OOP基础深入讲解
    Java面向对象编程重基础深入讲解_OOP面向对象Java基础干货分享/JavaSE/面向对象编程/OOP程序设计
  • 【大力推荐】OOP面向对象Java基础干货分享
    【大力推荐】OOP面向对象Java基础干货分享/JavaSE/面向对象编程/OOP程序设计_哔哩哔哩_bilibili
  • java面向对象编程_java79节课精讲面对对象
    java面向对象编程_java79节课精讲面对对象_通俗讲讲编程的面向对象_面向对象三大范式_java基础面向对象编程_java程序员面向对象开发_精讲面向对象_哔哩哔哩_bilibili

关于面向对象的文章:

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

  • Java入门姿势【面向对象:1】啥事面向对象、类和对象如何理解
  • Java入门姿势【面向对象2】定义类与创建对象_了解局部变量
  • Java入门姿势【面向对象3】构造方法及其重载_方法的调用
  • Java入门姿势【面向对象4】 static关键字
  • Java入门姿势【面向对象5】 package和import
  • Java入门姿势【面向对象6】三大特性之一封装性
  • Java入门姿势【面向对象7】三大特性之一继承性
  • Java入门姿势【面向对象8】继承性-重要的知识点
 

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

异常机制

  1. 异常的概述
  2. 异常的执行过程与分析
  3. try-catch-finally捕捉异常
  4. throw抛出异常
  5. throws声明异常
  6. 异常继承体系
  7. 运行时异常和编译异常
  8. 自定义异常
  • 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常用类(在这里简单举例出常用的,还有很多伙伴们请自行了解)

  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. 常见的面试题讲述与分析
  • 【基础夯实】Java常用类实战基础教程
    【基础夯实】Java常用类实战基础教程_Java八大常用类核心基础_Java常用类基础入门/Java包装类/String类_哔哩哔哩_bilibili

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

数据结构算法

  1. 数据结构的概述
  2. 线性表
  3. 顺序表
  4. 链表
  5. 栈和队列
  6. 二叉树
  7. 二叉查找树
  8. 二叉平衡树
  9. 黑红树
  10. 冒泡排序
  11. 选择排序
  12. 递归
  13. 折半查找
  • Java基础入门必学知识数据结构与算法_Java数据结构与算法基础到进阶/Java基础入门进阶/Java数据结构分析/Java数据结构常见问题_哔哩哔哩_bilibili
  • JavaSE数据结构算法实战教程_数据结构算法实战课程/java数据结构/Java算法实战/JavaSE学习/Java编程_哔哩哔哩_bilibili
  • JavaSE数据结构和算法精讲视频教程_Java架构之红黑树/二叉树/AVL树经典数据结构与算法_JavaSE数据结构和算法视频教程_JavaSE数据结构教程_哔哩哔哩_bilibili

第九步:容器和数据结构。容器有: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. 泛型方法
  • 编程程序员java集合和数组java集合Listjava集合哈希表java集合Mapjava集合Collectionsjava泛型java泛型接口java集合_哔哩哔哩_bilibili
  • Java集合框架完整版最新教程入门到精通_List_Set_Map_通俗易懂Java集合课程视频教程_哔哩哔哩_bilibili

第十步: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复制文件夹
  • 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
  • javaSE部分IO流精讲视频教程_JavaSE部分File类与io流视频课程教程_哔哩哔哩_bilibili

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

多线程

  1. 进程和线程
  2. 线程的创建与启动
  3. 创建线程的三种方式对比
  4. 线程的生命周期
  5. 线程控制
  6. 多线程的安全问题与解决办法
  7. 线程的同步:同步代码块
  8. 线程的同步:同步方法
  9. 线程的同步:Lock锁
  10. 线程的死锁问题
  11. 线程通信
  12. Condition
  13. 线程的完整生命周期
  14. 线程池ThreadPoolExecutor
  15. ForkJoin框架
  16. ThreadLocal类
  • Java多线程实战精品教程_JavaSE多线程视频教程详解_包你学会_灵活运用_哔哩哔哩_bilibili
  • JavaSE多线程全套视频教程(12集)_多线程实战系列_JavaSE多线程全面深入学习_JavaSE多线程JDK新特征 _JavaSE多线程基础强化视频教程_哔哩哔哩_bilibili

第十二步:网络编程。工作中直接用到的不多,而且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编程实现文件上传
  • java网络编程实战讲解_java网络编程详细教程_轻松学习java网络编程_java网络编程实战开发_java网络编程全套视频精讲_java网络编程入门教程_哔哩哔哩_bilibili
  • JavaSE基础入门教程-只为初学者而著_高淇Java300集/Java零基础/java/Java入门到精通/JAVA编程/JavaSE/Java基础_哔哩哔哩_bilibili
  • Java基础入门必学知识数据结构与算法_Java数据结构与算法基础到进阶_Java面试常见数据结构和算法问题_排序算法_递归_折半查询_栈和队列_链表_哔哩哔哩_bilibili

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

设计模式

  1. 设计模式入门
  2. 面向对象设计七大原则
  3. 简单工厂模式
  4. 工厂方法模式
  5. 单例模式
  6. 原型模式
  7. 装饰模式
  8. 适配器模式
  9. 外观模式
  • 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.0进阶版_Java28个功能点新手能力提升必备_哔哩哔哩_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)本套视频汇总了面试题目,附参考答案(提供电子书)

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

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

标签智能推荐:

Java08SE基础总结

Java08SE基础总结Java语言初识HelloWorld基础语法流程控制方法数组面向对象异常学习视频学习视频

javase2021最强学习线路没有之一

libilijava面向对象编程_java79节课精讲面对对象java面向对象编程_java79节课精讲面对对象_通俗讲讲编程的面向对象_面向对象三大范式_java基础面向对象编程_java程序员面向对象开发_精讲面向对象_哔哩哔哩_bilibili关于面向对象的文章:如果想要更详细的面向对象内容,可以观看我的几篇文章哦:Java入门姿势【面向对象:1】啥事面向对象、类和对象如何理解Java入门姿

面向对象包括三大特征

面向对象包括三大特征:封装继承多态任何一个面向对象的编程语言都包括这三个特征例如:python,java...注意:java只是面向对象编程语言中的一种出了java之外,

Java是一门面向对象编程语言

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式..

必读的10本有关Java的书籍

说,学习Java很容易,但是编写更好的Java代码很困难,因为它使用了强大的OOP原则,这是本书的精髓。3、JavaConcurrencyinPractice(Java并发编程实战)多线程和并发是Java编程的重要部分。在实践中,没有什么书比BrianGoetz的《Java并发性》更适合学习和掌握这个棘手的问题了。尽管这本书只涉及Java5,但它对于任何认真的Java开发人员来说皆为神器。&nbs

JavaSE知识概述

javaSE知识体系初步了解一、学习java的前期准备java的发展历程java环境搭建java开发工具初步认识二、java基础程序设计知识数据类型运算符流程控制数组三、面向对象编程初识类和对象属性方法三大特性接口设计模式四、java新特性泛型枚举装箱/拆箱Annotation五、应用程序开发JDBC集合异常处理类库多线程IO反射网络

Python和Java哪个编程语言更好学一些?

有很多想要学习编程语言的学员,会纠结Python和Java两者应该学什么? Python编程语言和Java编程语言还是有区别的,可以根据自己的需求进行学习。首先在选择学习Java还是Python之前,得先弄明白自己学习编程语言的目的是什么,因为Python编程语言和Java编程语言的入门学习难度是不一样的,Java是一门资深的编程语言,而且Java的普及率还是很高的,Java有着丰富的第

熟悉编程语言

编程语言top50分类命令式语言Fortran、ALGOL、COBOL、C、Ada、Pascal、python等面向过程的语言Fortran、C面向对象的语言C++、Java声明式的语言Scheme、Haskell、StandardML函数式的语言Haskell逻辑式的语言Prolog想学习的语言1、面向过程的语言我想学习c语言,C语言经历了时间的考验,至今仍然经久不衰,足见其实用性以及优越性。2

什么事JAVA

1.什么是JavaJava是一门面向对象的高级编程语言,不仅吸收了C++语言的各种优点,比如继承了C++语言面向对象的技术核心。还摒弃了C++里难以理解的多继承、指针等概念,,同时也增加了垃圾回收机制,释放掉不被使用的内存空间,解决了管理内存空间的烦恼。因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进

Python 入门

Python基础面向对象网络编程并发编程