Java基础知识总结(2023版)

在这里插入图片描述

大家好,我是哪吒。

现在网上的学习资料铺天盖地,很多小伙伴不知道如何选择。在网上报个正经点的班得花几千块钱,线下就更夸张,都是万元起步。

今天,我来分享一下我自己的学习路线和学习方法,如果能用好,跟花几万块钱报班效果一样强大。

我跌倒的坑,希望大家一脚就能跨过去。

Java技术栈的东西还是非常多的,下面分享一下学习大纲。

  1. 2023最新最全的Java学习路线总结,从入门到就业(大概六个月);
  2. 给出目标、学习建议、关键知识点、最优资源以及各类资源推荐;
  3. 按学习的先后顺序,分阶段,有时间规划的持续学习。

一、Java基础

所谓基础不牢,地动山摇。有一个好的基础,才是Java学习的关键。

前期准备

  1. 开发环境:jdk1.8
  2. 开发工具:IDEA,不建议使用eclipse

1、Java 基础

49天精通Java,第1天,Java面向对象简介

49天精通Java,第2天,Java 基本数据类型

49天精通Java,第3天,java运算符简介

49天精通Java,第4天,Java操作符有哪些?

49天精通Java,第5天,Java控制台输入输出语句

49天精通Java,第6天,Java控制流程语句

49天精通Java,第7天,Java对象、类、抽象类、构造函数

49天精通Java,第8天,JDK 和 JRE 、final 与 static 、堆和栈

49天精通Java,第9天,java final关键字

49天精通Java,第10天,Java继承和多态

49天精通Java,第11天,java接口和抽象类的异同,default关键字

49天精通Java,第12天,Java接口的作用和意义

49天精通Java,第13天,java字符串简介

49天精通Java,第14天,java object类

49天精通Java,第15天,Java异常有哪几种

49天精通Java,第16天,Java枚举类型enum用法

49天精通Java,第17天,Java类加载与初始化

49天精通Java,第18天,Java代理类详解

49天精通Java,第19天,Java反射机制原理详解

49天精通Java,第20天,Date类、Calendar类、date转calendar

49天精通Java,第21天,Java数组详解

49天精通Java,第22天,Java日志框架,Log4j日志级别

49天精通Java,第23天,Java集合,Collection接口,Iterator接口

49天精通Java,第24天,Java链表、散列表、HashSet、TreeSet

49天精通Java,第25天,Java映射Map、弱散列映射WeakHashMap

49天精通Java,第26天,LinkedHashSet、LinkedHashMap、EnumSet、EnumMap

49天精通Java,第27天,队列、双端队列、优先队列

49天精通Java,第28天,Java lambda表达式

49天精通Java,第29天,Java内部类、java内部类的作用

49天精通Java,第30天,Java中的ConcurrentHashMap中为什么不能存储null?

49天精通Java,第31天,this关键字、SringBuilder中的this

49天精通Java,第32天,Java泛型方法的定义和使用

49天精通Java,第33天,GET和POST的区别、堆和栈的区别

49天精通Java,第34天,finalize、引用计数、JVM停止复制、JVM即时编译器

49天精通Java,第35天,Java初始化、构造器、对象创建的过程

49天精通Java,第36天,Java数组、java数组初始化、java数组赋值

49天精通Java,第37天,可变参数列表

49天精通Java,第38天,编程语言类型有哪些?我心中的TOP1编程语言,什么是java跨平台性?

49天精通Java,第39天,Java 字节码,javap命令,解读字节码清单

49天精通Java,第40天,jd-gui反编译class文件,解决jd-gui中文乱码问题

49天精通Java,第41天,类加载器,双亲委派机制

49天精通Java,第42天,java stream流详解,从集合遍历,看stream流操作

49天精通Java,第43天,缓冲区数据结构bytebuffer

49天精通Java,第44天,一文弄懂Java线程池 + Runnable多线程 + 调用WebService接口

49天精通Java,第45天,一个关于 i++ 和 ++i 的面试题打趴了所有人

49天精通Java,第46天,GET和POST的区别,java模拟postman发post请求

49天精通Java,第47天,Java是动态语言吗?

49天精通Java,第48天,一文搞定Java IO流,输入流、输出流、字符流、缓冲流,附详细代码示例

49天精通Java,第49天,选择最适合自己的NIO, 一探流技术

2、Java 进阶

Java学习路线总结(思维导图篇)

【Java基础知识 1】Java入门级概述

【Java基础知识 2】配置java环境变量

【Java基础知识 3】为何要配置环境变量?

