java 类名重复_更快地重复访问Java的Java类名?

java 类名重复

Claes Redestad已在core-libs-dev邮件列表上发布了消息“ RRF:8187123 :(反映)Class#getCanonicalName和Class#getSimpleName是性能问题的一部分 ”,他在邮件列表中要求审查建议的更改“以启用缓存”的另一方面,getCanonicalName和getSimpleName ,重复这已报告是一个性能瓶颈的电话。” 他补充说:“缓存将这些方法的性能提高了20倍。”

解决性能问题的一个明显解决方案可能是将类的名称作为字段添加到Class类定义中,但是Redestad在关联的错误JDK-8187123中指出:“我们应避免向java.lang中添加更多字段。课 。” 取而代之的是,该错误的解决方法是“ 背负在ReflectionData中缓存的其他反射信息 ”。

ReflectionData是在Class类中定义的一个嵌套( private static )类。 Class类对ReflectionData的引用定义为:

private volatile transient SoftReference<ReflectionData<T>> reflectionData;

Class实例拥有对嵌套类ReflectionData的实例的软引用 ( java.lang.ref.SoftReference )。 用于SoftReference的类级Javadoc指出,“软引用是由垃圾收集器根据内存需求而酌情决定的”,并且软引用“最常用于实现对内存敏感的缓存”。 这似乎是平衡性能和内存问题的不错的解决方案。

邮件列表消息引用了对Class.java的建议更改的链接 。 回顾这些更改,您可以快速看到建议的代码更改如何将三个新的String添加到ReflectionData实例中包含的属性中,以表示规范名称,简单名称和类型名称。 当然,三种方法提供向这些细节[ 另一方面,getCanonicalName() , getSimpleName() ,和getTypeName() ]被改变为使用这些值。

在撰写本文时, JDK-8187123尚未与特定的Java版本关联。

翻译自: https://www.javacodegeeks.com/2018/05/faster-repeated-access-to-java-class-names-coming-to-java.html

java 类名重复

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA for Mac在MacOS模式下的编辑快捷键(Editing Shortcut)

快捷键快捷键符号英文名称功能说明Control Space⌃SpaceBasic code completion基本的代码补全&#xff08;补全任何类、方法、变量&#xff09;&#xff0c;代码智能提示&#xff0c;因为和切换输入法快捷键冲突&#xff0c;所以基本改成Alt/Shift Command Enter⌘⇧↩Compl…

网站服务器被访问 io,服务器端被客户端访问完以后出现java.io.ioexception,socket问题。...

异常为&#xff1a;java.io.ioexception客户端代码如下&#xff1a;package package1.socket;import java.net.*;import java.io.*;import java.util.*;public class C_Scoket {Socket C_S;BufferedReader br;PrintWriter pw;String receive;public static void main(String[] …

layui绑定json_认识定制:JSON绑定概述系列

layui绑定json让我们看一下自定义JSON绑定序列化和反序列化过程时 &#xff0c; 注释模型和运行时配置如何工作。 本系列的下一篇文章介绍JSON-B如何处理自定义对象的创建。 注释方法 使用注释方法&#xff0c;可以通过注释字段&#xff0c;JavaBean方法和类来定制默认的序列…

IntelliJ IDEA for Mac在MacOS模式下的调试快捷键(Debugging Shortcut)

快捷键快捷键符号英文名称功能说明F8F8Step Over进入下一步&#xff0c;如果当前行断点是一个方法&#xff0c;不会进入当前方法体内。逐行执行程序F7F7Step Into进入下一步&#xff0c;如果当前行断点是一个方法&#xff0c;则进入当前方法体内&#xff0c;如果该方法体还有方…

jakarta ee_Jakarta EE,EE4J和Java EE之间的关系

jakarta eeJakarta EE的名称已经存在了一个多月&#xff0c;即使Mike Milinkovich在他的博客文章“ The Name Is…”中很好地解释了名称和概念&#xff0c;但对于它们之间的关系仍然有些困惑&#xff0c;我也提出了疑问只要有话题就可以围绕它。 我试图在这里总结一下。 希望能…

无线网服务器有辐射吗,WiFi对孕妇有辐射吗

针对无线WiFi上网产生的辐射是否会对人体有伤害已有实验研究。实验结果已经显示&#xff0c;现在包括由无线路由器发射的WiFi在内的无线网络频率虽然较高&#xff0c;但是功率都不大&#xff0c;对人体的辐射影响可以说微乎其微。那么对于孕妇来说&#xff0c;辐射也是非常小的…

IntelliJ IDEA for Mac在MacOS模式下的选择快捷键(Select Shortcut)

快捷键快捷键符号英文名称功能说明Shift Command 8按列选择模式。按下此组合键&#xff0c;再按鼠标左键拖动选择矩形区域&#xff0c;输入新的内容&#xff0c;可以替换被选择的所有行的内容OptionCommand↑⌥⌘↑Extend selection扩展选定范围&#xff0c;和系统快捷键有冲…

jvm虚拟机内存结构_JVM体系结构101:了解您的虚拟机

