2021年超详细的java学习路线总结—纯干货分享
wptr33 2025-05-02 21:38 24 浏览
本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!
第一阶段:Java基础
重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、
String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。
Java面向对象
面向对象设计思想
面向对象的分析与设计
Java与面向对象
类中成员变量的定义与意义
构造方法的定义和调用
面向对象的封装特性
局部变量和成员变量的作用域问题
静态属性、静态方法、静态代码块
面向对象的继承特性
继承中构造方法的细节
面向对象的多态特性
抽象方法与抽象类
接口的介绍
通过内部类制作性能检测工具
Java的内存分析
Java数组
Java 数组的定义
Java 数组的声明
数组的优势与局限
数组的动态初始化
数组的存储特点(堆和栈)
数组的遍历访问(普通循环,增强for循环)
数组元素的顺序查找
数组元素的二分法查找
数组元素的选择排序
数组元素的冒泡法排序
Arrays工具类的使用
二维数组的介绍
二维数组的声明与初始化
二维数组的遍历
二维数组的使用
IO流
File类的作用
File类中常用方法的使用介绍
使用File类操作文件和文件夹
相对路径和绝对路径的介绍
IO流的概念和工作原理
IO流的分类
文件流的使用
转换流的使用
缓冲流的使用
对象流的使用
内存流的使用
使用不同的流实现文件内容的拷贝
RandomAccessFile类的使用
Properties类的使用
装饰者设计模式
第二阶段:数据库
重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC
主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。
- 推荐书籍:首先是《MySQL必知必会》,这本书很小,口袋书,方便随时查阅。
- 深入的书籍推荐《MySQL内核:InnoDB存储引擎 卷1》,资深MySQL专家,机工畅销图书作者亲自执笔,介绍InnoDB存储引擎的内核,例如latch、B+树索引、事务、锁等,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践。
MySQL使用
数据库简介
MySQL的安装与使用
MySQL客户端和服务器配置
用户权限管理
DDL创建数据库和表
约束与外键
DML实现添加、修改、删除数据
聚合函数、日期函数等
DQL简单查询
排序、分组、筛选
多表查询
子查询
in和exists关键字
分页查询
Mysql SQL语句优化介绍
JDBC连接池
JDBC概述
JDBC使用步骤
Connection、Statement、ResultSet接口
使用JDBC 完成数据库DML操作
PreparedStatement对象
大数据的操作
批量处理与元数据
事务处理
隔离级别
自定义连接池
DBCP、C3p0连接池
DBUtis工具类
QueryRunner
自定义结果集处理
连接池知识总结
第三阶段:JavaWeb
重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等
Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。
jQuery
jQuery介绍
jQuery版本介绍
jQuery对象和原生js对象介绍
jQuery对象和原生js对象互相转化
jQuery快速入门
jQuery语法详解
jQuery核心函数
jQuery onload处理
jQuery选择器
jQuery 文档处理
jQuery事件
jQuery遍历操作
jQuery自定义函数
jQuery动画效果
jQueryAJAX操作
AJAX
Ajax技术背景
Ajax技术的理解
XMLHttpRequest使用步骤
XMLHttpRequest GET/POST的区别
同步请求&异步请求
同步请求&异步请求的区别
Ajax获取不同的返回值类型
Ajax使用原生JavaScript和Jquery的区别
Ajax响应状态处理
JSON语法
Java JSON 解析
Java JSON 生成
Java JSON 第三方工具快速解析
JavaScript JSON转换
Jquery JSON转换
第四阶段:框架
重点知识点:Spring、SpringMVC、SpringBoot、Mybatis
前后端不分离的版本:
经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf
前后端分离的版本:
- 前端采用Vue、Element UI。
- 后端采用Spring Boot、Spring Security、Redis & Jwt。
Spring
框架原理介绍
框架环境搭建
快速入门
创建Bean的方式及实现原理
Bean种类
Bean生命周期
Bean的作用域
Bean的注值方式
SpEL
整合Junit测试
Web项目集成Spring
注解装配Bean
AOP思想、原理解剖
传统方式实现AOP开发
AspectJ介绍及实现AOP开发
Spring MVC
Spring MVC 概述
使用 @RequestMapping映射请求
请求处理方法签名概述
处理方法签名详细说明
使用 HttpMessageConverter
处理模型数据
数据绑定流程剖析
数据格式化
数据校验
视图和视图解析器
处理方法的数据绑定
视图和视图解析器
文件上传下载
JSON处理
拦截器
MyBatis
MyBatis数据框架介绍
MyBatis对比Hibernate框架
MyBatis配置、查询数据
MyBatis全局配置文件
MyBatis全局配置文件元素详细介绍
Mapper映射文件
MyBatis两种开发方式
MyBatis中别名配置
MyBatis # 和 $ 拼接参数区别
关联查询,动态sql
MyBatis缓存机制、整合ehcache
MyBatis二级缓存处理
MyBatis、Spring、SpringMVC整合
分页插件
MyBatis逆向工程
第五阶段:其他热门技术
这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。
- Redis数据库学习
- Nginx反向服务代理
- Docker
- ZooKeeper 分布式协调服务技术+Dubbo高性能的 RPC 服务发布和调用框架
- Spring Cloud
- RocketMQ
第六阶段:java商城项目
商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的。
第七阶段:Java面试准备
大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。
推荐一个刷题学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。
- 把简单题和中等题多刷一些,难的就不要勉强自己了,难的不会也正常
- 按类型刷题,先刷数组,然后链表,然后二叉树、动态规划等等
- 做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象
- 反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中
推荐一本书,《剑指Offer》,面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。
最后,如果有需要面试题和PDF书籍的可以后台私信【面试】或者【书籍】免费领取。
相关推荐
- MySQL进阶五之自动读写分离mysql-proxy
-
自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...
- 3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?
-
引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...
- 一文由浅入深带你完全掌握MySQL的锁机制原理与应用
-
本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...
- 验证Mysql中联合索引的最左匹配原则
-
后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...
- MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)
-
目录1.索引基础...
- 你会看 MySQL 的执行计划(EXPLAIN)吗?
-
SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...
- MySQL 从入门到精通(四)之索引结构
-
索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...
- mysql总结——面试中最常问到的知识点
-
mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...
- mysql总结——面试中最常问到的知识点(2)
-
首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...
- MySQL基础全知全解!超详细无废话!轻松上手~
-
本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...
- 深入剖析 MySQL 中的锁机制原理_mysql 锁详解
-
在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...
- Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析
-
引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...
- MySQL基础篇:DQL数据查询操作_mysql 查
-
一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...
- MySql:索引的基本使用_mysql索引的使用和原理
-
一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
程序员的开源月刊《HelloGitHub》第 71 期
-
详细介绍一下Redis的Watch机制,可以利用Watch机制来做什么?
-
假如有100W个用户抢一张票,除了负载均衡办法,怎么支持高并发?
-
如何将AI助手接入微信(打开ai手机助手)
-
Java面试必考问题:什么是乐观锁与悲观锁
-
SparkSQL——DataFrame的创建与使用
-
redission YYDS spring boot redission 使用
-
一文带你了解Redis与Memcached? redis与memcached的区别
-
如何利用Redis进行事务处理呢? 如何利用redis进行事务处理呢英文
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)