-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
优化threadlocal #822
优化threadlocal #822
Conversation
简单看了一下,有几个问题需要讨论一下:
|
|
用ArrayBlockingQueue做了一个简单对象池,是否可行?
|
1 按我的理解,虚拟线程结束的时候,它的ThreadLocal会被gc吧。如果是这样,多个CacheThreadLoca好像问题不大?最多几十个字节。 |
简单来说,这样就可以了。 pool不能自动缩小的问题,就像以前output里面的字节数组一样,没有简单的好办法,我以前用weak ref,靠ygc来定期清理,也不是很好的方案。 |
OK,我明天按照这个方案再改一下2,3; CacheThreadLocal确实可以回收,嗯,这块应该影响不大,我还原一下 |
jetcache-core/src/main/java/com/alicp/jetcache/support/Kryo5ValueEncoder.java
Outdated
Show resolved
Hide resolved
jetcache-core/src/main/java/com/alicp/jetcache/support/KryoValueEncoder.java
Outdated
Show resolved
Hide resolved
jetcache-test/src/test/java/com/alicp/jetcache/anno/support/CacheContextTest.java
Outdated
Show resolved
Hide resolved
还有个java encoder/decoder也需要改 |
jetcache-test/src/test/java/com/alicp/jetcache/support/JavaEncoderTest.java
Show resolved
Hide resolved
这个我合并了,还有一些地方在使用synchronized,你要改吗? |
我之前主要看了core. |
大量虚拟线程下ThreadLocal可能内存泄漏
缓存类型先用weak处理