1. 程式人生 > >靜態變數儲存在哪個區

靜態變數儲存在哪個區

美團2017校園招聘 Android
靜態變數儲存在__
A 全域性區
B 堆
C 棧
D 常量區

2017年3月21日19:00開始筆試,選項憑回憶打的,未全匹配。
本人蔘考答案:A

知識點

記憶體到底分幾個區?

1、棧區(stack)— 由編譯器自動分配釋放 ,存放函式的引數值區域性變數的值等。

2、堆區(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於連結串列。

3、全域性區(靜態區)(static)—全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。程式結束後有系統釋放。

4、文字常量區 —常量字串就是放在這裡的。 程式結束後由系統釋放。

5、程式程式碼區—存放函式體的二進位制程式碼。

相關推薦

Java中成員變數、區域性變數、全域性變數靜態變數存在位置及初始化

根據定義變數位置的不同,可以將變數分為成員變數和區域性變數。 成員變數是 定義在一個類的變數:類中方法外 區域性變數是定義在一個方法內的變數:方法中 成員變數分為: 靜態屬性:隨類的存在而存在,是在類載入的初始化 非靜態屬性:隨例項的屬性存在而存在。 區域性變數: 區域性變數不能加s

1.java區域性變數 & 例項變數 & 類變數靜態變數

 區域性變數 區域性變數宣告在方法、構造方法或者語句塊中; 區域性變數在方法、構造方法、或者語句塊被執行的時候建立,當它們執行完成後,變數將會被銷燬; 訪問修飾符不能用於區域性變數; 區域性變數只在宣告它的方法、構造方法或者語句塊中可見; 區域性變數是

Thymeleaf新增全域性靜態變數

問題:在使用Thymeleaf模板時,某些地方需要使用全域性變數,即在Java中一處賦值,在任何頁面均可獲取。 解決方法: @Resource private void configureThymeleafStaticVars(ThymeleafViewResolve

Spring Boot使用Value註解給靜態變數賦值的方法

昨天在使用@Value註解給靜態變數賦值的時候,發現靜態變數的值始終是null。後來搜尋一下得知其中原因,Spring Boot 不允許/不支援把值注入到靜態變數中。但是我們可以變通一下解決這個問題。因為Spring Boot 支援set方法注入,我們可以利用非靜態set方法注入靜態變數。程式碼

C# 定義了 7 種變數類別:靜態變數、例項變數、陣列元素、值引數、引用引數、輸出引數和區域性變數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring依賴注入static靜態變數相關問題

Spring依賴注入static靜態變數相關問題   版權宣告:本文為博主原創文章,轉載請註明出處,謝謝。 https://blog.csdn.net/rongxiang111/article/details/78881371 1.Spring不支援依賴注入static靜態變數

一道考察類的純虛擬函式定義,靜態變數等C++題目

程式原題如下: #pragma  once class mml { private:static unsigned int x; public:mml(){  x++;  }mml(static unsigned int&){  x++; &

C語言那年踩過的坑--區域性變數靜態變數,全域性變數在記憶體中存放的位置

  先看幾個概念: 1、bss是英文block started by symbol的簡稱,通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域,在程式載入時由核心清0。bss段屬於靜態記憶體分配。它的初始值也是由使用者自己定義的連線定位檔案所確定,使用者應該將它定義在可讀寫的ram區內,源程式中使用m

java機制:類的載入詳解(靜態類,靜態變數,靜態方法,靜態程式碼塊,構造程式碼塊,成員變數,成員方法,父類...)

       “程式碼編譯的結果從本地機器碼轉變為位元組碼,是儲存格式發展的一小步,卻是變成語言發展的一大步”,這句話出自《深入理解JAVA虛擬機器》 一.原始碼編譯      &n

解決@Value註解不能為靜態變數賦值

已經多次遇到這個問題,老是忘記了,記錄一下。 使用了spring的@Value註解,但是沒有賦值成功, @Value("${integraion.url}") private static String integraionUrl; 說明:integraion.url為springb

java中靜態變數靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊的載入順序

1. java中靜態變數,靜態程式碼塊,靜態方法,例項變數,匿名程式碼塊 在Java中,使用{}括起來的程式碼稱為程式碼塊,程式碼塊可以分為以下四種: (1)普通程式碼塊:就是類中方法的方法體 public void xxx(){ //code }

c++ 類靜態變數 類常變數Mark

1.靜態變數必須類外初始化 ,且只能在實現檔案中 不能在標頭檔案中 2.常靜態變數 int型別和列舉型別 可以直接在宣告時候直接初始化,其他型別必須在類外初始化 3.非靜態常變數必須在建構函式的初始化列表初始化 #include<iostream> using name

關於java中的區域性變數、成員變數靜態變數

package com.imooc; /* * 成員變數:在類中定義,用來描述物件將要有什麼 * 區域性變數:在類的方法中定義,在方法中臨時儲存資料 * 靜態變數 :static 它屬於整個類所共有,靜態成員可以使用類名直接訪問,也可以使用物件進行訪問; * java中會給程式

Java中的靜態變數靜態函式

Java中的靜態變數和靜態函式 靜態變數:    在JAVA中類在宣告的時候,其實並沒有申請和產生記憶體空間,就如同我們的一個切實可行的想法,但其實並沒有去實施這個想法。而類只有在用這種資料型別建立一個類的物件的時候,才能在記憶體中申請和產生類大小的記憶體空間,這一塊記憶體空間是用來存放

spring 注入變數不可以改成靜態變數

Spring中,變數注入到靜態方法中,變數會被改為靜態的,雖然不報錯,但執行時會報空指標錯誤。 Spring不能注入static變數的原因,具體詳情如下所示:          

Java中static(靜態變數/方法)的優缺點

static關鍵字宣告的變數或方法稱為靜態變數/方法 靜態static變數/方法在類載入的過程中被初始化,在記憶體中只存在一份,所以可以把它當作是全域性變數/方法。 優點 屬於類級別的,不需要建立物件就可以直接使用. 全域性唯一,記憶體中唯一,靜態變數

全域性變數靜態變數、區域性變數、const變數

生命週期: 一個變數存在的週期 作用域: 一個變數可以被引用的範圍 作用域 生命週期 定義方法 記憶體分佈 注意 全域性

c/c++靜態變數靜態函式

c語言中 c語言中需要記憶體來存放資料。而記憶體主要分為兩類:靜態儲存區和動態儲存區; 靜態儲存區分為:只讀資料(READONLY DATA)區、以讀寫資料(RW DATA)區、未初始化區(BSS)。它們都是在程式編譯連線階段確定的,在程式執行的階段不會改變。 動

Java_12_變數(variable)_區域性變數_例項變數_靜態變數_常量_命名規範

變數(variable) 我們通過變數來操縱儲存空間中的資料,變數就是指這個儲存空間,空間位置是確定的,但是裡面放置什麼值不確定。 Java是一種強型別語言,每個變數都必須宣告其型別。 Java變數是程式中最基本的儲存單元,其要素包括變數名,變數型別和作用域。 變數在使用前必須對其宣告,

靜態類中,靜態方法和靜態變數的執行順序按出現執行

package com.study; public class StaticCode { static { i = 33;// i's value is from 0 to 33 g(); } static int i = 1;