![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java功底
文章平均质量分 66
主要包括:Java基础、集合、多线程、IO、异常、泛型、反射、注解、JVM、Java8新特性
GL-Yang
标准的95后,喜欢编程,向往简约而不简单的生活
展开
-
关于ThreadLocal原理分析及其使用
ThreadLocal更像是对其他类型变量的一层包装,通过ThreadLocal的包装使得该变量可以在线程之间隔离和当前线程全局共享。线程的隔离性和变量的线程全局共享性得益于在每个Thread类中的threadlocals字段。(从类实例对象的角度抽象的去看Java中的线程!!!ThreadLocalMap中Entry的Key不管是否使用弱引用都有内存泄露的可能。引起内存泄露主要在于ThreadLocal对象和Entry中的Value对象,因此要确保每次使用完之后都remove掉Entry!原创 2023-03-19 11:59:54 · 220 阅读 · 0 评论 -
07动态代理
try {//获取到当前生成器的类加载器 ClassLoader loader = getClassLoader();//当前类加载器对应的缓存 缓存key为类加载器,缓存的value为ClassLoaderData 这个类后面会再讲 Map < ClassLoader , ClassLoaderData > cache = CACHE;//先从缓存中获取下当前类加载器所有加载过的类 ClassLoaderData data = cache . get(loader);原创 2023-04-21 00:16:17 · 409 阅读 · 0 评论 -
getClass和.class作用
Java基础原创 2023-03-08 22:15:03 · 807 阅读 · 0 评论 -
泛型学习笔记
泛型详细笔记原创 2023-02-27 20:53:51 · 162 阅读 · 0 评论 -
Hash源码解读
(2)构造器(3)put方法流程[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYuaZ1et-1665857551260)(C:/Users/Lenovo/Desktop/1699fb0ff779422299b9b117e14e0ec0.png)](5)获取Hash值(6)获取数组下标(7)把元素插到数组中(头插法)(8)扩容详解2、小结如果加载因子设置为1,空间利用率得到很大的满足,但很容易碰撞,产生链表->查询效率低如果加载因子设置为0.原创 2022-10-16 02:13:13 · 306 阅读 · 0 评论 -
集合框架面试题
h&(length-1)等效h%length操作,等效的前提就是length必须是2的整数倍减少Hash碰撞,尽量使Hash算法的结果均匀利于数组扩容这个算法应该如何设计呢?我们首先可能会想到采用%取余的操作来实现。但是,重点来了:“取余(%)操作中如果除数是2的幂次则等价于与其除数减一的与(&)操作(也就是说 hash%length==hash&(length-1)的前提是 length 是2的 n 次方;)。原创 2022-10-15 16:35:33 · 171 阅读 · 0 评论 -
2、面向对象和面向过程的区别?
面向过程与面向对象区别原创 2022-09-20 23:26:48 · 230 阅读 · 0 评论 -
1、Java语言有哪些特点
谈谈你对Java的理解原创 2022-09-20 22:27:16 · 170 阅读 · 0 评论 -
Java单例多例的线程安全问题
Java单例多例的线程安全问题1、成员变量是保存在堆中,所有线程都能访问;局部变量是保存在每条线程的各自的栈中,互不影响。2、单例模式下成员变量会有线程安全问题,因为每条线程都可能会访问到该成员变量。3、多例模式下则不会有这问题,不会有这问题的原因是 栈中的对象分别指向堆中属于自己的成员变量。...原创 2020-09-17 15:01:37 · 1220 阅读 · 0 评论 -
控制语句和数组
1.三种控制结构 顺序 选择 循环2.Math.random()是令系统随机选取大于等于0.0且小于1.0的伪随机double值3.switch中的表达式的结果值必须是整数、字符、或枚举量值4.switch case语句:从匹配处顺序执行,直到遇到break或结束5.switch语句中,default可以不写6.循环结构模拟实现了现实世界中...转载 2019-06-26 17:52:36 · 144 阅读 · 1 评论 -
基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是-128(-2^7); 最大值是127(2^7-1); 默认值是0; byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一; 例子:by...转载 2019-04-04 15:54:58 · 105 阅读 · 0 评论