【Java基础知识 4】秒懂数组拷贝,感知新境界

【Java基础知识 5】装箱和拆箱

【Java基础知识 6】Java异常详解

【Java基础知识 7】toString()、String.valueOf、(String)强转

【Java基础知识 8】String、StringBuilder、StringBuffer详解

【Java基础知识 9】序列化与反序列化

【Java基础知识 10】Java IO流详解

【Java基础知识 11】java泛型方法的定义和使用

【Java基础知识 12】java枚举详解

【Java基础知识 13】java注解详解

【Java基础知识 14】java动态代理原理

【Java基础知识 15】java反射机制原理详解

【Java基础知识 16】java内部类使用场景

【Java基础知识 17】Java 中的 static 关键字详解

【Java基础知识 18】一文读懂JVM类加载机制过程及原理

【Java基础知识 19】Java序列化与反序列化详解

【Java基础知识 20】Java泛型方法的定义和使用

【Java基础知识 21】Java Date类详解

【Java基础知识 21】Java是动态语言吗?

3、Java8新特性

【Java8 新特性 1】java8 lambda表达式

【Java8 新特性 2】java8 lambda表达式进阶

【Java8 新特性 3】java8 supplier

【Java8 新特性 4】java8 optional

【Java8 新特性 5】Java 8 stream的详细用法

【Java8 新特性 6】java8 predicate

【Java8 新特性 7】java函数式接口

4、Java集合

【Java集合 1】java集合有哪些

【Java集合 2】list循环删除问题

【Java集合 3】List<T>和List<?>的区别

【Java集合 4】java character

【Java集合 5】HashMap + 软引用进行缓存

【Java集合 6】arraycopy方法的作用

【Java集合 7】java queue用法

【Java集合 8】Java中的queue和deque

5、Java高并发

【Java 多线程 1】java多线程并发编程

【Java 多线程 2】java线程池原理

【Java 多线程 3】理解ThreadLocal

【Java 多线程 4】Java守护线程

【Java 多线程 5】Java多线程之Executor框架

【Java 多线程 6】countdownlatch用法

【Java 多线程 7】通过socket、多线程、动态代理、反射 实现RPC远程方法调用

【Java 多线程 8】一篇文章带你彻底吃透Java NIO

【Java 多线程 9】Java同步代码块详解

Java高并发编程实战1,那些年学过的锁

Java高并发编程实战2,原子性、可见性、有序性,傻傻分不清

Java高并发编程实战3,Java内存模型与Java对象结构

Java高并发编程实战4,synchronized与Lock底层原理

Java高并发编程实战5,异步注解@Async自定义线程池

Java高并发编程实战6,通过AQS源码分析lock()锁机制

Java高并发编程实战7,ConcurrentHashMap详解

Java高并发编程实战8,同步容器与并发容器

6、Java代码实例

【Java 代码实例 1】java反射三种方法

【Java 代码实例 2】利用Java反射实现两个具有相同属性bean赋值

【Java 代码实例 3】new BeanHandler<Student>(Student.class);《泛型,反射,一种思想》

【Java 代码实例 4】javacompiler编译多java文件

【Java 代码实例 5】HashMap转JavaBean

【Java 代码实例 6】FileUtils、StringUtil、CollectionUtils、ArrayUtils(附代码示例)

【Java 代码实例 7】jsoup解析html

【Java 代码实例 8】qrcode生成二维码

【Java 代码实例 9】Java通过Process执行C# exe程序

【Java 代码实例 10】Google核心库GUAVA

【Java 代码实例 11】利用百度语音识别技术实现文字转语音的应用

【Java 代码实例 12】java math.random()用法

【Java 代码实例 13】跟同事杠上了,Apache Beanutils为什么被禁止使用?

【Java 代码实例 14】Java BeanUtils用法详解,附源码分析

【Java 代码实例 15】为什么人们宁可用Lombok,也不把成员设为public?

【Java 代码实例 16】Java中常见的编码集问题

【Java 代码实例 17】Java操作pdf的工具类itext

二、MySQL数据库

MySQL数据库基础知识1,数据类型与三范式

MySQL数据库基础知识2,那些年学过的事务

MySQL数据库基础知识3,mysql索引详解,上篇

MySQL数据库基础知识4,mysql索引详解,下篇

MySQL数据库基础知识5,为什么查询速度会慢

MySQL数据库基础知识6,缓存表、视图、计数器表、自定义变量

MySQL数据库基础知识7,查询的执行过程

MySQL数据库基础知识8,分区表详解

MySQL数据库基础知识9,InnoDB和MyISAM的数据分布对比

