自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
生活随笔
收集整理的這篇文章主要介紹了
自然语言交流系统 phxnet团队 创新实训 个人博客 (二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為項目用的到條件編譯,遂專門記載:
眾所周知在C和CPP中可以通過預處理語句來實現條件編譯,但是在java中沒有預處理語句,我們該如何實現條件編譯呢?
這是一個簡單的demo
保存為Hello.java并編譯,得到一個class文件,并且觀察到文件大小是417字節。然后我們對這個文件進行反編譯,用jd-gui。得到代碼如下:?
Java代碼??
得到這個有什么用呢??
現在我們再來對源代碼進行修改,修改后的代碼如下。?
Java代碼??
進行編譯,這時我們再看它的大小,只有255字節。怎樣?想到什么了吧?沒錯,編譯器會對代碼進行優化,對于條件永遠為false的語句,JAVA編譯器將不會對其生成字節碼。下面我們再來對該class文件進行反編譯,果然代碼如下:?
Java代碼??
利用JAVA編譯的這一優化機制,我們就可以實現JAVA的條件編譯了。?
?
Java代碼??
定義一個final的變量,然后再在if語句中使用。代碼如下:?
當條件編譯使用得多時,上面將極不利于代碼的修改及維護,這時就可以用一種更為靈活的方法。定義一個靜態類,里面專門定義用來控制條件編譯的變量。然后再在具體的代碼中導入該類,使用這些final變量。代碼如下:
?
Java代碼??總結
以上是生活随笔為你收集整理的自然语言交流系统 phxnet团队 创新实训 个人博客 (二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端开发100元/页,空心科技切入IT人
- 下一篇: 常用经典SQL语句大全完整版--详解+实