点击蓝字 关注我们
本目录是一个Java进阶干货汇总导航:Java进阶学习路线,Java进阶学习视频,Java进阶练习项目等等。
这是一篇持续更新的文章!
贰
干货目录
Java进阶教学目录
(资料链接在文章底部)
01
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 | |||
String类 | 熟练(面试喜欢问) | 一定要多练构造函数,工作中经常操作字符串, 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流 | |||
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(); | 熟悉 | 学习会用,工作会用(偶尔) |
注解 | |||
理论知识 | Annotation语法、定义、应用、属性、元注解、注解与反射 | 熟悉 | 工作会用 |
自定义注解 | 熟练 | 学会自己写一个注解出来 | 工作会用(偶尔) |
实操 | 亲手自定义注解 | 实操 | 工作会用 |
元注解 | @Repeatable、@Inherited 、@Target、@Documented、@Retention | 熟悉 | 工作会用 |
预置的注解 | @Override 、@SafeVarargs、@Deprecated 、@SuppressWarnings 、@FunctionalInterface | 熟练 | 工作会用 |
JUC必备多线程 | |||
进程和线程的理论 | 是并发编程中很常用的工具类,线程池,异步 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) | 熟练 | 面试会问 |
Callable | Callable接口的实现实操 | 熟练 | 面试必问 |
ReadWriteLock 读写锁 | 熟练 | 熟练 | 面试必问 |
线程池 | newCachedThreadPool、newFixedThreadPool、newSingleThreadExecutor | 熟练 | 面试必问 |
线程八锁 | 1. 两个普通同步方法,两个线程,标准打印, 打印?\2. 新增 Thread.sleep() 给 getOne() ,打印?\3. 新增普通方法 getThree() , 打印?\4. 两个普通同步方法,两个 Number 对象,打印?\5. 修改 getOne() 为静态同步方法,打印?\6. 修改两个方法均为静态同步方法,一个 Number 对象?\7. 一个静态同步方法,一个非静态同步方法,两个 Number 对象?\8. 两个静态同步方法,两个 Number 对象? | 熟练 | 面试必问 |
02
这个视频里面有基础也有进阶(后台回复java进阶,可直接获取资料)
03
Java进阶练习项目
这里推荐上面视频的配套资料
(后台回复java进阶,可直接获取资料)
04
更新中>>>>>
持续更新中,欢迎大家提出宝贵意见!
扫码关注我们
![9ff5de4fa1465e168d5b73c1e72c1a99.png](https://i-blog.csdnimg.cn/blog_migrate/ccb0b7dd6babfc29573d22823df452b1.png)
云欧Java先生
微信号|za_zuoxiansheng
定制微信|WZL997700