MySQL数据库基础知识10,MySQL全文索引

MySQL数据库基础知识11,查询缓存

MySQL数据库基础知识12,MySQL单列索引和联合索引

MySQL数据库基础知识13,MySQL 函数、数字函数、日期函数、运算符

MySQL数据库基础知识14,mysql索引详解

MySQL数据库基础知识15,MySql基础知识总结(SQL优化篇)

MySQL数据库基础知识16,千万级数据,如何做性能优化?分库分表、Oracle分区表?

MySQL数据库基础知识17,SQL性能优化的21个小技巧

MySQL数据库基础知识18,SQL代码编码原则和规范

MySQL数据库基础知识19,学习MySQL必须了解的13个关键字,你get了吗?

MySQL数据库基础知识20,MySQL + PostgreSQL批量插入更新insertOrUpdate

MySQL数据库基础知识21,PostgreSQL数据库备份和恢复

三、Spring Boot框架(35天)

SpringBoot学习路线总结(附思维导图)

Spring Boot入门篇 | Spring Boot 1

springboot增删改查 | Spring Boot 2

Thymeleaf的基本语法 | Spring Boot 3

springboot整合mybatis | Spring Boot 4

Spring Boot Jpa 的使用 | Spring Boot 5

springboot自定义starter | Spring Boot 6

springboot实现增删改查实例 | Spring Boot 7

Okhttp实现GitHub第三方登录 | Spring Boot 8

springboot整合mybatis实现增删改查 | Spring Boot 9

Spring Boot + mybatis + Thymeleaf 分页示例(纯底层代码,不是pagehelper)| Spring Boot 10

springboot怎么打包部署 | Spring Boot 11

springboot整合Redis | Spring Boot 12

springboot实现热部署 | Spring Boot 13

springboot启动类原理解析 | Spring Boot 14

springboot常用注解介绍及使用 | Spring Boot 15

ApplicationContextAware使用理解 | Spring Boot 16

Springboot配置两个数据库 | Spring Boot 17

springboot整合vue 实现CRUD | Spring Boot 18

springboot整合阿里云OSS实现云存储 | Spring Boot 19

springboot + Vue 整合阿里云视频点播 | Spring Boot 20

springboot部署 | Spring Boot 21

mybatis逆向工程 | Spring Boot 22

jdbctemplate使用 | Spring Boot 23

springboot 解决跨域问题 | Spring Boot 24

rabbitmq基础知识总结 | Spring Boot 25

Spring Boot整合easyExcel | Spring Boot 26

Spring Boot整合流控组件Sentinel | Spring Boot 27

springboot整合全文搜索引擎Elasticsearch | Spring Boot 28

springboot整合Nginx实现负载均衡反向代理 | Spring Boot 29

springboot整合MongoDB实现增删改查 | Spring Boot 30

mongodb文档基本操作简介 | Spring Boot 31

mongodb的优缺点及应用场景 | Spring Boot 32

Redis是干什么的,Redis常用语法每日一练 | Spring Boot 33

ShardingSphere分库分表教程 | Spring Boot 34

spring security原理和机制 | Spring Boot 35

四、Redis中间件

Redis中间件1,传统关系型数据库和NoSQL数据库有何区别?

Redis中间件2,2023年再不会Redis,就要被淘汰了

Redis中间件3,下单时如何保证数据一致性?

Redis中间件4,本地缓存、Redis数据缓存策略

Redis中间件5,兄弟,王者荣耀的段位排行榜是通过Redis实现的?

Redis中间件6,redis的五种数据类型

Redis中间件7,Redis缓存穿透、击穿、雪崩到底是个啥?7张图告诉你

Redis中间件8,图解Redis,谈谈Redis的持久化,RDB快照与AOF日志

Redis中间件9,Redis bigkeys命令会阻塞吗?怎么解决?

Redis中间件10,图解Redis,谈谈Redis的持久化,RDB快照与AOF日志

Redis中间件11,Redis集群的最大槽数为什么是16384个?

Redis中间件12,Redis单线程还是多线程?IO多路复用原理

Redis中间件13,MySQL数据库和Redis缓存一致性的更新策略

Redis中间件14,Redis分布式锁的实现方式

Redis中间件15,Redis分布式锁的实现方式、实现原理

Redis中间件16,Redis分布式缓存、秒杀

Redis中间件17,Redis布隆过滤器的原理和应用场景,解决缓存穿透

Redis中间件18,Redis缓存预热、缓存穿透、缓存击穿、缓存雪崩,Redis布隆过滤器怎么实现?

