① Java代碼優化的常用方法有什麼
1)盡量指定類、方法的final修飾符。帶有final修飾符的類是不可派生的,Java編譯器會尋找機會內聯所有的final方法,內聯對於提升Java運行效率作用重大,此舉能夠使性能平均提高50%。
2)盡量重用對象。由於Java虛擬機不僅要花時間生成對象,以後可能還需要花時間對這些對象進行垃圾回收和處理,因此生成過多的對象將會給程序的性能帶來很大的影響。
3)盡可能使用局部變數。調用方法時傳遞的參數以及在調用中創建的臨時變數都保存在棧中速度較快,其他變數,如靜態變數、實例變數等,都在堆中創建速度較慢。
4)慎用異常。異常對性能不利,只要有異常被拋出,Java虛擬機就必須調整調用堆棧,因為在處理過程中創建了一個新的對象。異常只能用於錯誤處理,不應該用來控製程序流程。
5)乘法和除法使用移位操作。用移位操作可以極大地提高性能,因為在計算機底層,對位的操作是最方便、最快的,但是移位操作雖然快,可能會使代碼不太好理解,因此最好加上相應的注釋。
6)盡量使用HashMap、ArrayList、StringBuilder,除非線程安全需要,否則不推薦使用 Hashtable、Vector、StringBuffer,後三者由於使用同步機制而導致了性能開銷。
盡量在合適的場合使用單例。使用單例可以減輕載入的負擔、縮短載入的時間、提高載入的效率,但並不是所有地方都適用於單例。
② java執行大量sql語句,卡住不動了,怎麼辦啊,用的 sql .executeUpdate()
優化sql,或者有些跟業務上有關的可以放到後台處理,不要放到sql中
③ JAVA sql語句執行緩慢問題
如果表中的數據量很大 你可以在資料庫 上給表添加索引 是你查詢的欄位添加索引 這樣會快很多。
④ 一個Java程序員有必要精通SQL么
程序員精通SQL是最基本的要求
因為做的程序是需要跟數據進行交互的,沒有數據交互的程序,應用層面太狹隘了。
國外的崗位區分的很明確,專門寫代碼的,專門做資料庫的,即便如此,也有區分,專門處理前台的、後台,專門做框架的架構師,還有專門的測試工程師。
但是國內不同,基本上程序員要掌握除了架構以外的全部技能。可以說國內的一流程序員就是萬能的,什麼都會。
這個也導致了國內IT行業從業人員入門的門檻高,培訓不規范。新人不知道該從何入手。
現在國內的IT行業人才缺口很大。這個問題,本身跟行業規范也有一定原因。
作為剛剛進入行業的程序員,第一考慮的是自身能力一定要跟上公司的技能需求,然後在此基礎上不斷學習,有方向有機會的學習新的技能。這樣才能拿到高薪。