摘要: FutureTask<V>实现了RunnableFuture<V>接口。内部变量包含Sync类型的变量sync。 public V get() throws InterruptedException, ExecutionException { return sync.innerGet(); } 为对 阅读全文
posted @ 2017-08-28 15:23 菜鸟麦迪粉 阅读(150) 评论(0) 推荐(0) 编辑
摘要: AQS内部采用CLH队列。CLH队列是由节点组成。内部的Node节点包含的状态有 static final int CANCELLED = 1; static final int SIGNAL = -1; static final int CONDITION = -2; static final i 阅读全文
posted @ 2017-08-25 17:26 菜鸟麦迪粉 阅读(404) 评论(0) 推荐(0) 编辑
摘要: DelayQueue<E>继承于AbstractQueue<E>实现BlockingQueue<E> 内部变量包括ReentrantLock 类型的lock以及条件Condition类型的available 同时内部维护一个优先级队列q。 内部的方法offer(E e): public boolea 阅读全文
posted @ 2017-08-23 11:41 菜鸟麦迪粉 阅读(231) 评论(0) 推荐(0) 编辑
摘要: ScheduledThreadPoolExecutor继承与基础线程池类ThreadPoolExecutor并实现ScheduledExecutorService接口。 其中ScheduledExecutorService继承与ExecutorService接口并添加了scheduleAtFixed 阅读全文
posted @ 2017-08-21 18:33 菜鸟麦迪粉 阅读(835) 评论(0) 推荐(0) 编辑
摘要: 连接的有效性检测是所有连接池都面临的一个通用问题,大部分HTTP服务器为了控制资源开销,并不会 永久的维护一个长连接,而是一段时间就会关闭该连接。放回连接池的连接,如果在服务器端已经关闭,客 户端是无法检测到这个状态变化而及时的关闭Socket的。这就造成了线程从连接池中获取的连接不一定是有效的。这 阅读全文
posted @ 2017-08-21 16:14 菜鸟麦迪粉 阅读(467) 评论(0) 推荐(0) 编辑
摘要: http://www.2cto.com/kf/201605/513259.html 阅读全文
posted @ 2017-08-21 14:58 菜鸟麦迪粉 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发 阅读全文
posted @ 2017-08-21 14:24 菜鸟麦迪粉 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方。此外,它不能前后移动流中的数据。如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区。 J 阅读全文
posted @ 2017-08-21 14:15 菜鸟麦迪粉 阅读(5896) 评论(0) 推荐(0) 编辑
摘要: 虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验,转换分析和初始化,最终形成可以被虚拟节直接使用的JAVA类型,这就是虚拟机的类加载机制。 类从被加载到虚拟机内存到卸载出内存的生命周期包括:加载->连接(验证->准备->解析)->初始化->使用->卸载 初始化的5种情况: 1.使用n 阅读全文
posted @ 2017-08-21 14:01 菜鸟麦迪粉 阅读(5302) 评论(1) 推荐(1) 编辑