JAVA最全面的一条自学路线

JAVA路线

🍅 这是一条路线非常清晰的自学java路线,该路线清晰的标明了怎么学,那些是重点,那些东西目前可以不学,为想自学的小伙伴指明了方向

一、学习方法:

  目前自学是通过看视频的方式进行自学:
  1. 做笔记是最好且最有效的方式,不然你又得回去再看一遍视频在学习过程中有很多东西你都看不懂,恰巧视频上面又没有详细的去讲这个知识,然后自己又不知如何去找资料在学习过程中一定不要去抄(视频老师的)代码,抄别人的代码过来你也你看不懂,然后自己也没有一点思路,还把题目给完成了,然后自己心里面就觉得自己已经完成了,而且还理所应当;

  2. 当然也要学会抄代码,学会把别人的东西变为自己的,去吃透别人的思路,然后装在自己的脑子里面,当然,这样的方式是针对于有一定基础的人来说的记笔记就不多说了

  3. 不记笔记等你忘记某个知识的时候只有回来再看一遍视频然后就是练习,这个对于初学者来说是重中之重,不动手你永远学不懂Java,就跟你站在岸上学习游泳是一模一样的道理;

  4. 对于一个只会纸上谈兵的人来说,在企业里面是不允许的,而且这样的人也是要经过至少五年的实操才会成为这样的人

二、自己的Java学习路线:

  1. 第一阶段:Java基础语法内容:运行环境、关键字、数据类型、运算符、方法、条件结构、循环结构、方法重载、数组

  2. 第二阶段:面向对象和封装内容:面向对象、this、构造方法

  3. 第三阶段:
    Java语言高级内容:常用API、继承和多态、集合、异常、多线程、网络编程、MySQL、JDBC

  4. 第四阶段:JavaWeb内容:前端三剑客(HTML,css,javaScript)、XML、Tomcat、Servlet、HTTP、九大内置对象、JSP、EL、JSTL、Filter、Listener、Jquery、Ajax、JSON、Redis、Maven、BootStrap

  5. 第五阶段:基本框架SSM内容:Spring、SpringMVC、MyBatis

  6. 第六阶段:高级框架内容:Spring Boot、Git、Spring Security、Linux、Spring Cloud

  7. 学习差异:

1. 有基础(在学校学了一些,自己捣鼓过):1/2小阶段会出现,觉得学的慢,每天学的东西少这些症状
2. 无基础(不爱打电脑游戏,不了解计算机,不是理工科出身):每天学习东西多,
    对比有基础的同学感觉自己很差,感觉自己跟不上或不太适合学编程.

三、java完整版学习路线

Java必备基础

(学习建议必学)

Java基础知识学习程度学习要求建议
Java中的数据类型熟练基本类型和引用类型面试会考,工作会用
常量熟练常量的使用工作会用
变量的定义熟练变量的定义和使用工作会用
代码书写规范精通命名规范要求工作会用
数据类型之间转换先熟悉

(到时候可以百度)
Java基本数据类型之间的转换工作会用
运算符操作熟练掌握运算符工作会用
if语句熟练掌握流程控制语句工作会用
switch熟练掌握流程控制语句工作会用
for循环与增强for熟练掌握各种循环语句的区别和应用、循环跳转、嵌套循环工作会用
while循环熟练工作会用
do…while循环熟练工作会用
数组熟练数组初始化, 数组下标访问元素, 数组结构(面试会问),排序算法(笔试会考)工作会用,面试会考
Java内存机制熟悉了解内存区域划分(面试会问)面试会考,理解
方法熟练方法形参参数,方法实参参数,方法返回值,方法定义,方法调用,方法重载,方法参数基本类型,方法参数引用类型工作会用
Debug熟练必会断点调试的使用,该技术是程序员的筷子,没有筷子就没法吃饭工作会用,必会

Java必备面向对象编程思想

(学习建议必学)

Java面向对象知识学习程度学习要求个人观点
类和对象熟练明白类的定义,对象的定义,初始化对象,对象的操作工作会用(编程基点)


面向对象特性
熟练面向对象思想

、封装,继承,多态如:类和对象、封装思想、继承和类、多态
工作会用
抽象类熟练抽象类和普通类的区别,如:abstract关键字、抽象和实例化理论知识、子类继承父类访问权限工作会用,面试会考
成员变量精通含义和使用,如:对象的属性是成员变量、成员方法get\set工作会用
局部变量精通定义和理解含义,如:形参、方法体内定义、作用域等工作会用
this关键字精通This关键字的含义是什么?如:自己当作参数传递、this指的是含义一定要理解工作会用
构造方法精通明白构造方法的几个创建方式,如:多个构造函数方法、继承类构造方法工作会用
super关键字精通会使用super和明白含义如:访问父类的属性、访问父类的函数、访问父类的构造函数工作会用
重写精通重写的定义和操作使用、重写要注意的事项、重载和重写区别工作会用
子类精通子类继承关系、创建对象时分配内存问题、final关键字工作会用
父类精通类继承关系、构造函数、super关键字、object类工作会用
接口精通接口定义和类的区别、接口和抽象类区别、interface掌握使用、与extends区别、implements 使用工作会用
内部类精通定义内部类方式、成员内部类、内部类访问权限、局部内部类工作会用
匿名内部类精通匿名内部类定义实操,如:匿名内部类需要的条件工作会用
包装类精通基本类型对应的包装类如:Integer、Short、Byte、Long、Float、Character、Boolean、Double、低级向高级自动转换,高级向低级强制转换)工作会用
拆箱和装箱精通数据类型转换之间转换如:低级向高级自动转换,高级向低级强制转换)、什么时候会引发装箱和拆箱 、Object工作会用
泛型精通泛型的本质、泛型通配符、泛型类、泛型接口、泛型方法工作会用
静态(变量和类)熟练静态变量跟实例变量、静态变量与类关系、静态方法跟实例方法、静态方法与重写、静态方法问类中的静态成员跟静态方法与访问类中的实例变量跟实例方法区别工作会用

