日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 反射机制性能_Java反射机制的用途和缺点

發布時間:2023/12/1 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 反射机制性能_Java反射机制的用途和缺点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java反射機制的用途和缺點

反射的用途 Uses of Reflection

Reflection is commonly used by programs which require the ability to

examine or modify the

runtime behavior of applications running in the Java virtual machine. This

is a relatively advanced

feature and should be used only by developers who have a strong grasp of

the fundamentals of the language. With that caveat in mind, reflection is a

powerful

technique and can enable applications to perform operations which would

otherwise be impossible.

反射被廣泛地用于那些需要在運行時檢測或修改程序行為的程序中。這是一個相對高級

的特性,只有那些語言基礎非常扎實的開發者才應該使用它。如果能把這句警示時刻放在心

里,那么反射機制就會成為一項強大的技術,可以讓應用程序做一些幾乎不可能做到的事情。

反射的缺點 Drawbacks of Reflection

Reflection is powerful, but should not be used indiscriminately. If it is

possible to perform an

operation without using reflection, then it is preferable to avoid using

it. The following concerns

should be kept in mind when accessing code via reflection.

盡管反射非常強大,但也不能濫用。如果一個功能可以不用反射完成,那么最好就不用。

在我們使用反射技術時,下面幾條內容應該牢記于心:

1、性能第一 Performance Overhead

Because reflection involves types that are dynamically resolved, certain

Java virtual machine

optimizations can not be performed. Consequently, reflective operations

have slower performance

than their non-reflective counterparts, and should be avoided in sections

of code which are called

frequently in performance-sensitive applications.

反射包括了一些動態類型,所以 JVM 無法對這些代碼進行優化。因此,反射操作的效

率要比那些非反射操作低得多。我們應該避免在經常被 執行的代碼或對性能要求很高的程

序中使用反射。

2、安全限制 Security Restrictions

Reflection requires a runtime permission which may not be present when

running under a

security manager. This is in an important consideration for code which has

to run in a restricted

security context, such as in an Applet.

使用反射技術要求程序必須在一個沒有安全限制的環境中運行。如果一個程序必須在有

安全限制的環境中運行,如 Applet,那么這就是個問題了。

3、內部暴露 Exposure of Internals

Since reflection allows code to perform operations that would be illegal in

non-reflective

code, such as accessing private fields and methods, the use of reflection

can result in

unexpected side-effects, which may render code dysfunctional and may

destroy portability.

Reflective code breaks abstractions and therefore may change behavior with

upgrades of the

platform.

由于反射允許代碼執行一些在正常情況下不被允許的操作(比如訪問私有的屬性和方

法),所以使用反射可能會導致意料之外的副作用--代碼有功能上的錯誤,降低可移植性。

反射代碼破壞了抽象性,因此當平臺發生改變的時候,代碼的行為就有可能也隨著變化。

總結

以上是生活随笔為你收集整理的java 反射机制性能_Java反射机制的用途和缺点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。