欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?參數(shù)值傳遞機制的實現(xiàn)

 更新時間:2025年05月22日 08:29:19   作者:kocscs123  
本文主要介紹了Java?參數(shù)值傳遞機制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

一個很經(jīng)典的問題: java的方法入?yún)?是值傳遞還是地址傳遞?

答案是:值傳遞。

今天排查一個生產(chǎn)問題,數(shù)據(jù)庫鏈接資源沒有關閉。

大致代碼邏輯如下:

try{
    Preparestatement ps = null;
    String sql = "select * from tableA where id=?";
    this.query(ps,sql);
}catch(Exception e){
    logger.error("error:",e);
}finally{
    if(ps!=null){
        ps.close();
    }
}

private void query(Preparestatement ps ,String sql){
    ps = this.getPreparestatement();
    ........//不重要的查詢邏輯
}

可以看到 對象實例 ps 被傳到了一個私有方法:query(Preparestatement ps ,String sql) 里,并在方法里面進行賦值。然后在方法外進行判空關閉。

很明顯,這段代碼的作者,并不熟悉JAVA的值傳遞機制,雖然ps被傳到方法里賦值,但是方法外的ps對象依然還是null,所以finally模塊里的代碼并沒有執(zhí)行close。只是表面看起來會關閉資源。

實際上,方法外的ps,和方法里面的ps 并不是同一個對象,或者說并不是指向同一個地址。java傳遞的是值而不是地址。這是和C語言最大的區(qū)別。

Java可以在方法里修改對象的屬性(如 a.setName("myName")),這種修改是可以影響到方法外的對象,但是并不能通過=號,對對象進行重新賦值來影響方法外的對象(如a=getNewObject())。

到此這篇關于Java 參數(shù)值傳遞機制的實現(xiàn)的文章就介紹到這了,更多相關Java 參數(shù)值傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解析HashMap中的put方法執(zhí)行流程

    解析HashMap中的put方法執(zhí)行流程

    在Java集合中,HashMap的重要性不言而喻,作為一種存儲鍵值對的數(shù)據(jù)結構,它在日常開發(fā)中有著非常多的應用場景,也是面試中的高頻考點,本篇文章就來分析一下HashMap集合中的put方法
    2021-12-12
  • 了解Java多線程的可見性與有序性

    了解Java多線程的可見性與有序性

    這篇文章主要介紹了了解Java多線程的可見性與有序性,在Java內存模型中,允許編譯器和處理器對指令進行重排序,但是重排序過程不會影響到單線程程序的執(zhí)行,卻會影響到多線程并發(fā)執(zhí)行的正確性。,需要的朋友可以參考下
    2019-06-06
  • Java中的小知識點總結

    Java中的小知識點總結

    最近在復習Java的基礎,遇到了一些比較偏的考核題目,特地總結一下需要注意的知識點!不過在使用IDE編程的時候,這些問題都會馬上被IDE識別出來,編譯是通不過的。我在這里提出來就相當于給初學者一些貢獻吧
    2013-07-07
  • 世界著名程序SpringMVC完整過程

    世界著名程序SpringMVC完整過程

    這篇文章主要為大家介紹了世界著名程序SpringMVC實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Mybatis分頁插件PageHelper手寫實現(xiàn)示例

    Mybatis分頁插件PageHelper手寫實現(xiàn)示例

    這篇文章主要為大家介紹了Mybatis分頁插件PageHelper手寫實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Java異常:java.net.UnknownHostException產(chǎn)生的原因和解決方案

    Java異常:java.net.UnknownHostException產(chǎn)生的原因和解決方案

    這篇文章主要給大家介紹了關于Java異常:java.net.UnknownHostException產(chǎn)生的原因和解決方案,這個異常是java.net包中的一部分,具體說它是類的一個實例,異常通常是由主機名無法解析為IP地址引起的,文中將解決的辦法介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • SpringBoot中集成日志的四種方式

    SpringBoot中集成日志的四種方式

    在開發(fā)中,日志記錄是保障應用程序健壯性、可維護性的重要手段,通過日志,我們可以記錄系統(tǒng)的運行狀態(tài)、捕獲異常并進行調試,Spring Boot 默認使用的是 Logback,但你也可以根據(jù)需求選擇其他框架,以下是幾種常用的日志集成方法,需要的朋友可以參考下
    2024-10-10
  • MybatisPlus批量保存原理及失效原因排查全過程

    MybatisPlus批量保存原理及失效原因排查全過程

    這篇文章主要介紹了MybatisPlus批量保存原理及失效原因排查全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • java 使用簡單的demo實例告訴你優(yōu)化算法的強大

    java 使用簡單的demo實例告訴你優(yōu)化算法的強大

    本篇文章介紹了,在java中使用簡單的demo實例告訴你優(yōu)化算法的強大。需要的朋友參考下
    2013-05-05
  • java Runnable接口創(chuàng)建線程

    java Runnable接口創(chuàng)建線程

    這篇文章主要介紹了java Runnable接口創(chuàng)建線程的相關資料,需要的朋友可以參考下
    2017-07-07

最新評論