- 博客(11)
- 收藏
- 关注
原创 ThreadPoolExecutor
1.拒绝策略接口:public interface RejectedExecutionHandler { void rejectedExecution(Runnable r, ThreadPoolExecutor executor);}实现:1.AbortPolicy 策略,直接抛出异常;2.CallerRunsPolicy 策略只要线程池未关闭,直接在调用者线程中,运行当前被丢弃的任务;...
2018-07-03 12:50:39 506
原创 Optional类
public final class Optional<T> 构造函数私有化;不能new 实例;不能被继承;Optional 类主要解决的问题是空指针异常(NullPointerException)本质上,这是一个包含有可选值的包装类,这意味着 Optional 类既可以含有对象也可以为空。成员变量:其中: EMPTY:是方法的公共实例,如empty()方法; value:为空...
2018-05-30 10:57:18 2476
原创 查看本机git ssh key公匙
1.打开git bash 或是idea terminal2.输入 cd ~/.ssh3.ls4.cat id_rsa.pub
2018-05-27 02:02:29 40255 1
原创 GC垃圾回收算法
在这里简单介绍一下 垃圾回收相关算法: 1.引用计数法: 原理:为每个对象配备一个计数器,当有任一对象引用,计数器就加一,当引用失效,计数器就减一; 缺点:无法处理循环引用(两个对象间相互引用)的问题,所以不适合用于jvm的垃圾回收;2.标记-清除算法: 原理:将垃圾回收分为 标记阶段,清除阶段; 标记阶段:标记所有从根节点开始的可达对象...
2018-05-16 18:12:15 239
原创 win10内嵌linux 安装jdk
之前在win10安装内嵌linux,先安装的ubuntu,但是一致进入切换不到root用户,所以没有对 profile文件的写权限;没办法只好卸载;网上下载 1.cmd命令进入;2.键入 lxrun /uninstall /full,然后根据提示输入y即可开始卸载。然后安装安装成功 su root 成功;通过 cp 命令将本地jdk转到 linux /java 目录下通过 ta...
2018-05-10 23:10:13 2462
转载 ReentrantReadWriteLock 底层源码
ReentrantReadWriteLock implements ReadWriteLock, java.io.Serializable ReentrantReadWriteLock 实现 ReadWriteLock接口;/*接口中有两个方法,用于返回读锁和写锁*/public interface ReadWriteLock { Lock readLock(); Lock...
2018-05-09 09:42:48 161
转载 LinkedBlockingQueue
LinkedBlockingQueue是基于链表的阻塞式队列;其默认初始化长度为Integer.MAX_VALUE,也可以指定长度;public LinkedBlockingQueue() { this(Integer.MAX_VALUE);// MAX_VALUE = 0x7fffffff;}public LinkedBlockingQueue(int capacity) { ...
2018-05-02 22:12:37 341
转载 BlockingQueue
堵塞队列,解决多线程中数据传输问题;在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒;常用的队列主要有以下两种: 先进先出(FIFO):先插入的队列的元素也最先出队列,类似于排队的功能。从某种程度上来说这种队列也体现了一种公平性。 后进先出(LIFO):后插入队列的元素最先出队列,这种队列优先处理最近发生的事件。下面两幅图演示了Blocking...
2018-05-02 20:20:14 366
转载 Queue
Queue:队列,继承Collection接口,支持FIFO,先进先出(尾部添加头部出)队列有两种:单队列循环队列单队列就是常见的队列, 每次添加元素时,都是添加到队尾:以数组实现的队列为例,初始时队列长度固定为 4,font 和 rear 均为 0:每添加一个元素,rear 后移一位。当添加四个元素后, rear 到了索引为 4 的位置:这时 a1,a2 出队,front 后移动到 2:这时想要...
2018-04-29 10:31:24 955
转载 Future
Future的核心思想是:一个方法f,计算过程可能非常耗时,等待f返回,显然不明智。 可以在调用f的时候,立马返回一个Future,可以通过Future这个数据结构去控制方法f的计算过程。public interface Future<V> { 还没计算完,可以取消计算过程 boolean cancel(boolean mayInterruptIfRunning);判...
2018-04-29 09:38:24 768
转载 CopyOnWriteArrayList类
CopyOnWriteArrayList是个线程安全类CopyOnWriteArrayList 底层是个Object数组,且初始化长度为0transient: transient关键字主要启用的作用是当这个对象要被序列化的时候,不要将被transient声明的变量(Object[] array)序列化到本地。volatile:保证被修饰变量在内存中的可见性,在被线程修改后确保其他的引用无效;/**...
2018-04-28 09:35:58 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人