亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中,靜態字段和實例字段有什么區別?

java中,靜態字段和實例字段有什么區別?

千巷貓影 2018-07-18 11:14:37
有幾個問題想問問大家1、凡是聲明在方法、構造方法、代碼塊外的變量或者常量都叫做字段,對嗎?2、靜態字段和實例字段有什么區別?3、實例變量也叫成員變量,靜態變量也叫類變量,對嗎?4、實例變量在jvm運行時會被放在主存中,然后工作線程拷貝一份副本過去,對嗎?5、因為4,所以就會產生線程是否安全的問題,對嗎?6、是不是所有類的實例變量都會被放在主存中呢,如果對實例變量聲明private,那么能防止別的線程使用這個實例變量嗎?還會產生線程安全嗎?7、單實例多線程并發訪問,就像servlet的訪問一樣,多線程是不是都要等待這個實例被其他線程使用完才能使用呢?如果時間不足,可以隨意提示一點tip給我,哪怕只是只言片語,先謝謝大家的不吝賜教!
查看完整描述

2 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

實例字段要實例化才能使用,沒有實例化不能使用。靜態字段反之
普通字段要在實例化時候才分配內存空間,而靜態字段在裝載程序集的時候就分配內存空間了

查看完整回答
反對 回復 2018-08-10
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

字段是什么?從學JAVA開始就沒聽說過叫字段的說法。。。。。
你要么叫變量,要么叫屬性,我暫且理解你說的字段就是變量,靜態變量和實例變量,

語法區別:靜態變量需要static關鍵字修飾,實例變量不需要。

程序運行時的區別:靜態變量從屬于類,實例變量從屬于對象。

  實例變量必須創建了實例對象,其中的實例變量才會被分配空間,才能使用這個實例變量;

  靜態變量即類別量,只要程序加載了類的字節碼,靜態變量就會被分配空間,即可使用。

綜上,實例變量必須創建對象后通過這個對象來使用,靜態變量可以直接使用類名來引用

你先搞清楚實例變量的聲明周期自然就知道了jvm的原理跟線程問題

多線程不需要等待實例用完,多線程跟實例用不用完沒什么關系

new幾個對象就會在內存中分配幾個空間,堆和棧的關系你去搞清楚


查看完整回答
反對 回復 2018-08-10
  • 2 回答
  • 0 關注
  • 2541 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號