java多線程調用靜態方法安全嗎?


靜態方法很好用,直接就可以用了,那么如果多線程調用怎么辦?會出現什么?

靜態類中static 修飾的參數,如果是全局變量,該變量會在方法中被修改。那么就是不安全的。

原因是:多線程調用靜態方法,會復制一份代碼,所以方法是安全。但靜態變量在java 虛擬機中是唯一。如果在方法中修改全局靜態變量,就會線程不安全。

 

順便說一句:在程序開發過程中經常會遇到有關資源的釋放問題。比如文件流什么,數據庫連接。使用之后注意關閉。從內層往外層關閉(有很多資源的關閉接口實現不是很好,如果單單關閉外層,內層仍然存在,如果資源連接存在線程,那么這個線程就不會被關閉。一段時間之后,系統就會因為線程過多,關閉。)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM