1.线程池概览 线程池主要用于线程资源的管理,防止频繁的创建以及销毁线程,提升资源的利用率。JDK中的线程池实现,本质上来说就是基于生产者-消费者模型来实现的,如图所示: 向...
1.线程池概览 线程池主要用于线程资源的管理,防止频繁的创建以及销毁线程,提升资源的利用率。JDK中的线程池实现,本质上来说就是基于生产者-消费者模型来实现的,如图所示: 向...
设计模式之单例模式 有时候需要控制一个类只创建一个对象,比如说创建这个对象比较消耗性能、或者这个类比较占用内存,那么就可以通过单例模式来设计这个类。 思考 单例模式的实质是控...
设计模式之设计原则 在产品的开发迭代中,需求修改是经常遇到的,一旦需求改变了,那么程序代码也需要跟着做出相应的调整,在程序开发中前人总结出了几个设计原则来应对这种变化,基于这...
java线程状态 知识导读 JVM 实现都把 Java 线程一一映射到操作系统底层的线程上,把调度委托给了操作系统 Thread类的线程状态 对应 操作系统层面的线程状态 T...
java并发之FutureTask 知识导读 FutureTask实现了Runable接口,是一个可执行的任务 FutureTask封装了Callable实例、运行任务的线程...
java并发之CyclicBarrier 知识导读 CyclicBarrier是一个阻塞器,当阻塞线程达到CyclicBarrier指定数量时,所有线程被唤醒执行,否则阻塞该...
java并发之Semaphore 知识导读 Semaphore相等于是一个电影院装3D眼镜的篮子,每个线程来会申请一定数量的眼镜,如果够就进去看电影,不够就排队等待;每个看完...
java并发之CountDownLatch 知识导读 CountDownLatch相等于是一个加了n个锁的门,只要有一个锁没有打开,所有的调用await方法的线程都阻塞排队等...
java synchronized原理 思考 当synchronized加的是偏向锁或者轻量级锁的时候,调用 wait方法会怎样对象的wait方法要依赖Monitor对象的实...
java并发之ReentrantReadWriteLock 知识导读 读写锁内部维护了两个分离的锁,读锁和写锁,两个锁共用一个AQS实现。state的高16位记录读锁资源占用...
java并发之ReentrantLock 知识导读 了解ReentrantLock与synchronized的区别 ReentrantLock是支持可重入的排它锁,同时支持公...
CMS CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器。这是因为CMS收集器工作时,GC工作线程与用户线程可以并发(Co...
java并发之AQS原理 知识导读 AQS定义了同步队列+阻塞线程+唤醒线程的基本实现。是否该阻塞(tryAcquire)和释放资源(tryRelease)由具体子类实现具体...
java并发之ThreadLocal 知识导读 ThreadLocal主要作用于线程的上下文,而不是线程安全,如果ThreadLocal中放一个共享对象,是无法保证线程安全的...
spring-IOC 创建bean 循环依赖 在创建bean的时候会存在依赖注入的情况,即A依赖B,B又依赖A。在创建bean的时候为了避免循环依赖,创建完bean对象后,依...
spring-IOC BeanDifinition注册 BeanFactory继承体系 Spring中声明了BeanFactory接口,该接口提供了获取Bean的功能。从继承...
spring类型转换器(四) 在spring实例化和spring mvc中涉及到了大量的属性注入。这个过程中不可避免的就是类型转换,这章将会详细说明spring中类型转换器的...
spring类型转换器(三) 格式化Formatter Converter用来将源数据类型转换目标数据类型,不过有时候一个数据类型会对应不同格式的字符串,如日期类型在不同国家...
spring类型转换器(二) 类型转换器Converter Converter 除了使用PropertyEditor,spring自己还提供了另外一种类型转换器Convert...
spring类型转换器(一) 在spring容器初始化的时候,BeanDefinition中配置的bean的属性值一般都为String类型,如何将String类型转换为Bea...