神秘的FrontCache

用jmap -histo的时候,发现堆内存中有很多奇怪的对象,其class name为

java.util.HashMap$FrontCache

跳转到HashMap的源码中,直接搜索FrontCache关键字,居然一无所获

在Google上搜索一番,发现了一篇博文,链接如下

http://developers-club.com/posts/172295/

 

其大意为:在JVM启动参数里加上AggressiveOpts选项,JVM会使用alt-rt.jar取代rt.jar

alt-rt.jar中的HashMap的实现中有FrontCache这个子类,其作用是创建一个相当大的Object数组cache[],当存入Map的key为Integer类型的时候,就把value放到cache[key]中,取的时候就直接从cache数组里取

这个东西只能在key为Integer类型时起到优化作用,而且会牺牲一些空间

 

posted @   qeDVuHG  阅读(652)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示