
JavaSE(Thinking in Java)
文章平均质量分 90
大猫的Java笔记(公众号同号)
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解ThreadPoolExecutor源码
1.ThreadPoolExeCutor是什么?线程池的作用是为了解决频繁创建和销毁线程的性能问题,类似的有MySQL连接池。2.基础介绍 ThreadPoolExecutor得7个参数ThreadPoolExecutor最常用的构造方法有7个参数如下:1.corePoolSize(核心线程数),核心线程数可以理解为公司的人员。无论忙还是不忙你都在公司上班,不会说闲的时候就被开除。2.maximumPoolSize(最大线程数),最大线程数可以理解...原创 2021-10-20 14:07:52 · 271 阅读 · 0 评论 -
死磕到底-深入理解ReentrantReadWriteLock源码
1.线程安全、如果对num进行累加操作,使用10个线程,每个加1000次,最后应该是10000,但是你会发现不是10000。 当使用了synchronized再次进行累加操作。此时累加的值就是10000,这是因为synchronized能够保证每次只有一个线程进入临界区。2.ReentrantReadWriteLock、 JDK中synchronized的使用是非常广泛的,例如线程安全的HashTable,HashTa...原创 2021-10-20 13:58:08 · 177 阅读 · 0 评论 -
从强、软、弱、虚四种引用到ThreadLocal使用及源码
1.各大培训机构,价格10万的视频 Java架构师视频免费送。2.各种电子书籍经典Java书籍免费送3.关注下方我的公众号进行免费获取。4.个人技术总结免费赠送1.强软弱虚在聊ThreadLocal存不存在内存泄漏问题之前,我们先看看Java的4种引用,分别为强引用、软引用、弱引用和虚引用。1.1 强引用 强引用是我们可能接触最多的一种引用,例如我们写一个类Student stu = new Studnet,...原创 2020-11-26 10:17:25 · 331 阅读 · 0 评论 -
Debug jdk源码,如何给源码加注释?
1.各大培训机构,价格10万的视频 Java架构师视频免费送2.各种电子书籍经典Java书籍免费送3.关注下方我的公众号进行免费获取4.个人技术总结免费赠送1.不按套路进入 一个学弟问我,你觉得面试中问什么面试题的频率最高?我毫不犹豫的回答:“源码”,尤其是HasMap,我所经历的面试官几乎必问。朋友听后心一慌,自己还没看过。于是朋友准备去Debug看一下HashMap的源码实现,他写了下面的代码准备进行Debug。然后发现怎么进入不了构...原创 2020-11-26 10:09:35 · 1887 阅读 · 3 评论 -
LinkedHashMap是如何实现有序的
1.LinkedHashMap有序如果你用过HashMap那么肯定知道HashMap是不能保证有序性的,之所以HashMap不能保证有序性是因为存放数组位置的数据时根据hash函数决定的;但是有没有能够保证有序性的Map呢?那就是LinkedHashMap,下面我们通过代码来看一下HashMap的无序和LinkedHashMap的有序性。HashMap无序LinkedHashMap有序 Li...原创 2020-11-16 18:26:14 · 10381 阅读 · 1 评论 -
Java中静态代码块、代码块以及构造函数执行顺序详解
在JavaSE的基础笔试题中经常会出现这三个的一个执行顺序,那么他们的执行顺序究竟是怎么样的呢?通过代码我们可以直接看一下最终结果(代码如下)public class testOne extends TestTwo{ public testOne(){ System.out.println("子类构造方法"); } { System.out...原创 2019-05-31 18:12:14 · 17583 阅读 · 5 评论 -
手写一个JDK1.7的简版HashMap
要实现的功能1.能够添加key和value的键值对2.能够根据get方法传入key获取其对应的value1.HashMap基本原理JDK1.7的HashMap主要采用的是数组+链表进行存储的,数组存放的是一个类,而这个类中有四个字段,分别是hashcode(用于存放在数组的指定下标下面)、key、value、next(发生hash冲突时指向下一个类从而形成链表)put方法基本...原创 2019-08-05 23:08:43 · 246 阅读 · 1 评论