05 2020 档案

摘要:1 为什么要有Buffer Pool 如果没有Buffer Pool,所有的操作都是随机IO,每秒钟可以支撑的请求取决于IOPS,最多几百,而且响应时间也会很感人。因此,为了提高MySQL支持的并发数和快速响应,引入了Buffer Pool。 2 Buffer Pool的简单图解 实际上,在对数据库 阅读全文
posted @ 2020-05-31 22:13 zerodseu 阅读(325) 评论(0) 推荐(0)
摘要:1 无连接池,服务只有一个数据库连接 此时服务多线程执行SQL语句的时候会争用唯一一个数据库连接,性能差,需要排队 2 无连接池,每个线程创建一个数据库连接 此时服务多线程执行SQL语句的时候都针对每次SQL执行请求创建一个数据库连接,使用完了需要销毁。由于创建和销毁数据库连接开销大,且可能会耗尽数 阅读全文
posted @ 2020-05-31 19:55 zerodseu 阅读(166) 评论(0) 推荐(0)
摘要:/* * 当一个任务通过execute(Runnable)提交后,假设当前运行的线程数目 = running_thread_num * * 增加工作线程以及放入队列的策略 * ① if running_thread_num < corePoolSize * 即使其他线程都是idle的,也会创建一个新 阅读全文
posted @ 2020-05-29 22:18 zerodseu 阅读(124) 评论(0) 推荐(0)
摘要:最近看了下Java线程池的源码,ExecutorService里面关于shutdown和shutdownNow的注释不太能理解啥意思。 直接翻译字面意思是,开启一个有序的关闭,先前提交的任务会被执行,但不接受新任务。如果已关闭,则调用不会产生任何其他影响。但是这个方法不会等待已提交任务完成执行。 这 阅读全文
posted @ 2020-05-23 18:38 zerodseu 阅读(2431) 评论(0) 推荐(0)
摘要:1 使用包名,则Alias默认为对象简单类名,其中第一个字母替换为小写 注释:这里的TDemoDO别名默认为tDemoDO 2 使用全限定类名,xml中配置Alias 3 使用全限定类名 + @Alias 4 使用package + @Alias 总结 : 个人觉得使用package + Alias 阅读全文
posted @ 2020-05-22 19:05 zerodseu 阅读(1404) 评论(0) 推荐(0)
摘要:1 针对未提交事务的刷盘策略 No Steal和Steal No Steal:未提交的事务数据页不可以写入磁盘 Steal:未提交的事务数据页可以写入磁盘 2 针对提交事务的刷盘策略 No Force和Force No Force:提交的事务数据页必须写入磁盘 Force:提交的事务数据页也可以不写 阅读全文
posted @ 2020-05-14 23:41 zerodseu 阅读(1435) 评论(0) 推荐(0)
摘要:```javaimport java.util.concurrent.atomic.AtomicInteger;/** * @author zerodsLyn * created on 2020/5/10 */public class MultiThreadSerialPrint { private final Thread[] threads; /** * 打印线程数目 ... 阅读全文
posted @ 2020-05-10 18:33 zerodseu 阅读(245) 评论(0) 推荐(0)
摘要:Java的Object.wait(long)在等待时间过去后会继续往后执行吗 Object.wait(long)方法相比于wait,多了个等待时长,那么当等待时长过去后,线程会继续往下执行吗? 1. 单个线程执行 2. 多个线程并发执行 第一种情况下,运行结果 t1: I am in t1: I a 阅读全文
posted @ 2020-05-08 20:34 zerodseu 阅读(1034) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1510490/202005/1510490-20200504134836884-756866479.png)![](https://img2020.cnblogs.com/blog/1510490/202005/1510490-20200504134844537-1676672243.png)![](https://img... 阅读全文
posted @ 2020-05-04 13:49 zerodseu 阅读(112) 评论(0) 推荐(0)
摘要:LinkedList 1 类图 2 字段和内部类 3 构造器 4.2 addLast 4.3 add(int index, E element) 5 删 6 改 7 查 8 遍历和迭代器 避免每次调用get(i),这样的性能开销较高 阅读全文
posted @ 2020-05-04 13:40 zerodseu 阅读(109) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/1510490/202005/1510490-20200504133632594-1950223468.png) 阅读全文
posted @ 2020-05-04 13:37 zerodseu 阅读(96) 评论(0) 推荐(0)
摘要:AbstractList 1 类图 2 字段 3 构造器 4 增 1. 先内部确认容量 2. 数组buffer末尾添加元素 3. 返回true 5 删除 7 更新 8 查询 阅读全文
posted @ 2020-05-04 13:26 zerodseu 阅读(99) 评论(0) 推荐(0)
摘要:1 jps jps ml 2 jstack top Hp 31951 以线程模式查看进程的所有线程情况 printf '%x' 31998 值为7cfe 打印某个线程的16进制 jstack 31951 | grep 7cfe A 20 jstack l pid 3 jstat jstat gc P 阅读全文
posted @ 2020-05-04 12:59 zerodseu 阅读(117) 评论(0) 推荐(0)
摘要:```java public class CountDownLatch { /** * Synchronization control For CountDownLatch. * Uses AQS state to represent count. */ private static final class Sync extends AbstractQueuedSynchronizer { Syn 阅读全文
posted @ 2020-05-04 12:51 zerodseu 阅读(155) 评论(0) 推荐(0)