<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                本文主要列出一些Java常用到確又讓大家不怎么注意的問題。 將會不斷更新,歡迎關注…… 如有覺得不合理之處,歡迎評論交流,沒有火花怎么印象深刻? (1)Java到底是值傳遞?還是引用傳遞? 揪出這個問題是因為有同學說開始寫博客了,于是他寫怎么篇博客:[Java到底是值傳遞?還是引用傳遞?](http://blog.csdn.net/xiaosha009/article/details/50680199#comments),說讓我看看。 我看完覺得挺合理的,馬上給他回復說“不錯哦”。合理是合理,但是按照他的說法,那什么不是傳值過去啊,都是值傳遞? 今天早上上班,來得比較早,就百度了一下這個問題,于是又看到了另外一篇文章:[Java:按值傳遞還是按引用傳遞詳細解說](http://blog.csdn.net/zzp_403184692/article/details/8184751),里面評論是各種撕逼。還是沒有得到統一答案啊。 后面又看到另外一篇文章:[Java中只有按值傳遞,沒有按引用傳遞!](http://guhanjie.iteye.com/blog/1683637),以及該文章對應的評論。我也有了自己的看法。 對比這些博客以及對應的評論,“在Java里面只有基本類型和按照下面這種定義方式的String是按值傳遞(就是直接使用雙引號定義字符串方式:String str = “小寶鴿”),其它的都是按引用傳遞。”好像有些道理。 java.lang.String的實例對象一旦創建,它包含的字符序列就不能被改變了。 String傳遞的也是引用副本的傳遞,但是因為String為final的,所以和按值傳遞等同的。 其實按值還是按引用的區別在于“是否在傳遞的時候進行對象的內存拷貝”,java中基本類型是由于在JVM中存儲區域不同于普通對象所以傳遞前會拷貝,傳遞的是拷貝后的值,但是對象在傳遞的時候不拷貝,直接傳“引用值”,指向同一片對象堆內存區域。(但是這這句話:其實按值還是按引用的區別在于“是否在傳遞的時候進行對象的內存拷貝”的正確性仍待考證) 后面,同學說了不應該通過比較幾篇博客文章就胡亂得出結論,誤人子弟。讓我十分惶恐…… 后面有看到一些知乎的回答:[java到底是值傳遞還是引用傳遞?](https://www.zhihu.com/question/31203609)。讓我又有了不一樣的理解。 不過,根據Horstmann的《java核心技術》(中文第8版P115-P117)的描述,java中是沒有引用傳遞的,原文摘錄如下: ”java程序設計語言總是采用值調用。也就是說,方法得到的是所有參數值的一個拷貝,特別是,方法不能修改傳遞給它的任何參數變量的內容。“ ”有些程序員(甚至是本書的作者),認為java程序設計語言對對象采用的是引用調用,實際上這種理解是不對的。” 目前正在看深入Java虛擬機,待了深入了解了jvm的內存的分布結構,再寫篇博客給出詳細的解釋吧。也十分建議猿友們了解一下jvm的內存的分布結構。 如果猿友們有認真看我貼出的其他博主博客,拋開值傳遞和引用傳遞的概念,起碼知道了什么樣的調用,得到什么值。這就已經很不錯了。 通過這么一番學習,一方面認識到了,寫博客嚴謹十分重要,免得誤人子弟。也深刻認識到自己對jvm的理解不足。另外方面,同上面的一些資料,閱讀過程中其實收獲還是挺大的, 起碼比一開始就給我一個結論“java程序設計語言總是采用值調用”的收獲還大些。 ### 不斷更新中…….
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看