leeqingshui 最近的时间轴更新
leeqingshui

leeqingshui

V2EX 第 578729 号会员,加入于 2022-04-20 09:54:13 +08:00
数据库保存或更新返回值的问题, void or int ?
Java  •  leeqingshui  •  2022-06-08 21:12:30 PM  •  最后回复来自 leeqingshui
6
求解:关于服务器基础线程和 Tomcat 的线程数关系
程序员  •  leeqingshui  •  2022-04-21 21:08:29 PM  •  最后回复来自 leeqingshui
2
leeqingshui 最近回复了
挺好看的,点赞👍
m1 mac 连续不关机使用一个月会变卡,每月需要关机一次才行~
286 天前
回复了 craftx 创建的主题 问与答 有什么好办法,将网页内容保存为 markdown
试试 Typora ,全选网页内容复制,然后粘贴到 Typora 创建的 md 文件里面,会自动转换,图片也会创建对应目录保存
ODEzNjE4OTFAMTYzLmNvbQ==
@hn16838220 ThreadLocalMap 就是被 Thread 绑定的。这句话我没有表达清楚
你题目中:为什么 ThreadLocalMap 不直接放在线程中呢
其实,ThreadLocalMap 就是放在线程 Thread 类中的,线程 Thread 类中的 threadLocals 变量就是 ThreadLocalMap 。

虽然 ThreadLocalMap 的源代码在 ThreadLocal 中,但其实它是被 Thread 拥有维护的,就像假设有两个人 A ( ThreadLocal )、B ( Thread ),A 有枪的图纸( ThreadLocalMap ),但真正造出来的枪( threadLocals ,即 ThreadLocalMap 类的对象)是属于 B 的,A 只负责造枪,但枪的拥有者是 B
ThreadLocalMap 就是被 Thread 绑定的。

之所以泄漏是因为用的是 Tomcat 自带线程池,默认一直运行了 200 个线程。
这些线程默认都有一个变量名为 threadLocals 的 ThreadLocalMap ,ThreadLocal<T> 的 set 方法是往 Thread 的 threadLocals (就是 ThreadLocalMap ) put key 为 ThreadLocal ,value 为 <T>( ThreadLocal 的泛型对象 T ),如果在一次请求中 set 后忘了调 ThreadLocal 的 remove() 方法,那么请求的 Thread (由于是 Tomcat 线程池中的 Thread ,所以在应用运行过程中一直存在)的 threadLocals 的 key 为 ThreadLocal 的对象就不会被清除,就会出现内存泄漏的问题。

如果直接 new 了一个普通的 Thread ,那么不会出现内存泄漏的问题,因为 普通的 Thread 不会一直运行,GC 会回收
359 天前
回复了 NoKey 创建的主题 程序员 异步记录日志,主体数据回滚了怎么办
异步写的日志为啥需要回滚?
这个需求好奇怪呀,不想在日志表里看出错的日志?
一般不是需要看日志中的标识字段查询请求的处理结果是否成功嘛?

正常来说:代码出错了应该会报异常,对异常做回滚处理,而在日志表一般直接是用相关标识字段来标识(比如 Is_success_flag )请求是否处理成功,比如 Is_success_flag 为 1 ,那么请求是成功的,Is_success_flag 是 0 ,那么请求是失败的(失败也可以把出错信息记录到另一字段存储)。

为啥需要回滚呢???
@amwyyyy 找到一圈 issue 终于找到原因了,不是数据结构的问题,原因是由于日志配置的问题引起的:日志配置不能配置为异步输出
2023-02-06 15:02:41 +08:00
回复了 wangyikai 创建的主题 随想 王部长回村过年
文笔可以。
2023-02-02 16:40:30 +08:00
回复了 ak1ak 创建的主题 程序员 如何优雅地处理包含继承关系的业务代码
可用模版方法模式解决:基础类同属性的校验规则写在父类的钩子函数中,如果业务子类不需要覆盖,那么钩子函数不需要重写,如果业务子类需要覆盖,那么就进行重写,这样可以兼容变化和不变的代码
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3336 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 13:22 · PVG 21:22 · LAX 06:22 · JFK 09:22
Developed with CodeLauncher
♥ Do have faith in what you're doing.