??? ??? 今日發現一名為savage100的同學問我關于范型效率的問題的留言,抱著負責任的態度,想給那位仁兄做個回復,不成想未發現blogjava有回復功能,而且也未找到savage100的博客。唉!于“百忙之中”以此文作解,也算盡了我回復之責任。
??? ??? 簡單的說,關于java范型的效率問題我并不是很清楚,其實我也不是很關心這個問題。如果一個項目真的對效率的要求都達到了語言特性之上,那這個項目就不應該使用效率先天不足的java。還記得java早期版本時的低效率嗎?那時的程序員總是費勁心思整出些“奇技淫巧”,現在看看那時的一些代碼建議都滿有意思的。現在的java執行效率算是不錯了,對于面向應用的程序來說,java語言本身不應該成為瓶頸。實際上,即便是性能卓越的C語言,在一些程序員手中也一樣會效率底下。再看看jdk中大量的使用范型重寫的代碼,就可以明白java范型的執行效率應該是沒問題的。而最大的問題是,我們如何合理的使用范型來解決類型安全問題。
??? ??? 如果是做web開發,范型更不是問題了。也許這時候我們要問的是,SSH中的反射、代理、字節碼生成是不是我的程序慢的原因啊?是,也不是。相比于網絡傳輸、數據庫訪問,框架本身的性能問題并不是很嚴重。雖然Hibernate相比JDBC要慢一些,但合理的運用數據庫及Hibernate方面的最佳實踐,Hibernate就不會成為項目的性能瓶頸。即便是相同的技術相同的問題,不同的程序員做出來的執行效率也是不一樣的。說到底,人的因素是最重要的。
??? ??? 想再說些,但時間已晚,到此打住吧。