Re: [問題] local variable

看板java作者 (tamamad)時間14年前 (2009/09/18 17:36), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串2/2 (看更多)
經本人再次實驗結果,這種寫法 沒 有 問 題 XD 我目前寫的是跟硬體相關的程式 所以目前推測發生的問題可能跟機器本身執行的state有關(不過還是一樣沒有結論) 昨天測試不夠 還妄下斷論 還來發了篇廢文 所以這種寫法使用array沒有問題 請各位安心使用 版主如果覺得我的文太廢,請幫我刪掉吧 XD ※ 引述《tamamad (tamamad)》之銘言: : 想請教各位一個 local variable的問題,程式碼如下: : public void func(){ : byte[] buf = new byte[100]; : func2( buf ); : } : public void func2(byte[] formal ){ : .... : } : buf是一個local variable,JVM會將他放置在stack : 而buf所指到的byte array, JVM會將它放置在 heap 區 : 我想問的重點是,我call function時, : 如果引數部分傳給他的是一個 local variable(如程式碼 call func2 的那行 ) : 會不會有可能造成一些問題? : 我的想法是,JAVA只有pass by value,所以當我用 buf 當引數時, : 在func2裡的 formal 也會指到放在heap裡的byte array, : 所以原則上這應該是沒問題的引數傳遞 : 然而我在實作上卻會出現一些問題, : 後來我的解法是把要傳給func2的byte array reference宣告成 instance variable : 但是百思不得其解,為什麼傳 local variable會出問題, : 想請教板上各位高手, : 鳩境 問題出在哪裡? : 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.228.22

09/18 17:38, , 1F
by the way,原本的問題在我將變數改宣告成instant variabl
09/18 17:38, 1F

09/18 17:40, , 2F
還是一樣有問題,我昨天搞錯了<(_ _)>
09/18 17:40, 2F

09/19 17:54, , 3F
ㄜ... 有沒有人能翻譯一下,我實在看不太懂.... Orz
09/19 17:54, 3F

09/20 03:00, , 4F
是說是在嵌入式系統執行,所以有硬體出錯的可能嗎?XD
09/20 03:00, 4F

09/20 09:54, , 5F
樓上翻譯正確
09/20 09:54, 5F
文章代碼(AID): #1AirIerU (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1AirIerU (java)