必备常用操作API

(学习建议必学)

常用操作APIString类熟练(面试喜欢问)一定要多练构造函数,工作中经常操作字符串,

charAt、substring、compareTo、equals、concat、indexOf、toUpperCase、replace、split等方法,
面试会考,工作会用
StringBuilder类熟悉实操Append、toString、setCharAt、insert、delete等方法工作会用,面试会问
StringBuffer类熟悉了解StringBuffer类内存分配,String与StringBuffer的区别,append、deleteCharAt、insert、reverse、setCharAt、replace、substring等方法工作会用(偶尔),面试会问
Math类精通Math类的常用方法abs、ceil、random、工作会用(偶尔)
System类熟悉System类及其常用方法2个工作会用(偶尔)
Object类精通Object类的toString()和equals()方法等4个工作会用
Arrays类熟练Arrays类及其常用方法4个工作会用
日期Date类精通日期Date类型及其常用方法和日期格式化3个工作会用
日历Calendar类熟悉日历Calendar类的常用方法2个工作会用(偶尔)

Java必备集合

(学习建议必学)

集合Collection熟练List集合、Set集合、Map集合。方法:add、clear、remove、removeAll、isEmpty、iterator、hasNext、size、toArray工作会用、面试会问
Collections工具类熟练方法:reverse、sort、swap、max、copy面试会考,工作会用
List精通底层数据结构,效率问题,实现类:ArrayList、Vector、LinkedList。方法add、get、listIterator、hasPrevious、remove、set、asList工作会用,面试会考
Set熟练底层数据、排序问题、保证元素的唯一性问题、二叉树、HashSet、TreeSet、compareTo方法、工作会用(偶尔),面试会考
Map精通数据结构。实现类HashMap、TreeMap、LinkedHashMap、Hashtable。方法put、get、remove、clear工作会用,面试会考
集合算法熟悉排序、洗牌、搜索、常规数据操作、构成、找极值面试会考
集合数据结构熟悉动态数组\哈希表

\链表\红黑树\二叉树
面试会考

必备异常知识

(学习建议必学)

异常处理异常的方式熟练概述, 默认处理异常的方式工作会用,面试会考
try…catch熟练程序为什么会终止、异常的类型、代码执行工作会用,面试会考
throws熟练throws 异常声明工作会用,面试会考
Throw熟练抛出一个异常工作会用,面试会考
Finally熟悉用在try/catch语句中顺序面试会考
Final熟练使用和理论如:修饰类、修饰方法、修饰变量、final和static工作会用,面试会考
异常的作用精通编写出来的程序更加健壮面试会考

必备常用io流

(学习建议必学)

io流File类熟悉操纵对象和常用方法toString、compareTo、equals、createTempFile、createTempFile、setReadOnly、mkdir、delete、createNewFile、isFile、exists、getPath、getParentFile、getName工作会用(偶尔),面试问得少
IO流的概述熟练Java.io 包几乎包含了所有操作输入、输出需要的类、基本类型、对象、本地化字符集等等。还需要熟悉这些对象(BufferReader\InputStreamReader\FileReader\StirngReader\FilterReader\BufferedWriter/OutputStreamWriter\FileWriter\StringWriter\FilterWriter\Reader\Writer\InptStream\FileInputStream\FilterputStream\OjectInputStream\BuffereInputStream\DataInptStream\OjectOutputStream)工作会用(偶尔),面试问得少
字节流熟练FIleInputStream、FileOutputStream、InputStream、OutputStream工作会用(偶尔),面试问得少
缓冲流熟练BufferedInputStream、BufferedReader、BufferedOutputStream、BufferedWriter工作会用(偶尔),面试问得少
字符流熟练Reader、Writer、FileReader、FileWriter工作会用(偶尔),面试问得少)
输入输出流熟练Reader、InputStream、Writer、OutputStream工作会用(偶尔),面试问得少
转换流熟练InputStreamReader、outputStreamWriter工作会用(偶尔),面试问得少
打印流熟悉printStream、printWriter工作会用(偶尔),面试问得少
对象流熟悉ObjectprintStream、ObjectprintWriter工作会用(偶尔),面试问得少
管道流熟悉PipedInputStream、PipedOutputStream工作会用(偶尔),面试问得少
对象序列化精通什么是序列化与反序列化?怎么进行序列化?OjectInputStream\OjectOutputStream工作会用,面试问

必备反射知识

(学习建议必学)

