我在代码的性能关键区域中使用了
今天我回到这个性能待办事项清单上,对比了一下
我写了一点关于它的内容,可以在这里查看:http://biasedbit.com/blog/new-vs-newinstance/ (抱歉,我自己做了一些推广...我会把文本放在这里,但是问题会变得过于庞大。)
我想知道的是,为什么当创建的对象数量大幅增长时,
我确实从整个反射中学到了教训,这只是对JVM在运行时执行的优化的好奇,特别是在
newInstance()
方法。该方法的签名为:
<T extends SomethingElse> T create(Class<T> clasz)
我传递Something.class
作为参数,然后使用newInstance()
创建SomethingElse
的实例。今天我回到这个性能待办事项清单上,对比了一下
new
运算符和newInstance()
的性能。我对newInstance()
的性能惩罚感到非常惊讶。我写了一点关于它的内容,可以在这里查看:http://biasedbit.com/blog/new-vs-newinstance/ (抱歉,我自己做了一些推广...我会把文本放在这里,但是问题会变得过于庞大。)
我想知道的是,为什么当创建的对象数量大幅增长时,
-server
标志提供如此高的性能提升,而当值较低时,例如100或1000,则没有提升。我确实从整个反射中学到了教训,这只是对JVM在运行时执行的优化的好奇,特别是在
-server
标志的情况下。此外,如果我的测试有什么问题,请告诉我!