threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal ...
背景 项目是简单的web项目,多用户登陆的商家管理系统,使用ThreadLocal缓存登陆用户的信息 duid,用户唯一id bug描述 在测试环境多次登陆后,调用查询接口查出的数据时有时无 排查过程 通过商户id和用户的duid给日志打上唯一标识 测试环境日志太多了 ,以便grep,排查后发现数据和日志还是时有时无,在排查中发现duid有时对有时错,于是duid便成了突破口。顺藤摸瓜,找到了拦截 ...
2021-11-03 17:28 0 104 推荐指数:
threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好的做法是将调用threadlocal的remove方法. 在threadlocal ...
最近发现一些服务检查报错 ,异常如下: 根据内容显示明显是 HystrixTimeoutException 请求超时了,但是根据全局记录的整个请求的时间,如下图所示也才3s。 ...
前言 最近做文件下载缓存的时候,有这么一个需求,缓存文件有一个最大值限制,如果文件下载下来要超过缓存的最大值,那么就不进行下载. 我的方案 使用固定核心线程数的线程池执行下载任务 每次 ...
> 线上用户存储数据后查看提示无权限 前言 不知道什么时候年轻的我曾一度认为Java没啥难度,没有我实现不了的需求,没有我解不了的bug 直到我遇到至今难忘的一个bug 。 线上用户存储数据后查看提示无权限 初次定位 明明自己添加的数据,为什么提示 ...
问题起因 一个对外提供的接口,中间需要调用第三方接口,涉及到三方机密问题,其中使用到了安全随机数之前的写法如下 被solar扫面到不符合规范于是就改成下面的: bug现象 之前所有调用对外暴漏的服务的时候都是正常的,第二天莫名其妙的报错 ...
FILE * popen(const char * command, const char * type)popen函数会通过fork产生子进程,然后从子进程中调用/bin/sh -c执行参数comm ...
说到条件变量,首先说下互斥锁,互斥锁是最一种同步形式,用于保护临界区,以保证任何时刻只有一个线程在执行其中的代码(假设互斥锁由多个线程共享),来保证共享数据的完整性,上锁过程如下图; ...
编程经验:一个由<Windows.h>引起的bug~ 文章一 转自:http://www.mamicode.com/info-detail-506772.html 1. 问题描述 最近遇到一个莫名其妙的bug,上网查找,没有找到正确的解决办法,难道大家都没遇到?于是我说一说 ...