java - Object.class.getName() 慢吗?

标签 java serialization reflection java-me cldc

我在 Java ME 环境中编写代码,因此速度绝对是一个重要因素。我读过几个地方,任何类型的反射(即使是 java ME 允许的非常有限的数量)都可能是一个非常大的瓶颈。

所以,我的问题是:执行 String.class.getName() 速度慢吗? myCustomObject.getClass().getName() 怎么样?简单地用字符串常量替换它们是否更好,例如“java.lang.String”和“com.company.MyObject”?

如果您想知道,我需要所有原语(以及非原语)的类名,因为 Java ME 不提供默认的序列化实现,因此我必须自己实现。我需要一个通用的序列化解决方案,它既适用于网络通信,也适用于本地存储(RMS,还有 JSR-75)

编辑

我正在使用 Java 1.3 CLDC。

最佳答案

String.class.getName() 不会很慢,因为它的值将在执行之前加载。即编译器将在行执行之前放置它的值。 myCustomObject.getClass().getName() 会比之前的,因为它会在执行时被检索

关于java - Object.class.getName() 慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749760/

相关文章:

java - 奇怪的 java 类型行为

java - net.schmizz.sshj.transport.TransportException : Unable to reach a settlement

java - 如何在java中从Html中的Div标签中提取文本

android - 写入可序列化对象时出错(位图包含)

c# - 生成动态方法来设置结构的字段而不是使用反射

java - 我想在 Tapestry 页面中发布包含酒店的列表,但此错误反复出现

java - 如何从 rest api 序列化枚举列表

c# - 无法将 JSON 数组反序列化为类型

c++ - 在 C++ 中按名称访问结构字段的现代方法

swift - swift 2 中的反射