這是一個基本的問題。Java字節碼優化
我不應該在元數據豆類運行代碼。所有的元數據bean位於元數據包下。
現在,
我使用反射API來找出一個類是否位於元數據包。
if (newEntity.getClass().getPackage().getName().contains("metadata"))
我用這個if在這個代碼裏的幾個地方。
的問題是:
boolean isMetadata = false
if (newEntity.getClass().getPackage().getName().contains("metadata")) {
isMetadata = true;
}
C++做優化和知道這個代碼已經被調用,它不會再調用它:我應該有這樣做一次。 JAVA是否會優化?我知道反射API是一個重拍,我寧願 不要失去昂貴的運行時間。
正確的做法是:(1)選擇您認爲會導致最清晰,最不容易出錯的代碼的任何選項; (2)使用分析器來查找實際的性能瓶頸; (3)優化那些。 – NPE
將程序包名稱用作程序中的標誌聽起來不像是非常好的設計。我不確定你在做什麼,但有一個可能更好/更簡單的方法來實現它 – Guillaume