如何提高使用Java反射的效率?
发布时间:2019-04-27 09:18:21 所属栏目:优化 来源:深夜里的程序猿
导读:副标题#e# 前言 在我们平时的工作或者面试中,都会经常遇到反射这个知识点,通过反射我们可以动态的获取到对象的信息以及灵活的调用对象方法等,但是在使用的同时又伴随着另一种声音的出现,那就是反射很慢,要少用。难道反射真的很慢?那跟我们平时正常创
这里我们反射调用sayHi方法1亿次,在调用了method.setAccessible(true)后,发现快了将近一半。查看API可以了解到,jdk在设置获取字段,调用方法的时候会执行安全访问检查,而此类操作会比较耗时,所以通过setAccessible(true)的方式可以关闭安全检查,从而提升反射效率。 极致的反射 除了上面的手段,还有没有什么办法可以更极致的使用反射呢?这里介绍一个高性能反射工具包ReflectASM。它是通过字节码生成的方式来实现的反射机制,下面是一个跟java反射的性能比较。 这里就不介绍它的用法了,有兴趣的朋友可以直接传送过去:https://github.com/EsotericSoftware/reflectasm 结语 (编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |