
java基础
数组、集合、异常、泛型、反射、枚举等基础
draymond7107
我回来了⊙▽⊙
展开
-
wait与notify/notifyAll
相同点都会使当前线程阻塞,让出cpu执行权不同点sleep是线程中的方法,但是wait是Object中的方法sleep方法不会释放lock,但是wait会释放,而且会加入到等待队列中sleep方法不依赖于同步器synchronized,但是wait需要依赖synchronized关键字sleep不需要被唤醒(休眠之后推出阻塞),但是wait需要(不指定时间需要被别人中断)sleep使用时间概念,到时自动进入Runnable; wait要将当前线程放入到“监视器的等待队列”中,依赖于同步原创 2021-05-27 17:52:43 · 154 阅读 · 0 评论 -
java之为什么
单个查找时,数组比链表查找快的原因数组只需对 [基地址+元素大小*k] 就能找到第k个元素的地址;而链表只能一个接一个查看。O(1) 与O(N)的区别迭代时,数组比链表查找快的原因虽然复杂度都是O(N),但是数组的迭代比链表的迭代快很多。。数组的地址是连续的,链表的地址是非连续的。。cpu缓存从内存中读取一片的数据,访问数组时,相当于从cpu缓存获取;而访问链表时,相当于从从内存中获取。增删时,数组比链表慢的原因数组增删,入库哦需要扩容时,要有数组new的操作+ copy操作而链表仅原创 2021-05-17 17:27:40 · 141 阅读 · 0 评论 -
为何内部类,枚举能实现单例模式的原因
java内部类及类加载顺序枚举的加载原创 2021-05-06 09:52:05 · 158 阅读 · 0 评论 -
java基础大纲
代码规范异常泛型反射IO网络编程集合数组链表hash原创 2021-02-22 14:35:45 · 153 阅读 · 0 评论 -
反射 reflect
1:java类的加载java类的加载是指将.class文件(可能在磁盘,也可能在网络)加载到内存中,并为之生成java.lang.class对象的实例 java中类以其全限定包名作为唯一标识,jvm中则以全限定包名和类加载器作为唯一标识。 jvm中的类加载器有三个层次:根类加载器、扩展类加载器、系统类加载器。分别加载核心类,扩展jar包中的类以及classpath等指定的类 对象具有两种类型:编译时类型和运行时类型。2:功能2.1 获取类的各个部位对应的对象Class 类原创 2020-07-30 16:22:31 · 297 阅读 · 0 评论 -
aop+反射:日志切面(获取list及其他类型值)
#1)作用 1. 获取方法的某个参数的属性的值(返回值类型不确定,需要的参数在对象中位置不确定)#2)举例 需求:记录操作日志,保存用户删除订单、购买物品等操作 2.1:注解/*** 保存记录开关* @Auther: ZhangSuchao* @Date: 2020/7/29 21:原创 2020-07-30 15:54:27 · 1986 阅读 · 0 评论 -
泛型
1:泛型定义与作用1.1:定义泛型的本质是参数化类型,也就是所操作的数据类型被指定为一个参数。。1.2:作用提供了编译时期的类型的安全监测机制2:泛型类、接口、方法3:类型通配符4:类型擦除5:泛型与数组6:泛型与反射...原创 2020-07-30 15:44:40 · 173 阅读 · 0 评论