反射反射的理论反射是一种强大的工具\反射机制\类的加载、连接、初始化\反射的源头 Class\ 泛型和Class类熟悉面试会问(偶尔),学习框架会用
类的加载过程类的加载、连接、初始化熟悉面试会问(偶尔)
类加载器加载器 ClassLoader熟悉工作会用(偶尔)
反射知识Reflection。反射获取的各种方法和属性如下:getConstructor(Class[] params) 、getConstructors() 、getDeclaredConstructor(Class[] params) 、getDeclaredConstructors() 、getField(String name)、 getDeclaredField(String name)、getFields()、getDeclaredFields()、 getMethods() 、getMethod(String name, Class[] params)、getDeclaredMethod(String name, Class[] params) 、getDeclaredMethods()。获取Class类的对象、必备(框架学习要用)学习会用,工作会用(偶尔)
动态代理Proxy 和 InvocationHandler学习会用
获取 Class 实例的四种方式《Person.class;》《Person p = new Person();
Class clazz3 = p.getClass();》《Class.forName(className);》《ClassLoader classLoader = this.getClass().getClassLoader();
Class clazz5 = classLoader.loadClass(className);》
熟悉学习会用,工作会用(偶尔)

注解知识

(学习建议必学)

注解### 理论知识### Annotation语法、定义、应用、属性、元注解、注解与反射熟悉工作会用
自定义注解熟练学会自己写一个注解出来工作会用(偶尔)
实操亲手自定义注解实操工作会用
元注解@Repeatable、@Inherited 、@Target、@Documented、@Retention熟悉工作会用
预置的注解@Override

、@SafeVarargs、@Deprecated

、@SuppressWarnings

、@FunctionalInterface
熟练工作会用

JUC必备多线程

(个人建议juc熟悉为主,不用学得特别深,但是可以用心学好CAS算法和锁装逼最牛,面试官都服你的技术,这是秘密,标注蓝色用点心学)

线程# 进程和线程的理论是并发编程中很常用的工具类,线程池,异步 IO 和轻量级任务框架都有涉足\原子性

\线程按序交替\线程八锁\调度\线程的安全问题\ 线程的生命周期\线程优先级
理解面试会问
实现多线程实现多线程四种方式1、继承Thread类\2、实现Runnable接口\3、实现Callable接口\4、使用ExecutorService、Callable、Future实现熟练面试必问
# 同步代码块# synchronized实操和理论熟练工作会用、面试会问
Lock 同步锁和synchronized区别、ReentrantLock.lock(),ReentrantLock.tryLock(),

ReentrantLock.tryLock(long timeout,TimeUnit unit),
熟练面试会问\工作会用
volatile 关键字内存模型中的可见性、原子性和有序性\Volatile原理理解面试会问
CAS算法、原子变量CAS算法incrementAndGet、compareAndSet、compareAndSwapInt、Atomic.cmpxchg、compareAndSwapInt.native原子变量AtomicInteger\AtomicReference\FieldUpdater\ABA问题与解决理解面试会问
ConcurrentHashMap 锁线程安全与不安全、数据结构、锁分段熟练面试会问
CountDownLatch工具类的主要犯法CountDownLatch(int count)、countDown()、await()、getCount()

、await(long timeout, TimeUnit unit)
熟练面试会问
CallableCallable接口的实现实操熟练面试必问
ReadWriteLock 读写锁熟练熟练面试必问
线程池newCachedThreadPool、newFixedThreadPool、newSingleThreadExecutor熟练面试必问
线程八锁1. 两个普通同步方法,两个线程,标准打印, 打印?\2. 新增 Thread.sleep() 给 getOne() ,打印?\3. 新增普通方法 getThree() , 打印?\4. 两个普通同步方法,两个 Number 对象,打印?\5. 修改 getOne() 为静态同步方法,打印?\6. 修改两个方法均为静态同步方法,一个 Number 对象?\7. 一个静态同步方法,一个非静态同步方法,两个 Number 对象?\8. 两个静态同步方法,两个 Number 对象?熟练面试必问
线程调度抢占式调度\协同式调度熟练面试必问

网络编程

(学习建议实操一遍为主,这玩意就是个理解概念但是又不得不重视)

网络编程理论知识IP\协议\网络协议\HTTP协议\UDP协议\TCP协议\常见网络协议\URL\域名\端口\OSI参考模型\三次握手\常用协议熟练工作会用
UDP协议{发送

-DatagramSocket、DatagramPacket对象、Socket发送、释放}{接收-DatagramSocket、DatagramPacket、接受数据、解析数据包对象、释放}
实操过面试会问(偶尔)
TCP协议{发送-ServerSocket 、server.accept()、获取客户端的输出流、输出数据 、关闭释放}{接收-Socket 、InputStream 、接收到数据、数据输出 、关闭释放}实操过面试会问(偶尔)
Soket通讯熟悉明白原理和理论工作会用(偶尔)
OSI物理层\数据链路层\网络层\传输层\会话层和表示层\应用层熟悉学习会用

HTML

(学习建议必学会)

HTML理论HTML、HTML发展、W3C、格式<标签名 属性名=‘属性值’ 属性名=‘属性值’ …/>最好到熟练,到时候不求人工作会用
常用标签

、、、、、</link>

CSS

(学习建议必学)

