分类: 技术

56 篇文章

线程池 ThreadPoolExecutor
常用线程池 newFixedThredaPool 固定线程数量的线程池,改线程池中的线程数量始终不变。当有一个新任务提交时,若有空闲线程,则立即执行,否则会被暂存到一个任务队列中 newSingleThreadExecutor 只有一个线程的线程池 newCachedThreadPool 可根据实际情况调整线程数量的线程池。若有空闲线程可以复用,则优先使用,否则创建新线程。执行完毕后返回线程池复用…
Timer的缺陷
Timer管理延时任务的缺陷 Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷。 Timer当任务抛出异常时的缺陷 如果TimerTask抛出RuntimeException,Timer会停止所有任务的运行。 Timer执行周期任务时依赖系统时间 Timer执行周期任务时依赖系统时间,如果当前系统时间发生变化会出现一些执行上…
java并发包
Java 并发包位于: java.util.concurrent ArrayBlockingQueue 定长阻塞队列 ConcurrentHashMap 高性能线程安全的HashMap,使用分段锁提供高能 ConcurrentLinkedQueue 高性能线程安全LinkedQueue,使用CAS操作代替锁提高性能 CopyOnWriteArrayList 线程安全的ArrayList,写时复制,…
Spring-技术内幕-IoC容器的实现
控制反转(Inversion of Control) 简单容器:BeanFactory 容器的高级形态:ApplicationContext Bean定义:BeanDefinition 定位(Resource) -> 载入、解析(BeanDefinitionReader、BeanDefinitionDocumentReader,创建BeanFactory) -> 注册(通过BeanDe…
[转]Linux常用命令
一 日期和时间 date 查看和设置系统的日期和时间 -u,来查看UTC时间(格林威治时间) date +{936b63963a8c9f2b24063da536a495a32039ff9ed9d82cacc18dd4741407c351}y--{936b63963a8c9f2b24063da536a495a32039ff9ed9d82cacc18dd4741407c351}m--{936b6396…
[转]Java开发常用Linux命令
1. 查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件。 find . -name "*.xml" 递归查找所有的xml文件 find . -name "*.xml" |xargs grep "hello world" 递归查找所有文件内容中包含hello world的xml文件 grep -H 'spring' *.xml 查找所以…