書名: Java開發之道作者名: 張振坤 李鐘尉 陳丹丹等編著本章字數: 780字更新時間: 2018-12-27 19:54:08
細節19 減少開銷——掌握變量的使用原則
在進行Java程序開發時,需要定義很多變量以完成程序的功能,這些變量包括普通成員變量、靜態成員變量以及在方法體或代碼塊內定義的局部變量,這些變量的使用將直接影響著整個系統的性能,為此,需要了解和掌握這些變量及其使用原則。
1.了解和掌握變量
· 靜態成員變量
靜態成員變量也稱為類變量,使用static關鍵字修飾,該變量在類加載時,就分配了內存并進行了初始化,并被該類每個實例所共享,只要類被加載了,該變量就會一直駐留在內存中,直到退出程序,才會釋放類變量所占用的內存空間。
· 普通成員變量
普通成員變量也稱為實例變量,這種變量在創建類的實例時,系統自動為其分配內存和進行初始化,并且只屬于該實例,不能被多個實例共享,而且會隨著實例的創建而產生,隨著實例的銷毀而銷毀。
· 局部變量
局部變量是指在方法或代碼塊中定義的變量,該變量在方法被調用或代碼塊被執行時,才分配內存,并隨著方法調用結束或代碼塊執行結束而釋放所占用的內存空間。
2.變量的使用原則
變量的使用主要應考慮以提高系統的性能為原則,所以,在程序中使用變量時應遵循以下原則:
· 盡可能優先使用局部變量
由于局部變量在方法被調用或代碼塊被執行時才被分配內存空間,并且在方法調用結束或代碼塊執行結束時,就會釋放所占用的內存空間,該變量在內存中駐留的時間最短,而且不需要進行垃圾回收,因此可以大大提高系統的性能。
· 能用實例變量盡量不要用類變量
類變量在類加載時就被分配了內存空間并進行了初始化,而且直到退出程序時才會釋放所占用的內存空間,其間一直會駐留在內存中,而實例變量則是在創建類的實例時才被分配內存空間,在實例被銷毀時就會被JVM的垃圾回收器回收,釋放所占用的內存空間。
說明
使用哪種變量并不是絕對的,例如,某些信息要求被類的多個實例共享,這時類變量就是最佳的選擇,即使類變量在程序執行過程中會一直駐留在內存中。
- TypeScript入門與實戰
- 算法大爆炸:面試通關步步為營
- 微服務設計原理與架構
- Elastic Stack應用寶典
- Internet of Things with Intel Galileo
- JAVA程序設計實驗教程
- 網站構建技術
- MATLAB for Machine Learning
- Android Wear Projects
- Red Hat Enterprise Linux Troubleshooting Guide
- Principles of Strategic Data Science
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- Oracle Data Guard 11gR2 Administration Beginner's Guide
- Advanced Python Programming
- LabVIEW入門與實戰開發100例(第4版)