天天看點

為什麼阿裡會推薦所有的局部變量使用基本資料類型?

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

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

本文來自:“

掘金

”,了解相關資訊可以關注“掘金”