Java EE
曲终人散121
努力。
展开
-
BlockingQueue--4 SynchronousQueue
参考1 https://www.cnblogs.com/dwlsxj/p/synchronousqueue-unfair-pattern.html原创 2020-12-01 01:17:58 · 96 阅读 · 0 评论 -
线程池体系(四)--ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor用于定时任务 (1)指定延时后执行任务(2)周期性重复执行任务。原创 2020-11-23 02:17:31 · 357 阅读 · 0 评论 -
线程池体系(三)--ThreadPoolExecutor
1 简述2 组成2 .1 构造函数ThreadPoolExecutor有很多重载的构造函数, public ThreadPoolExecutor(int corePoolSize, //核心线程数 int maximumPoolSize,//最大线程数 long keepAliveTime, //线程空闲时间,如果线程池当前拥有超过corePoolSize的线程,那么多余原创 2020-11-23 02:14:51 · 126 阅读 · 1 评论 -
ReentrantLock
2 组成public ReentrantLock() { sync = new NonfairSync();}public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync();}2.1 主要成员只有一个private final Sync sync;2.2 主要内部类abstract static class Sync extends AbstractQueued原创 2020-11-16 03:38:05 · 65 阅读 · 0 评论 -
定时任务对比
转载于 https://blog.csdn.net/u012394095/article/details/794709041 什么是分布式定时任务把分散的,可靠性差的计划任务纳入统一的平台,并实现集群管理调度和分布式部署的一种定时任务的管理方式。叫做分布式定时任务。2 常见开源方案elastic-job xxl-job , quartz , saturn, opencron , antares2.1 elastic-jobelastic-job 是由当当网基于quartz 二次开发之后的分布转载 2020-11-05 20:20:29 · 258 阅读 · 1 评论 -
Arrays.sort
1对于基本类型算法步骤1.对于很小的数组(长度小于47)会使用插入排序,大于286选择merge排序,之间使用双轴快排。2.选择两个点P1,P2作为轴心,比如我们可以使用第一个元素和最后一个元素。3.P1必须比P2要小,否则将这两个元素交换,现在将整个数组分为四部分:(1)第一部分:比P1小的元素。(2)第二部分:比P1大但是比P2小的元素。(3)第三部分:比P2大的元素。(4)第四部分:尚未比较的部分。在开始比较前,除了轴点,其余元素几乎都在第四部分,直到比较完之后第四部分没有元素。4原创 2020-11-01 20:07:02 · 120 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
转载:https://louluan.blog.csdn.net/article/details/24589193 class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,转载 2020-10-07 20:15:07 · 148 阅读 · 0 评论 -
JNDI
1.JNDI是什么JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一。2 .能解决什么样的问题程序员应该不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服...原创 2019-11-18 00:24:49 · 99 阅读 · 0 评论