Redis中间件19,Redis主从架构、数据同步原理、全量同步、增量同步

五、MongoDB数据库

MongoDB数据库1,既然有MySQL了,为什么还要有MongoDB?

MongoDB数据库2,MongoDB 4.0支持事务了,还有多少人想用MySQL呢?

MongoDB数据库3,MongoDB的基本概念与基本数据类型

MongoDB数据库4,MongoDB数据库 | 三分钟学会MongoDB索引,快来看看与MySQL索引有何不同?

MongoDB数据库5,MongoDB数据库性能监控详解

MongoDB数据库6,技术瓶颈?如何解决MongoDB超大块数据问题?

MongoDB数据库7,一次线上事故,我顿悟了MongoDB的精髓

MongoDB数据库8,MongoDB高可用与分片

MongoDB数据库9,MongoDB查询与游标,彻底玩转分布式文件存储

六、Netty网络编程

Netty网络编程实战1,搭建第一个Netty服务器

Netty网络编程实战2,使用Netty开发聊天室功能

Netty网络编程实战3,使用Netty远程传输文件

Netty网络编程实战4,使用Netty实现心跳检测机制

通过webservice实现springboot项目间接口调用与对象传递

七、23种设计模式

java设计模式1,单一职责原则

java设计模式2,开闭原则

java设计模式3,里氏替换原则

java设计模式4,迪米特法则

java设计模式5,接口隔离原则

Java设计模式6,依赖倒置原则

java设计模式7,一看就懂,架构灵魂,工厂方法模式

Java设计模式8,校验、审批流程改善神器,责任链模式

Java设计模式9,模板方法模式

Java设计模式10,建造者模式

【源码分析设计模式 1】JDK中的单例模式

【源码分析设计模式 2】JDK中的抽象工厂模式

【源码分析设计模式 3】JDK中的工厂模式

【源码分析设计模式 4】JDK中的原型模式

【源码分析设计模式 5】Java I/O系统中的装饰器模式

【源码分析设计模式 6】Mybatis中的组合模式

【源码分析设计模式 7】Integer中的享元模式

【源码分析设计模式 8】mybatis中的代理模式

【源码分析设计模式 9】SpringIOC中的模板方法模式

【源码分析设计模式 10】SpringMVC中的适配器模式

【源码分析设计模式 11】SpringMVC中的策略模式

【源码分析设计模式 12】JDBC中的桥接模式

【源码分析设计模式 13】命令模式

八、微服务

为什么90%的开发者放弃传统的技术架构,而选择微服务?

云原生是实现可观测平台的唯一出路?码农:夸张了

Java工程师需要学习云原生吗?

【云原生】一篇打通微服务架构,nacos + gateway + Redis + MySQL + docker

云原生中为什么需要API网关?

Dubbo高手之路1,Dubbo原理和机制,Dubbo的核心组件

Dubbo高手之路2,6种扩展机制详解

Dubbo高手之路3,Dubbo服务消费详解

Dubbo高手之路4,Dubbo服务提供者详解

Dubbo高手之路5,Dubbo服务注册与发现

九、JavaScript零基础入门

JavaScript零基础入门 1:JavaScript表格简介

JavaScript零基础入门 2:JavaScript数据类型简介

JavaScript零基础入门 3:javascript运算符有哪些

JavaScript零基础入门 4:javascript对象有哪些

JavaScript零基础入门 5:JavaScript函数详解

JavaScript零基础入门 6:JavaScript数组详解

JavaScript零基础入门 7:JavaScript基础函数

JavaScript零基础入门 8:JavaScript通过document获取节点元素

JavaScript零基础入门 9:JavaScript读取元素的样式

JavaScript零基础入门 10:JavaScript中的正则表达式

JavaScript零基础入门 11:JavaScript实现图片上传并预览

JavaScript零基础入门 12:JavaScript整合JqGrid完整实例

JavaScript零基础入门 13:DOM规范中的MutationObserver接口

JavaScript基础知识总结 14:学习JavaScript中的File API、Streams API、Web Cryptography API

JavaScript基础知识总结 15:JavaScript客户端存储

JavaScript基础知识总结 16:如何写出优雅的JavaScript代码

JavaScript基础知识总结 17:JavaScript表单脚本

JavaScript基础知识总结 18:dom基本操作

JavaScript基础知识总结 19:JavaScript的内存与性能问题

JavaScript基础知识总结 20:谈谈关于innerHTML的性能问题?

JavaScript基础知识总结 21:JavaScript看这一篇就够了,简单全面一发入魂

