雲栖号資訊:【 點選檢視更多行業資訊】
在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!
Java中共有三種變量,分别是類變量、成員變量和局部變量。他們分别存放在JVM的方法區、堆記憶體和棧記憶體中。

上面定義的三個變量中:
- 變量a就是類變量,存放在方法區,線程共享。
- 變量b就是成員變量,随着對象一起存放在堆記憶體,線程共享。
- 變量c和d是局部變量,存放在棧記憶體,線程獨享。
也就是說,變量a和b是共享變量,變量c和d是非共享變量。
即局部變量是非共享變量,作用域隻在方法内部,并不會逃逸到方法外。
那麼,既然是一個作用域隻在方法内的變量,不需要考慮那麼多,怎麼性能高怎麼定義,怎麼友善使用怎麼定義。
我們都知道在Java語言中,new一個對象是存儲在堆裡的,我們通過棧中的引用來使用這些對象;是以,對象本身來說是比較消耗資源的。
對于經常用到的類型,如int等,如果我們每次使用這種變量的時候都需要new一個Java對象的話,就會比較笨重。
是以,和C++一樣,Java提供了基本資料類型,這種資料的變量不需要使用new建立,他們不會在堆上建立,而是直接在棧記憶體中存儲,是以會更加高效。
【雲栖号線上課堂】每天都有産品技術專家分享!
課程位址:
https://yqh.aliyun.com/live立即加入社群,與專家面對面,及時了解課程最新動态!
【雲栖号線上課堂 社群】
https://c.tb.cn/F3.Z8gvnK
原文釋出時間:2020-06-03
本文作者:HollisChuang
本文來自:“
掘金”,了解相關資訊可以關注“掘金”