2021年超详细的java学习路线总结—纯干货分享
off999 2025-04-09 19:00 16 浏览 0 评论
本文整理了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书籍的可以后台私信【面试】或者【书籍】免费领取。
相关推荐
- python入门到脱坑经典案例—清空列表
-
在Python中,清空列表是一个基础但重要的操作。clear()方法是最直接的方式,但还有其他方法也可以实现相同效果。以下是详细说明:1.使用clear()方法(Python3.3+推荐)...
- python中元组,列表,字典,集合删除项目方式的归纳
-
九三,君子终日乾乾,夕惕若,厉无咎。在使用python过程中会经常遇到这四种集合数据类型,今天就对这四种集合数据类型中删除项目的操作做个总结性的归纳。列表(List)是一种有序和可更改的集合。允许重复...
- Linux 下海量文件删除方法效率对比,最慢的竟然是 rm
-
Linux下海量文件删除方法效率对比,本次参赛选手一共6位,分别是:rm、find、findwithdelete、rsync、Python、Perl.首先建立50万个文件$testfor...
- 数据结构与算法——链式存储(链表)的插入及删除,
-
持续分享嵌入式技术,操作系统,算法,c语言/python等,欢迎小友关注支持上篇文章我们讲述了链表的基本概念及一些查找遍历的方法,本篇我们主要将一下链表的插入删除操作,以及采用堆栈方式如何创建链表。链...
- Python自动化:openpyxl写入数据,插入删除行列等基础操作
-
importopenpyxlwb=openpyxl.load_workbook("example1.xlsx")sh=wb['Sheet1']写入数据#...
- 在Linux下软件的安装与卸载(linux里的程序的安装与卸载命令)
-
通过apt安装/协助软件apt是AdvancedPackagingTool,是Linux下的一款安装包管理工具可以在终端中方便的安装/卸载/更新软件包命令使用格式:安装软件:sudoapt...
- Python 批量卸载关联包 pip-autoremove
-
pip工具在安装扩展包的时候会自动安装依赖的关联包,但是卸载时只删除单个包,无法卸载关联的包。pip-autoremove就是为了解决卸载关联包的问题。安装方法通过下面的命令安装:pipinsta...
- 用Python在Word文档中插入和删除文本框
-
在当今自动化办公需求日益增长的背景下,通过编程手段动态管理Word文档中的文本框元素已成为提升工作效率的关键技术路径。文本框作为文档排版中灵活的内容容器,既能承载多模态信息(如文字、图像),又可实现独...
- Python 从列表中删除值的多种实用方法详解
-
#Python从列表中删除值的多种实用方法详解在Python编程中,列表(List)是一种常用的数据结构,具有动态可变的特性。当我们需要从列表中删除元素时,根据不同的场景(如按值删除、按索引删除、...
- Python 中的前缀删除操作全指南(python删除前导0)
-
1.字符串前缀删除1.1使用内置方法Python提供了几种内置方法来处理字符串前缀的删除:#1.使用removeprefix()方法(Python3.9+)text="...
- 每天学点Python知识:如何删除空白
-
在Python中,删除空白可以分为几种不同的情况,常见的是针对字符串或列表中空白字符的处理。一、删除字符串中的空白1.删除字符串两端的空白(空格、\t、\n等)使用.strip()方法:s...
- Linux系统自带Python2&yum的卸载及重装
-
写在前面事情的起因是我昨天在测试Linux安装Python3的shell脚本时,需要卸载Python3重新安装一遍。但是通过如下命令卸载python3时,少写了个3,不小心将系统自带的python2也...
- 如何使用Python将多个excel文件数据快速汇总?
-
在数据分析和处理的过程中,Excel文件是我们经常会遇到的数据格式之一。本文将通过一个具体的示例,展示如何使用Python和Pandas库来读取、合并和处理多个Excel文件的数据,并最终生成一个包含...
- 【第三弹】用Python实现Excel的vlookup功能
-
今天继续用pandas实现Excel的vlookup功能,假设我们的2个表长成这样:我们希望把Sheet2的部门匹在Sheet1的最后一列。话不多说,先上代码:importpandasaspd...
- python中pandas读取excel单列及连续多列数据
-
案例:想获取test.xls中C列、H列以后(当H列后列数未知时)的所有数据。importpandasaspdfile_name=r'D:\test.xls'#表格绝对...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python自定义函数 (53)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python串口编程 (60)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python人脸识别 (54)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)