很多人私信问我们公司的技术栈是什么,如果今年打算学习Java应该主要学习哪些内容,这篇文章我就以一线互联网大厂的标准,为大家罗列出2022年的Java学习的主要内容,内容可能有点多,因为我是以我们公司年薪30万的Java工程师标准写的,如果需要这些知识点的各种资料,我可以免费分享给大家使用,都是我们公司内部培训员工的高质量资料。
需要以下全部视频教程以及文字资料可以在文章末尾处添加我微信名片获取。
JavaSE 核心技术
- 面向对象进阶
static关键字、封装、继承、final关键字、多态、抽象类、接口、类与类之间的关系、对象数组
- 常用类
字符串相关的常用类、日期相关类及常用方法、数学相关类、包装类等
- 新日期API
使用LocalDate和LocalTime、合并日期和时间LocalDateTime、机器的日期和时间格式、定义Duration或Period、操纵、解析和格式化日期、获取毫秒值
- 集合
集合概述、Collection、List、Set、Map、泛型、Lambda表达式等
- 异常
异常概述、异常继承结构图、处理异常、finally语句块、方法覆盖与异常等
- IO流
IO概述、 文件流、 缓冲流、 对象流、 标准输出流、 Zip 压缩文件、 File 类、 NIO等
- 线程
线程相关概念、线程的创建与启动、线程的常用方法、线程的生命周期、线程安全问题、Java内存模型、线程同步、生产者消费者模式、定时器
- 反射机制
反射概述、获取Class的三种方式、通过反射机制调用无参数构造方法创建对象、类加载、通过反射机制访问对象的Field、通过反射机制调用对象的Method
- Annotation
JDK 内置注解、 自定义注解、 反射机制读取注解
- Java8 新特性
Lambda 表达式、 接口中的默认方法和静态方法、 新的 Date API、 Annotation 重复注解、Stream流式编程
数据库
- MySQL
MySQL安装与完美卸载、登录MySQL、基本命令、DBMS、SQL、DB SQL语句分类、表的概述、初始化测试数据、常用命令、简单查询、条件查询、排序操作、数据处理函数、分组函数、分组查询、单表DQL、连接查询、子查询、union&union all、limit、表、事务、存储引擎、索引、视图DBA命令、数据库设计三范式
- JDBC
接口在开发中的作用、驱动配置、JDBC编程六步、Statement完成增、删、改、连接数据库的信息在属性资源文件中配置、安装PowerDesigner、设计用户表、Statement演示登录时SQL注入问题、PreparedStatement解决SQL注入、Statement、PreparedStatement区别、PreparedStatement增、删、改、PreparedStatement模糊查询 、JDBC事务、悲观锁、DBUtil工具类等
- 数据库连接池Druid
缓存技术概述、什么是数据库连接池、连接池的作用、数据库连接池常用组件、Druid连接池的使用
WEB前端
- HTML
HTML概述、 第一个HTML、基本标签、实体符号、表格、背景颜色和背景图片、图片、超链接、列表、表单、HTML中元素的id属性、div和span
- CSS
CSS的作用、 HTML中嵌入CSS样式的三种方式、边框、隐藏、字体、文本装饰、列表、设置鼠标悬停效果、内边距和外边距、布局float、定位、鼠标小手、
- JavaScript
JavaScript概述、ECMAScript、DOM、BOM、嵌入JS三种方式以及JS的注释、标识符和关键字、变量、JS数据类型、null、NaN、undefined区别、JS中的事件、JS运算符之void、JS之控制语句、JS内置对象、BOM和DOM的区别与联系、DOM编程案例、BOM编程案例、JSON对象、浏览器向服务器发送请求的常见方式
- JavaScript调试能力提升
前端程序debug、查看前端页面元素、修改前端页面元素、查看变量、执行临时程序
- JavaScript高级
JS基于对象编程、JS的继承、JS闭包、JS函数进阶、JS正则表达式高级
JavaWeb
- XML
XML概述、XML的作用、SAX与DOM解析、dom4j解析XML、读XML、写XML、xpath、dom4j+xpath解析XML、XML&JSON对比
- Servlet
系统结构概论、tomcat服务器安装与配置、开发第一个Servlet程序、Servlet对象生命周期、单实例多线程环境下运行的Servlet、GenericServlet、HTTP协议详解、HttpServlet、ServletConfig、ServletContext、HttpServletRequest 、 HttpServletResponse、web开发中乱码的解决方案、Cookie、HttpSession、转发与重定向、Filter、Listener、Servlet3.0新特性
- AJAX
异步通信原理、异步编程的优点、使用原生JS实现AJAX、AJAX get请求、AJAX post请求、使用AJAX实现省市联动、AJAX get缓存问题
- Fastjson
JSON组件概述、Fastjson概述、将Java对象转换成JSON字符串、将JSON字符串转换成java对象、JSON各种组件性能PK
- Postman
什么是接口测试、接口测试工具有哪些、postman如何进行接口测试、发送post请求、发送get请求
- jQuery
jQuery对象和DOM对象的转换、jQuery九大选择器、jQuery对象的常用属性和方法、jQuery静态元素绑定事件、jQuery动态元素绑定事件、jQuery动画
- MVC架构模式
传统项目结构缺点、什么是MVC、为什么要分层、怎么分层、监听器设计模式、如何从代码角度实现MVC
- 代理模式
静态代理、动态代理、JDK实现动态代理、CGLIB实现动态代理
- Linux
Linux概述、VMware和XFTP的安装安装、VMware上安装Centos、Linux文件命令、Linux用户权限命令、Linux系统命令、Linux网络命令、Vim编辑器使用、Centos上安装JDK、Centos上安装tomcat、Centos上安装mysql、shell编程、云服务器的使用
- Git&GitHub
git概述、git下载安装、git工作结构、团队协同开发、代码托管中心、git命令、分支、注册github、团队协同开发过程演示、团队协同开发步骤、在IDEA中使用git并协同开发
高级框架
- Maven&Nexus
Maven基本概念、Maven工作原理、Maven仓库、POM及各元素介绍、Maven常用命令及应用、Maven依赖管理、Maven常用插件、IntelliJ IDEA集成使用Maven、Maven在项目工程中的实践、Maven私服仓库Nexus运行环境、Maven私服Nexus配置下载依赖、Maven私服Nexus仓库类型、Maven私服Nexus上传构件
- MyBatis
MyBatis入门、 MyBatis架构分析、MyBatis之CRUD操作、MyBatis常用API、Mapper代理、MyBatis关联关系查询、MyBatis数据封装、MyBatis动态SQL、MyBatis查询缓存、MyBatis注解式开发、MyBatis事务
- JUnit
JUnit环境集成、JUnit基础用法、JUnit高级话题
- Log4j2
Log4j2日志环境搭建、Log4j2配置文件、Slf4j与Log4j2搭配使用、Log4j2日志文件拆分、Log4j2异步日志、Log4j2在项目中的实践
- MyBatis PageHelper
集成PageHelper分页插件、PageHelper在代码中实践、MyBatis集成PageHelper案例实战
- Spring
Spring概述、spring体系结构、Spring XML配置、Spring 注解配置、Spring核心之IOC、Spring核心之AOP、Spring集成MyBatis、Spring事务管理、Spring与Web
- SpringMVC
Spring概述、SpringMVC概述、SpringMVC配置式开发、SpringMVC注解式开发、SpringMVC核心技术、Spring+SpringMVC+MyBatis整合开发
- Bootstrap
Bootstrap 概述、前端 UI 框架、JS、jQuery、Bootstrap的区别与联系、下载 Bootstrap 库、Bootstrap 快速上手、Bootstrap 案例实战
- Redis
NoSQL概述、Redis安装与使用、Redis数据类型、Redis事务、Redis持久化、Redis主从复制、Redis哨兵、Jedis客户端开发、Spring集成Redis开发
- Vue.js
Vue安装、Vue基础语法、Vue常用指令、Vue生命周期、Vue组件、Vue路由、Vue之Ajax、Node与Npm、axios 的使用、Vue实战案例
- Vue CLI
什么是vue-cli、vue-cli安装、vue-cli创建项目脚手架、项目仪表盘
- ElementUI
常用PC端ui框架、常用移动端ui框架、ElementUI常用组件实战
- Spring Security
Spring Security概述、Spring Security快速上手、Spring Security配置多用户认证、Spring Security用户,角色,权限拦截配置、Spring Security方法级别的授权、Spring Security返回JSON、Spring Security认证工作流程源码分析、Spring Security授权工作流程源码分析、Spring Security集成Thymeleaf详解
- JWT
认识 JWT、JWT 的原理、JWT 的数据结构、JWT 应用实战
- Oauth2.0
OAuth 2.0是什么、OAuth 2.0授权码模式、OAuth 2.0密码模式、OAuth 2.0客户端模式、OAuth 2.0隐式模式、OAuth 2.0应用实战
- SpringBoot
Spring Boot框架概述、Spring Boot多环境选择、Spring Boot自定义配置、Spring Boot下的拦截器、Spring Boot下的MyBatis、Spring Boot下的事务、Spring Boot下的日志管理、Spring Boot 实现 RESTful、Spring Boot下的Redis及哨兵模式、Spring Boot 中使用Servlet/Filter、Spring Boot下的非web工程、Spring Boot 部署与运行方式、Spring Boot Actuator、Spring Boot下的Thymeleaf、Spring Boot综合应用实战
- Logback
Logback环境集成、Logback配置文件通用属性、Logback日志拆分、Logback异步日志、Logback自定义logger、Logback配置文件转换、Logback在项目中的实践
- MyBatis-Plus
MyBatis-Plus快速上手、 MyBatis-Plus核心功能特性、 MyBatis-Plus查询、 MyBatis-Plus代码生成
完成以上内容的学习,大概在一二城市可以拿到12-15k的薪资
分布式与微服务
- Spring Cloud
Eureka、Ribbon、OpenFeign、Hystrix、Gateway
- Spring Cloud Alibaba
Nacos、Sentinel、Skywalking、Seata
- 分布式锁
分布式锁场景概述、 分布式锁实现方案、 分布式锁案例实战
- 分布式事务
分布式事务场景概述、 分布式事务解决方案、 基于Seata分布式事务实战、 基于消息分布式事务实战
- 阿里云OOS
认识阿里云OSS、 阿里云OOS应用场景、 阿里云OOS常用功能实战
- Elasticsearch
Elasticsearch应用场景、 搜索引擎倒排索引底层实现原理、 Elasticsearch运行环境安装、 elasticsearch中的核心概念、 elasticsearch之Query DSL、 elasticsearch之java操作客户端API、 elasticsearch中文分词、 elasticsearch之Java客户端案例实战、 ElasticSearch底层原理分析、 ElasticSearch集群部署详解、 ELK分布式日志收集
- Logstash
Logstash运行环境、 Logstash工作流程快速体验、 Logstash收集日志到ElasticSearch、 Logstash将日志收集到Redis、 Logstash数据库与ElasticSearch同步
- Kibana
Kibana运行环境、 Kibana运行机制、 Kibana之DevTools操作ElasticSearch、 Kibana数据进行可视化展示
- RocketMQ
RocketMQ运行环境搭建、 RocketMQ快速体验消息收发、 RocketMQ在SpringBoot下开发、 RocketMQ延迟消息、 RocketMQ顺序消息、 RocketMQ事务消息、 RocketMQ消息重投递、 RocketMQ死信队列、 RocketMQ分布式事务方案、 RocketMQ管理控制后台、 RocketMQ高可用集群
- SecKill
秒杀倒计时、 秒杀商品预热、 暴露秒杀地址、 秒杀限流、 秒杀减库存、 秒杀超卖控制、 秒杀异步下单、 秒杀结果通知
- Logback
Logback环境集成、Logback配置文件通用属性、Logback日志拆分、Logback异步日志、Logback自定义logger、Logback配置文件转换、Logback在项目中的实践
- Docker
虚拟化与容器化、 Docker运行环境、 Docker运行机制、 Docker镜像/容器/仓库、 Docker自定义镜像、 Docker部署应用实战
- K8S
Kubernetes整体架构、 Kubernetes环境搭建方式、 Kubeadm部署Kubernetes、 Kubernetes部署容器化应用-Nginx、 kubernetes部署容器化应用Tomcat、 kubernetes部署容器化应用SpringBoot、 kubernetes部署DashBoard管理ui后台、 kubernetes暴露服务Ingress、 kubernetes部署Spring Cloud Alibaba微服务、 kubernetes动态扩容
- Jenkins
持续集成持续交付、 Jenkins运行环境准备、 Jenkins插件、 Jenkins配置Git源码克隆、 Jenkins手动构建、 Jenkins定时构建、 Jenkins通过Git钩子自动构建、 Jenkins+git+maven自动部署项目、 Jenkins+git+maven+docker自动部署项目、
- Jenkins
持续集成持续交付、 Jenkins运行环境准备、 Jenkins插件、 Jenkins配置Git源码克隆、 Jenkins手动构建、 Jenkins定时构建、 Jenkins通过Git钩子自动构建、 Jenkins+git+maven自动部署项目、 Jenkins+git+maven+docker自动部署项目、
完成以上内容的学习,大概在一二城市可以拿到15-20k的薪资
Java高级拓展
- JVM
JVM体系结构类加载系统、 JVM双亲委派类加载、 JVM运行时数据区、 JVM垃圾回收器回收算法、 JVM垃圾收集器、 GC日志、 JVM监控命令、 JVM可视化监控分析工具、 堆内存溢出问题分析、 JVM线程监控、 JVM远程监控、 JVM调优相关参数、 JVM调优方法及实践案例
- MySQL高级
MySQL执行机制和执行流程、 MySQL共享锁与排它锁、 MySQL事务及隔离级别、 深入隔离性与锁机制分析、 行锁/表锁/页锁/悲观锁/乐观锁/间隙锁、 MySQL死锁原理分析、 UndoLog/RedoLog/BinLog区别与底层原理、 SQL慢查询分析与解决方案、 MySQL多版本控制MVCC、 ACID特性分析、 MySQL执行计划详解、 MySQL慢查询日志分析、 MySQL的存储引擎分析、 认识索引及索引类型和索引方法、 B+树数据结构分析、 InnoDB存储引擎B+Tree实现、 联合索引的底层数据结构分析、 最左匹配查询原理、 覆盖索引查询原理、 索引字段的离散性与选择性、 InnoDB存储引擎主键的选择与作用、 阿里MySQL规范解读
- 并发编程JUC
多线程基础、 JMM模型剖析、 并发编程Lokcs锁、 AQS、 原子操作、 Executor线程池、 并发工具类、 并发容器、 ForkJoin框架、 并发编程案例实战
- 高并发解决方案
高并发解决方案概述、 硬件解决方案、 缓存解决方案、 拆分解决方案、 静态化队列池化解决方案、 优化相关解决方案、 解决方案总结
- 数据结构与算法
算法复杂度分析、 线性表、链表数据结构详解、 队列、栈数据结构详解、 常用排序算法详解、 二分搜索、hash表详解、 树、二叉树数据结构详解、 图、深度优先、广度优先遍历详解、 散列表、布隆过滤
完成以上内容的学习,大概在一二城市可以拿到20-30k的薪资
源码解析
- MyBatis源码在IDEA下构建详解
- MyBatis源码体系结构详解
- MyBatis源码深度剖析
- MyBatis偷天换日之术深度剖析
- 全程逐行手写自己的MyBatis框架
- Spring源码在IDEA下构建详解
- Spring IOC源码深度剖析
- 全程逐行手写自己的Spring IOC
- Spring MVC源码深度剖析
- 全程逐行手写自己的Spring MVC
- Spring AOP源码深度剖析
- 全程逐行手写自己的Spring AOP
- Spring事务管理深度剖析
- Spring事务管理失效之谜
- Spring整合MyBatis源码深度剖析
- 手写实现SpringMVC升级到SpringBoot
- SpringBoot源码在IDEA下构建详解
- SpringBoot源码体系结构详解
- SpringBoot入口启动类深度剖析
- SpringBoot启动流程源码深度剖析
- SpringBoot自动装配源码深度剖析
- SpringBoot自定义Starter详解
- 手写自己的SpringBoot Starter
完成以上内容的学习,大概在一二城市可以拿到年薪50万左右的薪资
需要以上学习资料可以添加下方我的微信名片获取。