04 2020 档案

当动态代理遇到ioc
摘要:在 work log 2020.4.28中,我们使用jdk动态代理处理方法的事务增强 图1 问题的引出 根本原因:动态代理和cglib,会丢掉被代理类成员变量和方法上的注解 起先,我们禁止被增强的类里面使用注解注入依赖,代码会自动审核这种情况 private static final class T 阅读全文

posted @ 2020-04-29 17:09 silyvin 阅读(370) 评论(0) 推荐(0) 编辑

线程池的原理
摘要:本质就是利用无限循环run的thread➕BlockingQueue手写阻塞队列 2020.12.6 补充 务必注意线程池的有效shutdown机制,这关系到线程池被有效回收,具体可见:匿名野线程池导致oom 2021.3.9 本例子中,当没有任务时,并没有用BlockingQueue.take阻塞 阅读全文

posted @ 2020-04-27 23:43 silyvin 阅读(211) 评论(0) 推荐(0) 编辑

synchroned原理与对象头(yet)
摘要:结合对象头 https://mp.weixin.qq.com/s/KFgAY3g4tfuaKumVswID4A 阅读全文

posted @ 2020-04-25 23:45 silyvin 阅读(217) 评论(0) 推荐(0) 编辑

mysql压力测试与qps监控
摘要:https://blog.csdn.net/csd753111111/article/details/100428512 脚本: #cat mysql_qps.sh #!/bin/bash MYSQL_CON="/usr/local/mysql/bin/mysql" TIME="$1" OLD_QU 阅读全文

posted @ 2020-04-25 00:08 silyvin 阅读(1660) 评论(0) 推荐(0) 编辑

一种mysql jvm死锁
摘要:在只读事务与普通读 work log 中假设了一种死锁,非mysql死锁,而是jvm死锁 CREATE TABLE `mytest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, PRIMARY KEY (` 阅读全文

posted @ 2020-04-17 23:28 silyvin 阅读(569) 评论(0) 推荐(0) 编辑

时区
摘要:0 原则 0.1 前端(浏览器时间)-json序列化-jdbcurl(服务器内存,db时区相对于服务器及jvm时区)-db(db时间) 0.2 时间戳在地球的每一个角落都是相同的,但是在相同的时间点会有不同的表达方式,所以有了另外一个时间概念,叫时区。 结论: 时间戳代表绝对时间 mysql db 阅读全文

posted @ 2020-04-14 11:37 silyvin 阅读(847) 评论(0) 推荐(0) 编辑

意向锁
摘要:https://www.zhihu.com/question/51513268/answer/648362223 设想一下,假如没有这道“关卡”检查表锁被是否被占有, 而是直接去获取行锁,会是什么结果? 可以看到, 即使表X锁已经被事务A持有,事务B仍然可以获得行锁,这显然是错误的. 没有意图锁以后 阅读全文

posted @ 2020-04-12 22:33 silyvin 阅读(411) 评论(0) 推荐(0) 编辑

死锁摘录【yetdone】
摘要:1 https://www.cnblogs.com/gimin/p/5466247.html 尽量避免事务,缩小事务范围(避免gap锁)(个人认为) 按表顺序,记录id顺序依次访问 直接申请足够级别的锁,即排他锁,而不应先申请共享锁,更新时再申请排他锁,因为当用户申请排他锁时,其他事务可能又已经获得 阅读全文

posted @ 2020-04-12 15:56 silyvin 阅读(207) 评论(0) 推荐(0) 编辑

CompletableFuture(yet)
摘要:https://www.jianshu.com/p/b3c4dd85901e 回调函数比较通用的解释是,它是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事 阅读全文

posted @ 2020-04-10 15:14 silyvin 阅读(444) 评论(0) 推荐(0) 编辑

模拟future
摘要:import java.util.concurrent.ExecutionException; abstract public class MyFuture { private volatile Object returnVal; private volatile Boolean isExcepti 阅读全文

posted @ 2020-04-10 14:18 silyvin 阅读(100) 评论(0) 推荐(0) 编辑

一次使用jmap评估是否可以把类似session信息挂靠在某未知框架的某暴露对象上
摘要:有一个需求,要在内存里缓存当前用户信息,我们不被允许直接访问session,原有框架只暴露了一个App对象,我们想把用户信息挂靠该对象,我们需要确定: 1 该对象是否用户相关,还是用户无关;如果是用户无关,哪个用户进来,框架暴露同一个app对象,那么自然无法使用2 用户下线后,该对象是否会回收,否则 阅读全文

posted @ 2020-04-09 17:30 silyvin 阅读(139) 评论(0) 推荐(0) 编辑

只读事务与普通读
摘要:只读事务为了扩大事务的范围(single sql -》 java function),解决多次select不相等(即不可重复读)的问题;相当于在外面盖了一个整体的rr的隔离级别 注意隔离级别不是只读事务的目标,因为即使autocommit true,也有事务隔离级别可单独设定,只不过是对于singl 阅读全文

posted @ 2020-04-08 00:09 silyvin 阅读(1238) 评论(0) 推荐(0) 编辑

多重分表分库一般解决方案
摘要:1 设 d个地区,每个地区c个集群,每个集群b个库,每个库a个表 index=hash % (a*b*c*d) 地区所在:index/(a*b*c) index=index % (a*b*c) 集群所在:index/(a*b) index=index % (a*b) 库所在:index/(a) in 阅读全文

posted @ 2020-04-06 22:32 silyvin 阅读(196) 评论(0) 推荐(0) 编辑

mat解决oom一般方法实践
摘要:1 mac安装mat --data 可写路径 2 /** * https://www.cnblogs.com/silyvin/p/12640045.html */ public class MAT { // -Xmx100m -XX:+PrintGCDetails -XX:+HeapDumpOnOu 阅读全文

posted @ 2020-04-05 23:52 silyvin 阅读(349) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示