JavaScript基础知识总结 22:JavaScript数组

JavaScript基础知识总结 23:JavaScript 网络请求与远程资源

JavaScript基础知识总结 24:JavaScript面试题看这一篇就够了,简单全面一发入魂

十、Vue基础知识

Vue基础知识总结 1:Vue入门

Vue基础知识总结 2:vue 动态绑定

Vue基础知识总结 3:vue常用标签

Vue基础知识总结 4:vue组件化开发

Vue基础知识总结 5:vue实现树形结构

Vue基础知识总结 6:vue双向绑定原理

Vue基础知识总结 7:插槽slot与vue导入导出

Vue基础知识总结 8:Node.js简介

Vue基础知识总结 9:vue webpack打包原理

Vue基础知识总结 10:使用vue-cli(vue脚手架)快速搭建项目

Vue基础知识总结 11:前端路由vue-router

Vue基础知识总结 12:ES6 promise的用法总结

Vue基础知识总结 13:从零开始搭建Vue项目

Vue基础知识总结 14:Vuex是做什么的?

十一、数据结构与算法

Java基础算法看这一篇就够了,简单全面一发入魂

【数据结构与算法 1】稀疏数组

【数据结构与算法 2】循环队列

【数据结构与算法 3】单链表

【数据结构与算法 4】单链表面试题

【数据结构与算法 5】环形链表解决约瑟夫问题

【数据结构与算法 6】栈实现综合计算器

【数据结构与算法 7】中缀表达式转为后缀表达式,实现逆波兰计算器

【数据结构与算法 8】递归之迷宫问题

【数据结构与算法 9】谁发明的八皇后,本宫赐你一丈红

【数据结构与算法 10】算法的时间复杂度和空间复杂度

【数据结构与算法 11】常见的八大排序算法

【数据结构与算法 12】二分查找、插值查找、斐波那契查找

【数据结构与算法 13】二叉树

【数据结构与算法 14】线索化二叉树的作用

  • 60
    点赞
  • 205
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
一、Java基础语法 1.变量和常量 变量用于存储数据。Java中的变量有三种类型:局部变量、成员变量和静态变量。 常量是指在程序运行时不会被修改的值,在Java中用final关键字标识。常量分为静态常量和实例常量。 2.数据类型 Java中的数据类型分为基本数据类型和引用数据类型。基本数据类型有byte、short、int、long、float、double、char和boolean。 引用数据类型包括类、接口、数组和枚举。 3.运算符 Java中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符、三目运算符等。 4.流程控制 Java中的流程控制有if-else语句、switch-case语句、for循环、while循环、do-while循环、break语句、continue语句等。 二、面向对象编程 1.类和对象 类是对象的实体,包含属性和方法。对象是类的实例,具有独立的状态和行为。 2.继承和多态 继承是指一个类可以继承另一个类的属性和方法。 多态是指同一种操作作用于不同的对象,可以有不同的实现方式,实现方式由实际的对象类型决定。 3.封装和抽象 封装是指将类的属性和方法进行隐藏,只对外暴露必要的接口。通过封装可以保证类的安全性和灵活性。 抽象是指将类的共性进行概括,并去除与具体实现无关的内容。通过抽象可以提高代码的复用性和可维护性。 三、异常处理 在Java中,异常是指程序执行时发生的错误或异常情况。Java中的异常处理机制可以有效地避免程序运行中的错误导致程序崩溃。 Java中异常处理机制可以通过try-catch语句捕获异常,并通过throw和throws语句抛出和传递异常。在异常处理中可以利用finally语句完成清理工作。 四、集合框架 Java中的集合框架是对容器类的统称,包括List、Set和Map等容器类。 List是一个有序的容器,允许重复的元素。Set是一个无序的容器,不允许重复的元素。Map是一种键值对的映射容器。 五、IO操作 Java中的IO操作包括字节流和字符流。字节流操作的是二进制数据,字符流操作的是文本数据。 Java中的IO操作可以通过输入流和输出流来实现。输入流用于读取数据,输出流用于写入数据。 六、线程 线程是指程序中的一个执行流程,一个程序可以同时运行多个线程执行不同的任务。 在Java中,可以通过继承Thread类或实现Runnable接口来创建线程。 Java中的线程可以通过synchronized关键字来实现同步,防止线程间数据的冲突。 七、JDBC数据库操作 JDBC是Java数据库连接的一种标准,可以用于连接关系型数据库的操作。使用JDBC需要进行数据库驱动的加载,然后进行数据库连接,最后进行数据库的增删改查等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值