![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
She_lock
get busy living,or get busy dying.
展开
-
Java常用四大线程池用法以及ThreadPoolExecutor详解
一、为什么用线程池? 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 线程并发数量过多,抢占系统资源从而导致阻塞 对线程进行一些简单的管理 二、ThreadPoolExecutor讲解 在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java中的线程池,就可以直接学习他了对线程池的配置,...原创 2018-03-08 16:12:30 · 4528 阅读 · 0 评论 -
源码分析ThreadLocal及其应用
ThreadLocal用于保存某个线程共享变量,对于同一个ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。 源码分析: 核心方法: 1、ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。 2、ThreadLocal.set: 设置ThreadLocal中当前线程共享变量的值。 3、ThreadLocal...原创 2019-02-26 11:01:12 · 288 阅读 · 0 评论 -
常用集合之LinkedHashMap源码浅析
众所周知 HashMap 是一个无序的 Map,因为每次根据 key 的 hashcode映射到Entry数组上,所以遍历出来的顺序并不是写入的顺序。 因此 JDK 推出一个基于 HashMap 但具有顺序的 LinkedHashMap 来解决有排序需求的场景。 它的底层是继承于 HashMap实现的,由一个双向链表所构成。 类图 源码 数据结构 public class Link...原创 2018-08-17 17:34:39 · 4322 阅读 · 1 评论 -
常用集合之HashSet源码浅析
类图 源码 构造方法 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Ser原创 2018-08-17 16:25:29 · 4347 阅读 · 0 评论 -
常用集合之HashMap源码浅析
类图 源码 构造方法 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V&amp原创 2018-08-17 15:56:52 · 4372 阅读 · 0 评论 -
常用集合之LinkedList源码浅析
上一篇 【ArrayList和Vector源码解刨对比】 先看 LinkedList 部分源码: public class LinkedList<E> extends AbstractSequentialList<E&amp原创 2018-08-17 14:32:36 · 4331 阅读 · 0 评论 -
常用集合之ArrayList和Vector的区别源码浅析
类图 由上图可知: ArrayList 实现了List、 RandomAccess、Cloneable、java.io.Serializable 接口: 而List 继承了Collection接口(Java可以多实现[implements],但只能单继承[extends])。 源码分析 构造方法 public class ArrayList<E&am原创 2018-08-17 11:59:44 · 4263 阅读 · 0 评论 -
JDK动态代理机制
看个例子吧: 设计如下一个模型,Subject 是一个接口,RealSubject是其实现类。Proxy是用来代理RealSubject,生成一个代理对象。可以通过调用代理对象来起到调用RealSubject的效果。 时序图如下: talk is cheap ,show me the example. ok,接下来看看具体例子代码。 在java的动态代理机制中,有两个重要的...原创 2018-05-15 15:37:37 · 4693 阅读 · 0 评论 -
接口回调用法解析
应用场景:比如我写一个工具,下载任务,下载任务可能成功,可能失败。为了解耦,我的这个下载工具类只能专门用来下载,如何处理成功和失败,这个就交给调用方来完成。 回调接口 /** * @描述: 结果回调 */ public interface ResultCallback { void success(); void failure(Exception e); } ...原创 2018-05-13 10:31:07 · 5096 阅读 · 0 评论 -
java8 lambda表达式
匿名对象 事件处理 对集合进行的一系列处理 forEach filter Map Reduce distinct 计算集合元素的最大值、最小值、总和以及平均值 表达式语法: (params) -> expression (params) -> statement (params) -> { statements } 如果你的方法不对参数进行修...原创 2018-05-02 12:30:47 · 4206 阅读 · 0 评论