最近發(fā)掘越來(lái)越習(xí)慣于使用靜態(tài)的方法和屬性,也由此犯了許多錯(cuò)誤。簡(jiǎn)直是濫用。
如在一個(gè)servlet中,聲明了userId這種靜態(tài)屬性。勢(shì)必會(huì)導(dǎo)致多用戶(hù)訪問(wèn)時(shí)操作同一個(gè)userId對(duì)象,引發(fā)并發(fā)性問(wèn)題。
對(duì)于這種不同用戶(hù)會(huì)產(chǎn)生不同值的屬性,千萬(wàn)不能定義成static。
static只使用于,對(duì)與所有用戶(hù)來(lái)說(shuō),值都能夠保持一致的屬性。比如Hibernate Factory中的數(shù)據(jù)庫(kù)連接對(duì)象等等。這樣還能夠提高效率,因?yàn)閟tatic屬性只在類(lèi)初始化時(shí)進(jìn)行一次初始化。