1. 程式人生 > >從專案中談JAVA中static 方法在多執行緒環境下的運用

從專案中談JAVA中static 方法在多執行緒環境下的運用

最近在做一個實時性比較高的系統,資料庫訪問很頻繁。在這個專案中資料庫訪問的大多數都被我做成了static 方法。(這樣做應該不是很好,沒辦法發揮dao模式的優勢,不過湊合用吧)因這個系統是多執行緒。static方法的運用需要注意,不能在servlet中使用成員變數,因為如果你的servlet使用的是多執行緒模式,所有的servlet共享一個servlet例項,在多執行緒的情況下,會發生髒讀問題;主要不能對類成員的同步訪問。如果是方法的區域性成員則是執行緒安全的。

總的說: 如果這個方法用的很頻繁,就把它定義為static,需要注意的是執行緒間共享變數的同步。比如:執行緒不安全的資料結構 。

static的方法好處就是,在使用時速度快,不需要例項化物件就可以直接呼叫。在硬體有限,實時性要求比較高的情況下,應該提倡多用吧。

有空得了解下sun的java體系設計的思想,是static還是不是static,這是個問題!!