最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java引用傳遞和值傳遞棧內(nèi)存與堆內(nèi)存的指向操作

 更新時間:2020年09月16日 15:27:32   作者:FrankLiner  
這篇文章主要介紹了Java引用傳遞和值傳遞棧內(nèi)存與堆內(nèi)存的指向操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

值傳遞:

(形式參數(shù)類型是基本數(shù)據(jù)類型):方法調(diào)用時,實際參數(shù)把它的值傳遞給對應(yīng)的形式參數(shù),形式參數(shù)只是用實際參數(shù)的值初始化自己的存儲單元內(nèi)容,是兩個不同的存儲單元,所以方法執(zhí)行中形式參數(shù)值的改變不影響實際參數(shù)的值。

引用傳遞:

(形式參數(shù)類型是引用數(shù)據(jù)類型參數(shù)):也稱為傳地址。方法調(diào)用時,實際參數(shù)是對象(或數(shù)組),這時實際參數(shù)與形式參數(shù)指向同一個地址,在方法執(zhí)行中,對形式參數(shù)的操作實際上就是對實際參數(shù)的操作,這個結(jié)果在方法結(jié)束后被保留了下來,所以方法執(zhí)行中形式參數(shù)的改變將會影響實際參數(shù)。

現(xiàn)有如下代碼

class Person{
 private String name;
 private int age;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
}

public class Neicunzhixiang {
 public static void main(String[] args) {
  Person simth;
  simth=new Person();
  simth.setName("史密斯");
  simth.setAge(12);  
 }
}

現(xiàn)只看主方法中部分

public class Neicunzhixiang {
 public static void main(String[] args) {
  Person simth;
  simth=new Person();
  simth.setName("史密斯");
  simth.setAge(12);  
 }
}

下面用一張圖來解釋每行代碼棧內(nèi)存與堆內(nèi)存之間的關(guān)系

將左邊紫色部分看為棧內(nèi)存,右邊藍色部分看為堆內(nèi)存,下邊綠色部分為當前圖示所代表的代碼。

當person simth時 并沒有在堆內(nèi)存中開辟空間,所以simth沒有指向

當simth=new person時,在堆內(nèi)存中開辟了空間,所以棧內(nèi)存simth指向了堆內(nèi)存;

當simth.name=“史密斯”時,定義了堆內(nèi)存中name的屬性,所以name=“史密斯”;

當simth.age=12時,定義了堆內(nèi)存中age的屬性,所以age=12。

以上這篇Java引用傳遞和值傳遞棧內(nèi)存與堆內(nèi)存的指向操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea如何查看安裝插件的位置

    idea如何查看安裝插件的位置

    這篇文章主要介紹了idea如何查看安裝插件的位置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 使用SpringBoot2.x配置靜態(tài)文件緩存

    使用SpringBoot2.x配置靜態(tài)文件緩存

    這篇文章主要介紹了使用SpringBoot2.x配置靜態(tài)文件緩存的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 使用MockMvc進行controller層單元測試 事務(wù)自動回滾的完整案例

    使用MockMvc進行controller層單元測試 事務(wù)自動回滾的完整案例

    這篇文章主要介紹了使用MockMvc進行controller層單元測試 事務(wù)自動回滾的完整案例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • JAVA三種異常處理機制的具體使用

    JAVA三種異常處理機制的具體使用

    異常是程序在編譯或執(zhí)行的過程中可能出現(xiàn)的問題,本文主要介紹了JAVA三種異常處理機制的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2024-06-06
  • 說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    說說字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎

    這篇文章主要介紹了字符串轉(zhuǎn) OffSetDateTime 你真的會用嗎?具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 自定義BufferedReader的實例

    自定義BufferedReader的實例

    下面小編就為大家分享一篇自定義BufferedReader的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 深入理解什么是Mybatis懶加載(延遲加載)

    深入理解什么是Mybatis懶加載(延遲加載)

    這篇文章主要介紹了深入理解什么是Mybatis懶加載(延遲加載),mybatis的懶加載,也稱為延遲加載,是指在進行關(guān)聯(lián)查詢的時候,按照設(shè)置延遲規(guī)則推遲對關(guān)聯(lián)對象的select查詢,延遲加載可以有效的減少數(shù)據(jù)庫壓力,需要的朋友可以參考下
    2023-10-10
  • 詳解Java中的八種單例創(chuàng)建方式

    詳解Java中的八種單例創(chuàng)建方式

    單例設(shè)計模式,就是采取一定的方法保證在整個的軟件系統(tǒng)中,對某個類只能存在一個對象實例,并且該類只提供一個取得其對象實例的方法。本文將詳細介紹Java中單例的八種創(chuàng)建方式,需要的可以參考一下
    2022-02-02
  • Hibernate傳入Java對象創(chuàng)建動態(tài)表并錄入數(shù)據(jù)

    Hibernate傳入Java對象創(chuàng)建動態(tài)表并錄入數(shù)據(jù)

    這篇文章主要介紹了Hibernate傳入Java對象創(chuàng)建動態(tài)表并錄入數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
    2020-10-10
  • Java子線程調(diào)用RequestContextHolder.getRequestAttributes()方法問題詳解

    Java子線程調(diào)用RequestContextHolder.getRequestAttributes()方法問題詳解

    這篇文章主要介紹了Java子線程調(diào)用RequestContextHolder.getRequestAttributes()方法問題處理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2022-09-09

最新評論

五台县| 敦化市| 东城区| 田东县| 安顺市| 宜川县| 凤冈县| 荔浦县| 新乡县| 如东县| 启东市| 苗栗县| 凤冈县| 吉安市| 卢湾区| 德令哈市| 芜湖县| 屏山县| 鄱阳县| 九台市| 彰化市| 奉新县| 富平县| 东至县| 富源县| 喀喇沁旗| 望谟县| 陵川县| 南阳市| 侯马市| 团风县| 平泉县| 上高县| 洞口县| 金湖县| 铜川市| 新沂市| 宜春市| 兰考县| 凤山市| 二连浩特市|