Re: [問題]JAVA指標???
※ 引述《adrianshum (Alien)》之銘言:
: 其實我一向都主張把 Java 的 reference
: 當成指標理解的.
: 事實上除了不能作 pointer manipulations 以外,
: 也的確和pointer 沒有什麼大分別.
: 以 pointer 去理解, 很多概念會更清楚.
這方式比較適用於本來就懂何謂 pointer 的人吧?
真的要探討 Java Reference 與 pointer 的不同處,除了 Java Reference 不能
作 pointer arithmetic 外,Java PL 沒有明顯的 dereference 語意(直接使用 .)。
再加上 Java 是 strong-typed runtime,所以也不能透過改變 reference value 的
compile-time type 來改變 dereference 行為。
如果你有使用 JNI,更不能假設 Java Reference 是 pointer(object 的位址)。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.129.48
推
04/28 04:24, , 1F
04/28 04:24, 1F
→
04/28 04:28, , 2F
04/28 04:28, 2F
畢竟這是 C header,他設計成讓 C native function 可以透過 pointer 來操作
某些結構,與 Java reference 是否是 pointer 關係不大。
再者,你可以看出 _jobject struct/class 的 layout 嗎?一個 Java Reference
value pass 給 native method 對應的 native function 後,會成為 _jobject*
value,但你對此 value 做 dereference 並無法直接 access Java object 所佔用
的空間。
※ 編輯: sbrhsieh 來自: 218.173.134.219 (04/28 16:03)
討論串 (同標題文章)