CSS理论知识继承性和层叠性、权重计算、内联标签与块标签基础理论熟练学习会用
选择器类别选择器、标签选择器、ID选择器、后代选择器、子选择器、伪类选择器、通用选择器、群组选择器等熟悉工作会用
Css样式[内部](http://www.so.com/s?q=内部&ie=utf-8&src=internal_wenda_recommend_textn" \t “https://wenda.so.com/q/_blank)样式,行内样式和[外部样式](http://www.so.com/s?q=外部样式表&ie=utf-8&src=internal_wenda_recommend_textn” \t "https://wenda.so.com/q/_blank)熟练工作会用
边框border-style(none\dotted\dashed\solid<br>
ridge\inset\double\outset\groove)
熟练工作会用
列表ul {list-style-type : square}熟练工作会用
鼠标效果Cursor(crosshair

\help\wait)
熟练工作会用
浮动floatfloat(left\right\none\inherit)熟练工作会用
定位Position([static](https://www.runoob.com/css/css-positioning.html" \l “position-static)[relative](https://www.runoob.com/css/css-positioning.html” \l “position-relative)[fixed](https://www.runoob.com/css/css-positioning.html” \l “position-fixed)[absolute](https://www.runoob.com/css/css-positioning.html” \l “position-absolute)[sticky](https://www.runoob.com/css/css-positioning.html” \l "position-sticky))熟练工作会用
文本排版实操熟练工作会用
文本颜色Color(#… …)熟练工作会用
字体样式Serif 字体\Sans-serif 字体\Monospace 字体\Cursive 字体\Fantasy 字体熟练工作会用
选择器熟练熟练工作会用
CSS优先级CSS[样式](http://www.so.com/s?q=样式&ie=utf-8&src=internal_wenda_recommend_textn" \t “https://wenda.so.com/q/_blank)在[浏览器](http://www.so.com/s?q=浏览器&ie=utf-8&src=internal_wenda_recommend_textn” \t "https://wenda.so.com/q/_blank)中被解析的先后顺序理论要清晰熟练工作会用
背景颜色、背景图片与列表样式background-color、background-image

、list-style-type
熟练工作会用
CSS盒模型盒子模型与布局熟练工作会用
float浮动float浮动属性、浮动的意义、清除浮动的方法熟练工作会用
backgroundbackground系列属性、css精灵熟练工作会用工作会用
超级链接超级链接的伪类、导航条熟练工作会用
DIV+CSS布局浮动

、常规流式布局、定位布局
熟练工作会用

JavaScript

(学习建议必学)

js基本语法Js类型、运算符、控制语句、数组、函数、对象、函数的使用熟练工作会用
流程控制for\ if\switch跟java的流程控制一样工作会用
事件绑定/触发事件绑定bind和两种触发trigger 1.分开触发;2.一次性触发多个。事件冒泡和捕获熟练工作会用
DOM操作getElementById、getElementsByName、getElementsByTagName、getElementsByClassName、getAttribute、setAttribute、createElement、createAttribute、createTextNode、createAttribute、appendChild、insertBefore、removeChild、chlidren、chilidNodes、parentNode、firstChild、lastChild、nextSibling 、previousSibling、innerHTML、innerText熟练工作会用
NAN null nudefinedNAN null nudefined区别和理论熟练工作会用
jsonjson存储和传输数据的格式熟练工作会用
三种使用范围内联式、外联式、外链式熟练工作会用
变量、常量var 变量名 = 值;

const 常量名 = 值;
熟练工作会用
数据类型基本类型、复合类型熟练工作会用
数组var myArray=new Array();

var cars=[“a”,“b”,“c”];
熟练工作会用
string类型new String(s);方法

{charAt()concat()fontsize()indexOf()search()sub()substr()valueOf()toString()}
熟练工作会用
运算符乘法*、加法+、赋值=、除法/、系数%、减法-、递加++、递减–熟练工作会用
注释单行注释以 // 开头,

多行注释以/开头以 /结尾。
熟练工作会用
内置函数confirm()\eval()\alert()<br>
isNaN()\parsetFloat(" “) \parseInt(” ")\prompt()
熟练工作会用
自定义函数function fn(){}熟练工作会用
DOM对象document实操看上面DOM操作工作会用
BOM对象windows实操熟练工作会用
内置对象window对象、下拉对象熟练工作会用
原型prototype原型理论、原型扩展、实例化熟练工作会用

jQuery

(学习建议必学)

jQueryjQuery理论JavaScript类库、函数入口、选择器、事件、操作DOM对象

熟悉工作会用
核心函数jQuery(),$(".class")精通工作会用
jQuery选择器元素选择器\属性选择器\CSS 选择器精通工作会用
jQuery文档处理插入append、删除empty()、删除 remove()、复制clone()、替换replaceWith()、查找eq(index)、parent()、next()精通工作会用
jQuery事件基础事件、复合事件、事件冒泡、事件对象的属性熟练工作会用
jQuery遍历 ( " l i " ) . e a c h ( f u n c t i o n ( ) a l e r t ( ("li").each(function() alert( ("li").each(function()alert((this).text())

});
熟练工作会用
函数入口 ( f u n c t i o n ( ) ) ; < b r > < b r > (function(){ });<br><br> (function());<br><br>(document).ready(function(){ });精通工作会用
jQuery对象var person = new Object();

var person = {};
精通工作会用
选择器表单选择器、基本选择器、层次选择器、内容过滤选择器、子元素过滤选择器、表单对象属性过滤选择器精通工作会用
动画效果显示和隐藏、淡入和淡出、 改变元素熟练工作会用
操作DOMcss-dom、操作样式、查询、操作节点、操作属性、节点遍历熟练工作会用
表单验证精通工作会用
常用方法data(),each()

serialize(),bind()
熟练工作会用
ztreezTree(setting, [zTreeNodes])熟练工作会用

Ajax

(学习建议必学)

Ajax理论XMLHttpRequest\基本AJAX方法\同步&异步\JSON转换\跨域\JSON语法熟悉面试会问,工作会用
Get请求Get实操精通工作会用
Post请求Post实操精通工作会用
同步和异步async:false;

async:true
实操精通精通
XMLHttpRequest实操创建XMLHttpRequest对象使用熟悉工作会用(偶尔)
基本AJAX方法jQuery.ajax();$.ajax();精通精通
底层$.ajax这是理论知识看看文章就可以了熟悉学习会用
JSON语法{属性名:属性值,属性名:属性值…}精通工作会用
JSON转换JSON.stringify(jsonObj);JSON.stringify(jsonObj);

JSON.parse(jsonStr);$.parseJSON(jsonStr);

eval("(" + jsonStr + “)”);
精通工作会用
Ajax跨域问题这是100%遇到的问题,百度相关文章学习一下熟悉面试会问,工作会用

XML

(学习建议熟悉,学习会用。工作少不了的配置文件,减轻学习压力以熟悉为主

,这一块什么技术含量的,只要实操dom解析xml两边就会了)

XML结构XML文档结构熟悉学习和框架会用
语法XML基本语法熟练学习和框架会用
解析xmlAX,DOM,dom4j,jdom,commons-digester熟悉学习和框架会用
节点操作实操解析两遍就会了,SelectNodes方法使用熟悉学习和框架会用

JDBC

(学习建议必学)

JDBCConnection类获取数据库连接熟练学习会用
DriverManager类驱动原理熟练学习会用
Statement类学会操作和原理熟练学习会用
ResultSet类封装熟练学习会用
增删改查实现CRUD的操作必须精通学习会用,工作会用
PreparedStatement类预处理对象实现CRUD(增删改查)熟练学习会用
JDBC事务管理事务机制精通学习会用,工作会用
连接池druid连接池,c3p0连接池熟练学习会用,工作会用,面试会问
JDBCTemplate的使用学会使用熟练工作会用(偶尔)
DBUtils利用DBUtils编写通用 DAO熟练学习会用,工作会用(偶尔)
Map封装Map封装一条记录_Map和List封装多条记录熟练学习会用,工作会用
分页分页的实现熟练工作会用

MySQL

(学习建议必学,标注蓝色的是重点)

MySQL概念DDL、DML、DQL、DCL数据库软件,理论熟悉熟练面试会问
insert数据的添加精通工作会用
delete数据的删除精通工作会用
update数据的修改精通工作会用
select查询(含分页,分组,排序,带函数,子查询等)精通工作会用,面试会问
多表关系一对一、一对多、多对多精通工作会用
三大范式1确保每列的原子性,2确保表中的每列都和主键相关,3确保每列都和主键列直接相关,而不是间接相关精通工作会用,面试会问
外键建表时候添加外键、动态添加外键熟练工作会用
数据库备份mysqldump工具备份,mysqlhotcopy工具备份,表的导出和导入、mysqlbinlog恢复数据熟练工作会用
事务{事务的基本要素:原子性、一致性、隔离性、持久性}{事务的并发问题:脏读、不可重复读、幻读}精通工作会用
select(增)数据的查询,分页,排序,分组,条件,外连接,内连接等等精通工作会用
存储引擎MyIsam,innodb熟练面试会问,工作会用
行锁,表锁,页面锁熟练面试会问,工作会用
配置文件my.cnf熟练面试会问(偶尔),工作会用
Mysql数据类型数值型、浮点型、字符串类型、时间日期类型精通工作会用
特殊查询子查询、联合查询、自连接查询精通工作会用
约束主键约束primary key\外键约束foreign key\唯一约束unique\非空约束not null\默认值default精通工作会用
数学函数Ceil(),floor(),round(),truncate(),mod(),exp(),pi()精通工作会用
字符串函数UPPER(columnstr)、CONCAT(columnstr1, columnstr2,…)、CONCAT_WS(separator,str1,str2,…)、SUBSTR(str,pos[,len])、LENGTH(str)、REPLACE(str, from_str, to_str)、REPEAT(str, count)、FORMAT(X,D[,locale])、RIGHT(str, len)、LEFT(str, len)
时间函数now()、sysdate()、date_format(date,format)、 time_format(time,format)、str_to_date(str,format)、makdedate(year,dayofyear)、maketime(hour,minute,second)、sec_to_time(seconds)、time_to_sec(time)等等精通工作会用
注释#,–精通工作会用
数据结构及算法B-Tree和B+Tree熟悉面试会问

Web服务器

(学习建议必学)

WebHTTP协议熟练HTTP协议工作会用
Tomcat服务器Tomcat服务器搭建熟练工作会用
Tomcat配置Tomcat配置实操熟练工作会用
目录结构Tomcat目录结构熟练工作会用
Tomcat端口配置百度文章熟练工作会用
Tomcat启动&停止实操熟练工作会用

Servlet

(学习建议必学)

ServletServlet生命周期熟悉熟悉面试会问
配置Servlet的XML配置和注解配置,ServletContext,ServletConfig熟悉工作会用(偶尔),

面试会问
请求&响应javax.servlet.http.HttpServletRequest;javax.servlet.http.HttpServletResponse;精通工作会用
Request对象和Response对象HttpServletRequest对象和HttpServletResponse对象的API熟练工作会用
重定向&转发请求转发(RequestDispatcher)的过程,重定向(sendRedirect)的工作原理。精通工作会用
路径问题相对路径与绝对路径,完全路径匹配、目录匹配、扩展名匹配精通学习会用,工作会用

工作会用
FilterFilter原理、Filter生命周期\Filter链\ Filter乱码过滤\ Filter登录过滤\Filter权限过滤精通学习会用,工作会用
ListenerWEB中八大监听器\Listener原理\Listener监听熟练学习会用,工作会用
HTTP协议网络应用层协议,规定了浏览器与web服务器之间如何

通信以及数据包的结构。回去复习网络编程知识点
熟练学习会用
Servlet程序的多种实现实现Servlet接口,继承GenericServlet类, 继承HttpServlet类熟练学习会用
线程安全问题{ServletRequest对象和Session对象是线程安全的}{ServletContext和Application对象}熟练面试会问
日志组件log4j和logback熟练工作会用
Servlet整合JDBC这是实操学习找视频学熟练学习会用

JSP

(学习建议必学)

JSP理论JSP原理熟练
JSP语法<% … %>

<%= … %>
熟练工作会用
九大对象request\Response\config<br>
Application\session<br>
Exception\page<br>
Out\pageContext
熟练工作会用(理论),面试会问
EL表达式EL使用\ EL取值\ EL的11大隐含对象\ EL逻辑运算\EL函数库|精通工作会用
JSTLJSTL核心标签库(通用、选择、循环)\ JSTL核心标签库(循环、URL)\JSTL函数标签库\自定义空标签\属性标签\体标签\函数\父标签精通工作会用
JSP组成元素静态资源、JSP脚本片段、 表达式、 JSP声明、注释、指令、动作熟悉学习会用
JSP标准动作jsp:getProperty:从JavaBean中获取一个属性值; jsp:setProperty:设置一个JavaBean中的属性值; jsp:include:在JSP页面包含一个外在文件;jsp:useBean:定义jsp页面使用一个JavaBean实例; jsp:forward:把到达的请求转发另一个页面进行处理; jsp:param:用于传递参数值; jsp:plugin:用于指定在客户浏览器中插入插件的属性;jsp:params:用于向HTML页面的插件传递参数值;jsp:fallback:指定如何处理客户端不支持插件运行的情况;熟悉学习会用,工作会用(偶尔)
域对象pageContext、request、session、application熟练工作会用
中文乱码实操常见中文乱码问题的解决方法(百度)熟练工作会用
JSP路径问题解决JSP路径问题的方法(百度文章)熟悉工作会用
MVC模式(模型-视图-控制器)模式一定要理解了,不理解重新找视频学习直到理解,不理解无法进行下一个技术学习精通学习会用,工作会用
JSP分页JSP中分页的实现熟悉学习会用

文件上传和下载

(学习建议熟悉和理解为主)

文件上传和下载文件上传原理熟悉熟悉学习会用
commons-io&commons-fileupload实操熟悉工作会用
文件上传参数控制实操熟悉工作会用
浏览器兼容性问题文件下载中文乱码&浏览器兼容熟悉工作会用
文件下载原理百度文章熟悉一下熟悉学习会用
文件下载响应头实操熟悉工作会用
文件下载中文乱码&浏览器兼容性实操熟悉工作会用

Maven

(学习建议熟练实操为主)

MavenMaven构建&自动化构建实操熟悉熟悉
本地仓库&中央仓库远程仓库、本地仓库、私服熟练工作会用
常用命令{mvn archetype:create}{mvn archetype:generate}{mvn compile}{mvn test-compile}{mvn test}{mvn site}{mvn package}{mvn install}{mvn clean}{mvn idea:idea}{mvn -Dtest package}{mvn test-compile}{mvn jar:jar}{mvn dependency:list}{mvn deploy}{mvn clean install-U}{mvn source:jar}{mvn verify}等等熟练工作会用
依赖管理传递依赖发现、依赖范围、依赖关系管理、依赖冲突的解决,继承的关系,聚合的关系熟练工作会用,面试会问
生命周期验证、编译、测试、打包、验证、安装、部署熟悉面试会问
pom.xml熟练和实操熟练工作会用
私服仓库私服仓库搭建, 本地资源上传到私服,私服下载资源到本地熟悉工作会用
maven创建web工程mvn archetype:create

-DgroupId=packageName

-DartifactId=webappName

-DarchetypeArtifactId=maven-archetype-webapp
熟悉学习会用
idea下的maven使用这个没啥说的就是熟练各个maven在idea上的按钮熟练工作会用
继承&聚合继承机制、在各个子工程中引用父工程熟练工作会用

Mybatis

(学习建议必学)

Mybatis理论熟悉熟悉面试会问
全局配置文件实操熟练面试会问,工作会用
Mapper文件sql编写,nameSpace作用域,扫描package方式面试会问,工作会用
相关APISqlSession

,SqlSessionFactoryBuilder,SqlSessionFactory
熟悉面试会问
增删改查(含1:n和n:1)Select\update\delete\insert精通面试会问,工作会用
MyBatis结果集封装resultType的使用精通面试会问,工作会用(偶尔)
连接池配置和实操熟练面试会问,工作会用
事务事务机制和实操熟练面试会问,工作会用
动态sqlif、choose、where、trim、set、foreach、like和代码片断精通面试会问,工作会用
表关系一对一、一对多、多对多精通面试会问,工作会用
延迟加载理论知识和实际操作熟练面试会问,工作会用
缓存机制一二级缓存理论和实操熟练面试会问,工作会用
别名别名机制采用package的方式精通面试会问,工作会用
#{}和${}区别和实际应用精通面试会问,工作会用
通用mapper通用mapper实操熟练工作会用
分页插件PageHelper使用熟练工作会用
Mybatis-PlusMybatis-Plus实操精通工作会用
paramenterTypeparameterType传递包装类型精通工作会用
ResultMapresultMap的使用精通工作会用
基于XML的CRUDSqlMapConfig.xml配置熟悉工作会用
基于注解的CRUDMyBatis注解开发精通工作会用
SqlSession使用范围对象SqlSessionFactory和SqlSession运用熟悉工作会用
比较原始daomapper动态代理开发方式和原始开发比较熟悉工作会用
mapper配置resultMap、配置实现一对多关联查询熟练工作会用
Mybatis Plus主键策略和分布式id生成器、自动填充、乐观锁、分页插件、逻辑删除、性能分析插件、条件构造器熟练工作会用

Spring

(学习建议必学)

Spring理论熟练熟练(因为很重要)面试会问
IOC/DIIOC容器中Bean的生命周期方法、理解IOC控制反转和DI依赖注入的概念、 泛型依赖注入熟练面试会问,工作会用
配置自动装配\使用p命名空间的配置方法\scope作用域\ 使用外部属性文件\SpEL(字面量、引用Bean、属性和方法、SeEL支持的运算运算符号)、注解配置熟悉工作会用
AOP动态代理增强,AOP xlm配置,AOP 注解配置,精通面试会问,工作会用
声明式事务声明式事务的配置熟练面试会问,工作会用
集成mybatis实操熟练工作会用
整合junit实操熟悉工作会用(偶尔)

SpringMVC

(学习建议必学)

SpringMVC理论熟悉环境搭建,执行过程及原理面试会问
SpringMvc组件熟练1、前端控制器DispatcherServlet,2、处理器映射器HandlerMapping,3、处理器Handler,4、处理器适配器HandlerAdapter,5、视图解析器 View resolver,6、视图View(jsp,framemark)面试会问,工作排bug会用
请求参数绑定精通pojo类绑定,map绑定,String绑定,HttpSession绑定,HttpServletResponse绑定,HttpServletRequest绑定等等工作会用,面试会问
常用注解精通常用注解实操@Controller

,@RequestMapping,@Resource和@Autowired,@ModelAttribute和 @SessionAttributes,@PathVariable,@requestParam,@ResponseBody,@Repository

@Component
工作会用,面试会问
实操数据类型转换、数据格式化、数据校验、处理JSON,SpringMVC整合FastJSON
Restful风格精通实操工作会用,面试会问
实现文件上传精通SpringMVC文件上传与下载工作会用
异常处理精通使用 @ ExceptionHandler 注解

实现 HandlerExceptionResolver 接口

使用 @controlleradvice 注解
工作会用,面试会问
SpringMvc中的拦截器熟练拦截器概述、自定义拦截器、

Interceptor拦截器,WebRequestInterceptor 接口,HandlerInterceptor接口
工作会用,面试会问
校验框架熟悉JSR 303、Hibernate Validator
响应数据精通String类型 ,void类型,ModelAndView ,forward 转发,redirect转发工作会用,面试会问
SpringMvc实现异步精通DeferredResult,Callable工作会用,面试会问
SpringMvc+Spring+Mybatis整合精通SpringMvc+Spring+Mybatis整合实操工作会用,面试会问

SpringBoot

(学习建议必学)

SpringBoot理论熟悉核心功能\SpringBoot的优势\依赖原理\自动配置原理\热部署\配置文件\SpringBoot缓存\SpringBoot异步任务\定时任务和邮件任务\SpringBoot安全框架面试会问
自动配置熟悉实现自动配置原理面试会问
SpringBoot

配置文件
熟练application.properties,

application.yml,

bootstrap.yml bootstrap.properties
工作会用,面试会问
映射方式熟悉映射文件方式和注解方式工作会用
事务精通实操@Transactional注解工作会用
实现RESTfull精通实操Springboot开发RESTFul工作会用
注册Servlet三大组件熟练注册Servlet\注册Filter注册Listener工作会用,面试会问
热部署熟练使用spring提供的devtools

,使用idea中JRebel插件
工作会用
拦截器精通实现HandlerInterceptor接口和使用servlet的filter拦截器。工作会用
War包部署精通实操部署工作会用
SpringBoot整合Mybatis、整合Junit熟练实操工作会用
集成Thymeleaf熟练实操工作会用

Git

(学习建议必学)

Git分支管理克隆、提交、推送、合并与回退精通面试会问,工作会用
常用命令Git常用操作命令熟练工作会用
Idea上操作git熟练工作会用
Git安装配置Git本地库搭建、Github注册与配置、Github与Git协同办公、集中式&GitFlow&Forking熟练工作会用
Git工作流### 历史分支、功能分支、发布分支、维护分支熟悉学习会用

学到这里可以就业了推荐面试项目使用springboot的项目

就业指导

1.常见面试题刷题熟练
2.自我介绍和项目经验描述熟练

为什么没有这些技术?

Hibernate、status2、Jeecg、layui、vue、bootstrap、shiro、shark、activity、osworkflow、jbpm

因为这些技术不属于新手学习范畴。学会前面的技术,是一个合格的程序员了!

以下技术为高薪就业知识

想高薪就学

**【注】**因为你已经有了Java学习能力,所以下面技术是声明学习技能点,将不再细致了到技术里面有什么对象和方法!

Java8

(学习建议,快速熟悉,吹牛够用就差不了,进公司了再好好学)

学完我列出来的足够了Lambda 表达式精通,面试问
类型推断熟练
核心函数式接口熟练
方法引用与构造器引用熟练,面试问
参数传递精通,面试问
Stream API熟练,面试问
Stream核心步骤熟练,面试问
惰性求值与内部迭代熟练,面试问
筛选与切片熟练
查找与匹配精通,面试问
映射与排序精通,面试问
归约与收集熟练
并行流与串行流精通,面试问
Optional 容器类熟练,面试问

Jvm

(学习建议,装逼专用和大公司专用,高薪必备)

学会我列出来的足够了JVM理论精通,面试问
JVM组成结构熟练,面试问
JVM-Heap三区原理精通,面试问
JVM堆、栈原理精通,面试问
JVM垃圾收集机制精通,面试问
堆内存调优精通,面试问
GC回收策略精通,面试问
GC三大算法精通,面试问

Linx

(学习建议,熟练为主,工作常用,高薪必备)

学会我列出来的足够了,不用去学其他的增加学习压力Linux系统理论熟悉,面试问
Linux网络基础熟悉
Linux常用命令熟练,面试问
Linux下Java环境的搭建和安装熟悉
Linux下Tomcat安装和配置熟悉
Linux下 MySQL 安装与配置熟悉
Shell 编程熟练,面试问

Nginx

(商城项目搭配使用,不难的技术建议熟练,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力Nginx理论熟练,面试问
Nginx静态网站部署熟练
Nginx配置虚拟主机熟练
Nginx反向代理与负载均衡熟练,面试问
Nginx配置文件和目录结构熟练,面试问

Redis

(学习建议,熟练就够了,工作也用,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力Redis入门基础和Redis/memcache/MongoDB对比熟练,面试问
Redis安装&启动熟悉
分布式数据库CAP原理熟练,面试问
Redis五大数据类型熟练
基本操作命令熟练,面试问
配置Redis.conf熟练,面试问
持久化(RDB和AOF)熟练,面试问
Redis事务控制熟练,面试问
发布和订阅熟练,面试问
Redis(Master/Slave)主从复制熟练,面试问
Jedis和Sprint Data Redis熟练

Shiro

(公司很常用的技术,一直很香)

学会我列出来的足够用了,不用去学其他的增加学习压力Shiro入门理论熟练,面试问
Shiro工作流程熟练,面试问
权限URL配置熟练
认证流程&认证Realm熟练
密码比对,MD5&盐值加密熟练,面试问
标签&权限注解熟练,面试问
授权流程熟练,面试问
会话管理、SessionDao SessionManager+redis熟练,面试问
缓存ChacheManager+redis熟练
Spring集成Shiro熟练
实现”记住我”实操,面试问

单点登录

(这个技术很香,搭配商城项目装逼用,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力单点登录理论熟练,面试问
单点登录的在项目中技术实现熟练,面试问
单点登录的认证中心熟练
单点登录项目的拦截器熟练
shiro+redis实现单点登录熟练,面试问

Quartz

(这个技术很香,搭配商城项目装逼用,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力任务调度理论熟练,面试问
调度执行以及持久性熟练,面试问
Quartz基本使用熟练
Quartz核心类熟练,面试问
Trigger 触发器熟练,面试问
Job&JobDetail熟练
JobListener监听器和TriggerListener监听器熟练,面试问
Spring整合Quartz熟练
Spring Task了解熟悉

Docker

(这个技术很香,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力Docker的核心概念理论熟练,面试问
安装Docker熟练
Docker常用命令熟练,面试问
添加国内镜像熟练
Docker file精通,面试问
项目打包到Docker容器熟练
Docker私服搭建熟练
Docker常用容器安装 ( mysql、redis、nginx、zookeeper、dubbo、fastdfs等等我就不说了)熟练,面试问

FastDFS

(这个技术很香,搭配商城使用,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力FastDFS 理论熟练,面试问
FastDFS linux安装和配置熟练
FastDFS 配置Tracker服务器熟练,面试问
配置Storage服务器熟练
配置启动项熟练
FastDFS 文件上传精通,面试问
FastDFS nginx的http访问代理配置熟练,面试问
java客户端实操精通
http访问实操精通

Elasticsearch

(这个技术很香,搭配商城使用,装逼高规格,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力Elasticsearch 理论熟练,面试问
Elasticsearch安装熟练
Elasticsearch linux环境配置熟练
kibana的理论和安装熟练
Elasticsearch 数据类型熟练
Elasticsearch dsl语句精通
Elasticsearch 数据结构mapping的使用熟练
java客户端的使用精通
Elasticsearch 导入数据和查询精通,面试问
Elasticsearch 数据检索精通,面试问

RabbitMQ

(这个技术很香,搭配商城使用,装逼高规格,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力RabbitMQ理论熟练,面试问
RabbitMQ下载安装熟练
工作原理熟练,面试问
RabbitMQ六工作模式熟练
四种交换器熟练,面试问
RabbitMQ发送消息精通,面试问
RabbitMQ监听接受消息精通,面试问
Spring整合RibbitMQ熟练

SpringCloud

(这个技术很香,搭配商城使用,装逼高规格,高薪必备)

学会我列出来的足够用了,不用去学其他的增加学习压力微服务架构理论精通,面试问
SpringCloud理论精通
注册和发现理论熟练,面试问
eureka注册中心熟练,面试问
负载均衡ribbon熟练,面试问
消费者熟练,面试问
提供者熟练,面试问
feign熟练,面试问
路由网关(zuul)熟练,面试问
鉴权JWT熟练,面试问
链接追踪(sleuth)熟练,面试问
断路器(Hystrix)熟练,面试问
断路器监控(Hystrix Dashboard)熟练,面试问
配置中心(confg)熟练,面试问
消息总线(Spring Cloud Bus)熟练
分布式事务精通,面试问
  • 26
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员小王java

学习java的路上,加油!

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

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

打赏作者

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

抵扣说明:

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

余额充值