03 2023 档案
摘要:explain:https://www.cnblogs.com/developer_chan/p/9211487.html mysql常见面试题:https://blog.csdn.net/hahazz233/article/details/125372412 分区:https://www.jian
阅读全文
摘要:springmvc三大组件及作用 https://blog.csdn.net/qq_44322555/article/details/108710075 springmvc工作流程 https://blog.csdn.net/weixin_42174815/article/details/10774
阅读全文
摘要:原理 spring通过属性加载器将starter依赖包中META-INF目录下spring.factories文件里key=org.springframework.boot.autoconfigure.EnableAutoConfiguration对应value加载进来, 然后通过反射实例化并注入到
阅读全文
摘要:《DDD实战-欧创新》 DDD是什么? “DDD是一种指导思想和方法论,指导拆分复杂业务、划分边界和建设领域模型,并最终指导微服务系统建设落地(draft)” 如何使用DDD “使用事件风暴进行业务领域建模 -> 使用DDD的战术设计,设计聚合、实体、值对象、领域服务、领域事件以及应用服务等领域对象
阅读全文
摘要:参考:https://blog.csdn.net/a745233700/article/details/122402303 一、2PC: 2PC,两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段,并且由事务协调者来协调所有事务参与者,如果准备阶段所有事务参与者都预留资源成功,则进行第二阶段
阅读全文
摘要:what 实例化一个完整的bean主要分两步,实例化(调用构造器在堆内存中分配一块内存)和初始化(给属性赋值); ClassA中有ClassB属性,ClassB中有ClassA属性,导致在bean初始化填充属性时,导致循环依赖 when 在bean生成周期的属性填充阶段(populateBean)
阅读全文
摘要:用户线程:主线程的子线程,当主线程结束时,用户线程也会结束。 守护线程:一种特殊的线程,它是在后台运行的,当所有用户线程结束时,守护线程也会随之结束。例如gc线程 public class ThreadDemo { public static void main(String[] args) { T
阅读全文
摘要:ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal的使用场景和实现原理 类型 使用场景 实现原理 ThreadLocal 解决多线程共享变量问题,为每个线程创建一个变量副本 使用ThreadLocalMap<ThreadLocal,
阅读全文
摘要:https://blog.csdn.net/qq_34375473/article/details/121071860 spring框架中数据库的默认隔离级别和传播行为 参照Transactional注解: Innodb 引擎在repeatable read隔离级别下,如何解决部分幻读的问题 快照读
阅读全文
摘要:一. grep grep命令是一个Linux文本处理工具,它与egrep命令属于同一系列,这些命令都是用于对文件和文本执行重复搜索任务的工具。我们可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。grep是全局搜索正则表达式并打印出匹配的行,其抓取数据是贪婪模式,即不会漏掉过滤
阅读全文
摘要:get ab -n 200 -c 20 "http://test.com/100075?taskId=123&name=xiaozhao" 注意:当url中包含requestParam时,需要有双引号,否则参数丢失 post ab -n 10 -c 2 -p post.txt -T "applica
阅读全文
摘要:【排查步骤】 1.使用:jps -vl,找到java进程的PID和启动时设置的jvm参数 2.使用:jinfo [PID] 命令查询jvm的配置参数,检查内存配置是否合理;如果解决不了继续第3步 3.使用:jmap -histo:live PID 命令查看哪个类型的对象占用了大量的内存 或使用:jm
阅读全文
摘要:1.执行死锁代码 public class DeadLockTest { public static void main(String[] args) throws InterruptedException { //a线程持有a锁,并尝试获取b锁;b线程持有b锁,并尝试获取a锁 Object loc
阅读全文
摘要:第一步:top,找到使cpu飙高的进程PID 第二步:top -Hp [进程PID] ,查看线程资源使用情况,假设下面是96009进程中各个线程的资源使用情况 第三步: printf "%x\n" [线程PID,这里是30309],将线程PID转换为16进制 第四步:jstack -l 96009
阅读全文