java
文章平均质量分 96
矛始
好记性 + 烂笔头
展开
-
java并发-AbstractQueuedSynchronizer
AQS是个什么东西AbstractQueuedSynchronizer是java并发包下大部分的同步组件的底层基础框架,包括ReentrantLock、Semaphore、CountDownLatch等,有点类似在上文中可以基于ThreadPoolExecutor构造FixedThreadPool,CachedThreadPool,SingleThreadExecutor。虽然在开发中很少基于A...原创 2020-01-21 15:17:06 · 7708 阅读 · 0 评论 -
java并发-ThreadPoolExecutor
线程池,使用池中某线程来执行提交的任务,通常使用Executors的工厂方法来生成线程池解决两个问题:当有大量异步任务时,使用线程池可以减少了每个任务的调用开销,所以提供了比较好的性能它们还提供了绑定和管理资源的方法,包括执行任务集合时消耗的线程。每个ThreadPoolExecutor还维护一些基本统计信息,比如已完成任务的数量。状态变量RUNNING:接受新任务并且处理阻塞队...原创 2019-11-26 17:39:33 · 7000 阅读 · 0 评论 -
java集合-ArrayList
1. ArrayList特点ArrayList实现了List接口的,底层是由一个动态数组维护着,简单地概括一下它的主要特点: 1. 允许所有类型的元素,包括null(元素可重复) 2. 数组容量可变,并提供了操控接口 3. 随机访问效率高,例如:size, isEmpty, get, set, iterator, listIterator等操作,但对于add,delete操作性能比较差 4.原创 2016-11-05 14:12:54 · 7171 阅读 · 0 评论 -
java集合-LinkedList
1. LinkedList特点LinkedList是一个实现了List和Deque接口的双向链表,学过数据结构的话应该就很容易理解它的实现原理,它的内部维护链表的头元素和尾元素,所以一些像get,set操作都需要从链表头或者尾部开始,因此它的随机访问性能不高 1. 允许所有类型的元素,包括null(元素可重复) 2. 插入以及删除操作效率高,只需要改变元素之间的关联关系 3. 随机访问性能差,原创 2016-11-05 14:32:34 · 7300 阅读 · 0 评论 -
java集合-HashMap
1. HashMap特点HashMap基于哈稀表(或者叫哈希表,不是指Hashtable)实现Map接口,它允许为null的key以及value,而且不保证映射的顺序,毕竟当容量到阈值时会进行扩容,原map中的所有元素会被重哈稀。HashMap经常拿来跟Hashtable进行对比,前者除了不同步以及允许null值外,其它大致上都跟后者差不多 HashMap class is roughly eq原创 2016-11-05 14:44:01 · 7236 阅读 · 0 评论 -
java与tomcat7类加载机制
1. java类加载器近来了解tomcat的类加载机制,所以先回顾一下java虚拟机类加载器,如果从java虚拟机的角度来看的话,其实类加载器只分为两种:一种是启动类加载器(即Bootstrap ClassLoader),通过使用JNI来实现,我们无法获取到到它的实例;另一种则是java语言实现java.lang.ClassLoader的子类。一般从我们的角度来看,会==根据类加载路径==会把类加载...原创 2017-01-04 11:03:45 · 13418 阅读 · 0 评论 -
java-NIO梳理
1. 前言新IO或非阻塞IO,是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,NIO几个异于传统java IO特点: 1. 从面向流的字节处理到面向缓冲区的数据块处理 2. 基于Selector实现可I/O多路复用 3. 基于Channel可双向传输数据 4. 其它一些高级特性:管道之间数据传输、零拷贝等。Java NIO 几个核心组件:Channels(通道)Buffers(缓原创 2017-03-25 17:47:58 · 7325 阅读 · 6 评论 -
Object类相关方法
1.equals实现对非null对象的等价关系判断自反性,对于任何非null引用对象x,x.equals(x)=true对称性,对于任何非null引用对象x和y,x.equals(y)=y.equals(x)传递性,对于任何非null引用对象x,y和z,如果x.equals(y),y.equals(z),则x.equals(z)一致性,对于任何非null引用对象x和y,多次调用x....原创 2019-06-11 17:11:35 · 6942 阅读 · 0 评论 -
Thread类相关方法
Thread各状态线程某时间点只能处于一种状态。这些状态是虚拟机状态,与操作系统线程状态无关。NEW:线程尚未启动的状态,调用start之前RUNNABLE:可运行、就绪状态,表示已经在JVM中执行,但是同一时间只有一线程获取到CPU资源,所以虽然在JVM层面多个线程一直处理RUNNABLE状态,但是在操作系统层面并不是真正得到CPU资源运行BLOCKED:线程因为等待monitor锁而...原创 2019-08-14 17:47:43 · 7046 阅读 · 0 评论