- 博客(8)
- 收藏
- 关注
原创 JDK 普通操作 之 List 合集
hello,大家好啊,不知道大家在平时的工作、学习中List用的多不多,这个我猜比Thread用的人多多了,人均会用 今天就和大家一起看一下一些List的源码 用的最最最最最多的List之ArrayList: 先看看ArrayList里面有哪些属性 /** 默认容量,当不传入初始化容量时默认为10,但是不是在构造时初始化的,是在第一次添加时扩容的 */ private static final int DEFAULT_CAPACITY = 10; /** 空实例的空实现(用于构造函数传入初始化容量为0或传
2021-02-10 14:14:08
490
9
原创 JDK “偷懒“ 操作 之 Set 集合
大家好,相信大家在平时的日常工作、学习中Set集合用的是比较多的吧 今天,我们就看看JDK中Set的迷幻操作 先看一下HashSet 内部维护了一个HashMap,就这? private transient HashMap<E,Object> map; 每一个构造函数都是在初始化这个map public HashSet() { map = new HashMap<>(); } public HashSet(Collection<? extends E> c)
2021-02-09 15:12:37
424
3
原创 JDK 经典操作 之 HashMap 7、8 之间的差别
大家好,相信大家平时学习生活中HashMap肯定用的不少,反正在面试中你熟读其源码,了解其原理,知道其什么地方不合理,会导致什么样的问题 今天带大家看一看JDK1.7和JDK1.8的HashMap的源码 他们两个的差别随便抓一个还在上幼儿园的小盆友都说的头头是道 小朋友奶里奶气的说:1.7是数组+链表,1.8优化成了数组+链表(红黑树) 真的就这吗? 我们来看看其源码(每段源码前我用自己的话进行了一番描述,可能有点丑看不懂,就直接看源码吧,关键地方我也进行了注释) 先看1.7的 属性: /** 构造函数没传
2021-02-08 18:23:43
2962
7
原创 JDK 正经操作 之 AQS 独占源码
大家好,不知道大家平时在工作学习中JUC用的多吗,反正在面试里面你用的挺多且很6 今天给大家讲讲JUC的老父亲AQS(AbstractQueuedSynchronizer),JUC下的类基本上都是基于AQS AQS最老的老父亲是AbstractOwnableSynchronizer 在这个类里面呢,并没有实现什么,只是定义了一个属性,表示当前独占线程 private transient Thread exclusiveOwnerThread; AbstractOwnableSynchronizer有两个子
2021-02-07 17:15:16
452
3
原创 JDK 正经操作 之 ThreadPoolExecutor 状态
大家好,线程池不知道大家常不常用,反正在面试中你很常用且6的飞起 今天讲一下线程池的状态,注意,是线程池的状态,不是线程的状态,有可能大家平时忽略了这个点 无所谓,今天直接???? 先上一波源码看一看 /** * The main pool control state, ctl, is an atomic integer packing * two conceptual fields * workerCount, indicating the effective number of threads
2021-02-06 16:35:27
479
5
原创 JDK的 “骚操作“ 之 Runnable
大家在平时工作学习中不知道用线程用的多不多,反正在面试里面你随时都在用且6的飞起 不知道大家有没有注意到这样一个问题 @FunctionalInterface public interface Runnable { public abstract void run(); } 如果你没发现有什么不妥 我就再贴一段代码 @FunctionalInterface public interface Callable<V> { V call() throws Exception; }
2021-02-05 15:46:15
1771
2
原创 JDK 的 “水操作“ 之 假装精确
JDK 的 “水操作” 之 假装精确 在java祖传父类Object里面有这么一个方法 public final native void wait(long timeout) throws InterruptedException; 这个方法的作用是让当前线程等待,退出CPU退出监视器 直到Object.notify()、Object.notifyAll() 刚好选中该线程 、超时、被中断 他有一个兄弟方法,水的一匹,直接贴上代码 public final void wait(long timeout,
2021-02-04 17:39:03
872
9
原创 不讲码德
朋友们好啊,我是java开发工程师man 刚才有个朋友问我man老师发生什么事了 我说怎么回事,给我发了几张截图 我一看,哦! 原来是昨天,有两个前端,二十多岁,一个工龄,两年多,一个工龄五年多 他们说,诶,有一个说是我在前端写页面想吐了,man老师你能不能教教我java 诶,帮助提升一下,我的技术。 我说可以。我说你在前端写死页面,不好用,他不服气。 我说小朋友:你两个页面来请求我一个接口,他整不卡。 他说你这也没用。我说我这个有用,这是架构,传统开发是讲架构的高内聚低耦合。 二百多个请求的页面,整不卡我
2020-11-25 19:03:07
679
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人