随性记
阿木木fe
知识就是用来共享的,别整得好像除了你这里没别的地方获取一样。
展开
-
ThreadLocal源码浅析
ThreadLocal源码解析ThreadLocal简介 ThreadLocal是一个本地线程副本变量工具类,在每一个线程中都创建一个ThreadLocalMap对象,简单来说ThreadLocal就是一种以空间换取时间的做法,每个线程都可以访问自己内部的ThreadLocalMap对象的value,通过这种方式避免资源在多线程之间共享。 常用于解决共享变量属性的线程安全问题。ThreadLocal的set方法 public void set(T value) {原创 2021-10-30 19:05:34 · 172 阅读 · 0 评论 -
压测导致的tomcat假死。
小记:早上面试完,回到公司已经中午12点,不知道为何面试完了以后感觉很头痛。听到经理在给他们说一个弄了三天没弄明白的bug。要是我没准备要走,这本来就是我的任务,所以我当仁不让了。(只要我不说,不会有人知道找bug是我的兴趣爱好)顶着头痛,掉头发的风险开始找bug(晚上洗澡真的掉了好多)问题描述一、tomcat6 7进行压测没有问题轻轻松松过百。二、tomcat9 进行压测,连5个并发都抵不住。三、项目跑起来没有任何错误日志,IDEA控制台没有打印任何错误。四、有关页面的请求页面能正常返回,但是关原创 2020-10-21 14:46:31 · 431 阅读 · 0 评论 -
一些我日常工作使用的慢查询相关命令
– 打开慢查询日志,不使用后关闭,打开后会影响mysql的性能set global log_slow_queries = off;set global slow_query_log=1;– 查看日志是否开启show variables like “%slow%”;show variables like ‘%slow_query_log%’;– 查看日志保存在何处show variables like ‘%log_output%’;– 设置查询超时sql记录的阈值show variables原创 2020-08-21 09:24:50 · 84 阅读 · 0 评论 -
应用层解决读写分离方案
介绍解决数据库读写分离方案有,应用层解决数据库读写分离方案,中间件解决数据库读写分离两种方案。本文只介绍应用层解决读写分离方案。第一种方案(推荐)一 、查看AbstractRoutingDataSource类首先查看一个spring的一个类AbstractRoutingDataSource,查看其属性,注意红框。二、如何配置多数据源再查看类中的其它方法:setTargetDataSources与afterPropertiesSet(InitializingBean接口的实现)。setTarg原创 2020-08-18 16:21:25 · 399 阅读 · 0 评论