-
Java进阶
2018-09-14 11:32:00Java进阶(一)Annotation(注解) Java进阶(二)当我们说线程安全时,到底在说什么 Java进阶(三)多线程开发关键技术 Java进阶(四)线程间通信方式对比 Java进阶(五)NIO和Reactor模式进阶...转载于:https://www.cnblogs.com/kaleidoscope/p/9645542.html
-
java进阶学习第一天_Java进阶学习资料
2020-12-28 21:38:09点击蓝字关注我们本目录是一个Java进阶干货汇总导航:Java进阶学习路线,Java进阶学习视频,Java进阶练习项目等等。这是一篇持续更新的文章!贰干货目录Java进阶教学目录(资料链接在文章底部)01Java进阶学习路线Java...点击蓝字 关注我们
本目录是一个Java进阶干货汇总导航:Java进阶学习路线,Java进阶学习视频,Java进阶练习项目等等。
这是一篇持续更新的文章!
贰
干货目录
Java进阶教学目录
(资料链接在文章底部)
01
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
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();
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必备多线程
进程和线程的理论
是并发编程中很常用的工具类,线程池,异步 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进阶学习视频
这个视频里面有基础也有进阶(后台回复java进阶,可直接获取资料)
03
Java进阶练习项目
这里推荐上面视频的配套资料
(后台回复java进阶,可直接获取资料)
04
更新中>>>>>
持续更新中,欢迎大家提出宝贵意见!
扫码关注我们
云欧Java先生
微信号|za_zuoxiansheng
定制微信|WZL997700
-
java进阶
2018-11-10 16:10:32初级java程序员的进阶之路 今天挖个坑,用两年的时间来填,写博客来监督自己。 1、javaSE:看书总结博客:《Java编程思想》、《Java核心技术:卷I基础知识》、《Java数据结构和算法》、《大话设计模式》、《Java并发... -
Java进阶资料
2021-01-14 23:58:57Java进阶资料 -
Java进阶(五十三)JAVA 注解机制
2017-02-28 19:30:12Java进阶(五十三)JAVA 注解机制 不知道大家在平时用到注解的频率多不多,注解对我们的帮助很大,能为我们节省很多工作。最直接的就是可以代替配置文件的功能,无论是基本的servlet还是常用的三大框架,里面都使用...不知道大家在平时用到注解的频率多不多,注解对我们的帮助很大,能为我们节省很多工作。最直接的就是可以代替配置文件的功能,无论是基本的
servlet
还是常用的三大框架,里面都使用了注解,并且逐渐的代替了原本繁琐的配置,大大提高了编码效率。随着注解使用的越来越频繁,我们对底层实现的了解越来越少,所以在这一章我们来好好了解一下注解是怎么实现的。
首先注解是什么?通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明(比如
@Override
),这些说明信息是与程序的业务逻辑无关,并且是供指定的工具或框架使用的。他的基本原理和流程就是:通过调用
Java
的反射机制相关API来访问annotation
信息。首先加载使用注解的类,得到class
类。然后再得到类相应的方法,成员变量。得到变量后调用相应的类、方法、成员变量的对象的isAnnotationPresent
方法判断是否使用了注解。之后通过调用相应的类、方法、成员变量的的getAnnotation
方法得到相应的注解的对象。接下来我们就可以操作注解对象完成相应的逻辑。我们来熟悉一下注解的基本结构:
最上面的一部分注解叫做元注解,就是注解的注解。@Target
指的是这个注解可以用在什么地方。他的参数可以有如下:
接着就是@Retention了,它指的是这个注解的生命周期。他的参数可以包括SOURCE、CLAS和 RUNTIME。- SOURCE:如果Retention成员取值为SOURCE,表明该注解只存在源代码当中,在编译的时候会被编译器丢掉。如重写方法时,方法上面会有@Override注解,这个注解就是source类型的。
- CLASS:表示注解会被存到字节码文件.class中,但是虚拟机载入class文件的时候不会将注解导入,因此运行时无法得到。如果不在注解中使用Retention指定,则默认的保留策略为CLASS。
- RUNTIME:不仅保存到class文件,还会被虚拟机载入内存,因此在运行的时候可以通过反射得到并且使用这些注解。我们待会的例子就是以RUNTIME为例。
- 而 @Inherited和@Documented表达的意思比较简单:@Inherited
表示子类可以继承父类的注解(有空会细讲);@Documented 表示生成doc文档的时候会包含这个注解。 - “public @interface Anno”则是定义注解的关键字以及名字。接下来就是一些成员变量了,注意:这里是变量,不要以为有个括号就是方法了。使用方式是这样的@Anno(name=“wizard”,age=12) 。
注意:成员变量只能是基本类型、String、class、enum、Annotation和以上类型的数组,而且必须是无参数、不能抛出异常。
-
Java进阶(五十五)-Java Lambda表达式入门
2017-03-18 09:09:49Java进阶(五十五)-Java Lambda表达式入门 原文链接: Start Using Java Lambda Expressions 下载示例程序 Examples.zip 。 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个”语法糖”,由... -
翁凯java进阶_MOOC_Java进阶_翁恺讲_第三周题
2020-12-24 04:37:28packagemooc_java进阶_d3周题;/*** 没有使用HashMap*/importjava.util.ArrayList;importjava.util.Scanner;public classMain {public static voidmain(String[] args) {Scanner in= newScanner(System.in);String ... -
Java进阶路线
2017-02-15 22:29:28java进阶路线,java程序员如何持续提高自己! -
Java进阶(三十七)java 自动装箱与拆箱
2016-07-23 17:21:42Java进阶(三十七)java 自动装箱与拆箱前言 这个是jdk1.5以后才引入的新的内容。java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为拆箱); 其实按照我自己... -
Java进阶(三十六)深入理解Java的接口和抽象类
2016-07-23 15:14:07Java进阶(三十六)深入理解Java的接口和抽象类前言 对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人... -
Java进阶(五十四)初识JAVA类加载机制
2017-02-28 19:36:05Java进阶(五十四)初识JAVA类加载机制 什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class文件,再由虚拟机解释给当前的操作系统去执行。这些过程都是我们看不见的,我们能... -
Java进阶(二十五)Java连接mysql数据库(底层实现)
2016-03-19 15:03:47Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了。现在需要使用java完成一个实验,其中涉及到java连接数据库。让自己来写,记忆中已无从搜索。特将之前使用的方法做一简单... -
Java自学路线图之Java进阶自学
2020-03-08 21:26:59文章目录Java语言进阶技术要点Java进阶自学--面向对象进阶Java进阶自学--常用APIJava进阶自学--异常Java进阶自学--集合Java进阶自学--IOJava进阶自学--多线程Java进阶自学--网络编程Java进阶自学--LambdaJava进阶... -
Java基础,Java进阶,Java数据结构,十大算法
2020-04-04 18:45:48内容包括(Java基础,Java进阶,Java数据结构,十大算法),其中Java01 : 基础。Java02: 进阶。Java03 : 数据结构。Java04:算法。 -
Java进阶高手课-核心篇
2020-04-17 14:16:14Java进阶的必经之路! 【超实用课程内容】 本课程囊括了Java语言进阶的核心知识点,以真实场景项目实战为导向,循序渐进,深入浅出的了解Java并发编程、JVM虚拟机、网络编程和MySQL应用,讲解... -
Java进阶(四十七)Socket通信
2016-10-15 15:39:32Java进阶(四十七)Socket通信 今天讲解一个 Hello Word 级别的 Java Socket 通信的例子。具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是否有连接请求。然后运行Client端,客户端发出... -
Java进阶(三十八)快速排序
2016-07-28 21:41:35Java进阶(三十八)快速排序前言 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个... -
Java进阶训练营
2021-01-11 21:46:05——/Java进阶训练营/├──第二周| ├──Java进阶训练营-1.JVM 核心技术(三):调优分析与面试经验 1.mp4 415.38M| ├──Java进阶训练营-1.JVM 核心技术(三):调优分析与面试经验 2.mp4 188.96M| ├──Java... -
Java进阶(四十)Java类、变量、方法修饰符讲解
2016-08-30 10:00:51Java进阶(四十)Java类、变量、方法修饰符讲解Java类修饰符 abstract: 将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。 final: 将一个类生命为最终(即非继承类),表示他不能被其他类继承。 private:... -
Java进阶(三十二) HttpClient使用详解
2016-06-24 11:56:51Java进阶(三十二)HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,... -
Java进阶(三十九)Java集合类的排序,查找,替换操作
2016-08-07 15:55:59Java进阶(三十九)Java集合类的排序,查找,替换操作前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组。获取到ArrayList对象后,我们可以根据Collection中的方法... -
Java进阶高手课-基础篇
2020-04-28 13:47:31Java进阶的必经之路! 【超实用课程内容】不说假大空的技术术语,实实在在帮助初中级工程师提高Java技术栈开发能力,以真实场景项目实战、面试突击为导向。从Java基础性能提升为切入点,循序渐进,... -
Java进阶(三十一) Web服务调用
2016-06-24 11:44:51Java进阶(三十一) Web服务调用前言 有朋友问了一个问题:如何调用已知的音乐服务接口,服务文档如下: https://www.evernote.com/shard/s744/sh/c37cd503-68fc-4406-b8f2-5e90095be303/19b67e36aa2ccd19 查看代码... -
剑指offer-Java进阶高手课
2020-06-15 16:34:33套餐中一共包含6门Java进阶必学的核心知识(共78课时) 课程1:《Java进阶高手课-Java基础编程提升》 课程2:《Java进阶高手课-并发编程透彻理解》 课程3:《Java进阶高手课-深入JVM虚拟机》... -
Java进阶(四十三)线程与进程的区别
2016-09-28 08:50:07Java进阶(四十三)线程与进程的区别1、线程的基本概念 概念:线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的... -
Java 进阶书籍
2019-08-14 21:10:48Java 进阶书籍 《Java编程思想》 作者:Bruce Eckel 版本(年):第4版(2007-6) 书评 《Effective Java中文版》 作者:[著]Joshua Bloch;[译]俞黎敏 版本(年):第3版(2018-12) 书评 《Effective Java Third ...
-
国务院《新能源汽车产业发展规划(2021—2035年)》
-
旅游系统_设计说明书.docx
-
互联网公司-软件测试笔试题大全 .docx
-
latex学习笔记-插入清晰的Visio与matlab图片
-
品位现代家居生活网页模板
-
jdk api 1.8_google.chw
-
SpringMVC-HelloSpringMVC注解版
-
牛客16464 神奇的幻方
-
ndk开发环境!移动开发者升职加薪的8项技能,2年以上经验必看
-
算法导论(基础知识)——编程大牛的必经之路
-
Gitbook
-
分享Axure RP 9 Mac版授权码和密钥
-
try catch finally看xd的讲解
-
QTTabBar_Setup_zh-CN.zip
-
会三项技能,技术岗竞争优势能飙升64.5%?
-
官方VJC1.564.rar
-
vue PC端项目,做不同屏幕大小的自适应(一)亲测有效
-
【数据分析-随到随学】机器学习模型及应用
-
Java-基于LinkedList手写一个消息队列
-
数据库复习-3