jvm虚拟机内存结构Java虚拟机&#xff08;JVM&#xff09;架构和Java字节码101的初学者速成班 Java应用程序无处不在&#xff0c;它们在我们的手机&#xff0c;平板电脑和计算机上。 在许多编程语言中&#xff0c;这意味着多次编译代码以使其在不同的OS上运行。 对于我们作为开…

IntelliJ IDEA for Mac在MacOS模式下的搜索/查询/查找快捷键(Search Shortcut)

文章目录根据内容查找文件根据名称查找类文件&#xff08;源代码文件&#xff09;根据名称查找任何类型文件查找字段名称、方法名、类名声明的地方查找所有的内容查找任何动作快捷键快捷键符号英文名称功能说明Double ShiftDouble ⇧Search everywhere查询任何东西。建议改成 S…

json解析适配模板_认识适配器:JSON绑定概述系列

json解析适配模板适配器通过实现JsonbAdapter接口来配置自定义对象的创建和序列化。 方法AdaptToJson&#xff08;&#xff09;和AdaptFromJson&#xff08;&#xff09;被执行序列化和反序列化操作的逻辑覆盖。 下一篇文章介绍了使用自定义序列化器和反序列化器自定义JSON-B的…

IntelliJ IDEA for Mac在MacOS模式下的替换快捷键(Replace Shortcut)

快捷键快捷键符号英文名称功能说明Command R⌘RReplace选择要被替换的内容&#xff0c;按下此组合键&#xff0c;然后会出现替换内容输入框&#xff0c;输入替换内容&#xff0c;按下回车一次&#xff0c;替换一个&#xff0c;继续按回车再替换一个Shift Command R⇧⌘RRepla…

震惊kafka_5个令人震惊的统计数据证明日志不足

震惊kafka事实证明&#xff0c;我们都犯有记录不良的罪名。 不相信我们吗&#xff1f; 这些统计数据可能会改变您的想法 当人们提出带有明显答案的问题时&#xff0c;这非常令人不快&#xff0c;因此&#xff0c;我不会坐在这里问您和您的团队是否使用日志文件来监视预生产和生…

IntelliJ IDEA for Mac在MacOS模式下的动态代码模板快捷键(Live Templates Shortcut)

快捷键快捷键符号英文名称功能说明Option Command J⌥ ⌘ JSelect Template弹出模板选择窗口&#xff0c;将选定的代码使用动态模板包住Option Command T⌥ ⌘ TSurround with Live Template弹出模板选择窗口&#xff0c;将选定的代码使用动态模板包住&#xff0c;和上面那个…

jdk 8 时区 转换_JDK 8 BigInteger精确缩小转换方法

jdk 8 时区 转换在博客文章“ Java中Long到Int的精确转换 ”中&#xff0c;我讨论了使用Math.toIntExact&#xff08;Long&#xff09;将Long精确地转换为int或者如果无法缩小转换范围则抛出ArithmeticException 。 JDK 8引入了该方法&#xff0c; JDK 8还向BigInteger类引入了…

IntelliJ IDEA快捷键(Shortcut)官方文档地址

快捷键官方文档地址&#xff1a;https://resources.jetbrains.com/storage/products/intellij-idea/docs/IntelliJIDEA_ReferenceCard.pdf

通过OAuth 2.0和Okta使用安全的服务器到服务器通信构建Spring Boot应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 大多数OAuth 2.0指南都围绕用户的上下文&#xff0c;即使用Google&#xff0c;Github…

IntelliJ IDEA for Mac在MacOS模式下添加到收藏夹的快捷键(Add Favorite Shortcut)

快捷键快捷键符号英文名称功能说明Option Shift F⌥⇧FAdd Favorite添加到收藏夹 添加到收藏夹后&#xff0c;你可以按下组合键 Command 2 打开收藏夹窗格&#xff0c;或者直接在视图的左边栏找到『收藏夹』如下图所示&#xff1a;

公有云 私有云 混合云_混合云的承诺,收益和产品

公有云 私有云 混合云云承诺为我们提供所有灵活性。 有机会在需要时访问无限资源并相应地付款。 我们不再需要花费时间安装&#xff0c;配置和维护服务器&#xff1b; 我们被承诺将有更多的时间来“仅仅编码”。 取而代之的是&#xff0c;我们越来越多地锁定供应商&#xff0c…

MVC基础知识

1.MVC全名是Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写 2.Model&#xff08;模型&#xff09;是应用程序中用于处理应用程序数据逻辑的部分。  通常模型对象负责在数据库中存取数据。主体 3.View&#xf…

MacBook键盘符号

图标介绍⌘Command⇧Shift⇪Caps Lock⌥Option Alt⌃Control↩Enter⌫Delete⌦Fn Delete↑上箭头↓下箭头←左箭头→右箭头⇞Fn ↑ Page Up⇟Fn ↓ Page DownHomeFn ←EndFn →⇥Tab 右制表符⇤Shift Tab 左制表符⎋Esc Escape⏏电源开关键