java 沒有多重繼承,沒有指針
Java 使用接口解決多重繼承問題,使用引用替代指針
Java 幾乎所有對象都是在堆上分配
Java 的內存管理不是用引用計數,而是垃圾回收
Java 的指針操作功能不能跨平臺,是指指針的算數算法
如果獲得一個java對象的地址,你可以操作這個對象,但是你不能一直認為這個地址指向那個java對象,因為那個對象可能會被垃圾回收器搬到別的地方去
Java的引用能移植跟蹤對象的搬遷,簡單的C++指針不可能做到這點。
|
天使的白骨 給我一個EMACS,我不需要操作系統 |
借問,引用計數不是自動垃圾回收的一種機制么?
標準庫中實現了auto_ptr及shared_ptr,可以有類似于引用計數的效果。
因為那個對象可能會被垃圾回收器搬到別的地方去
=============================
這句話直接混淆了物理上的指針(CPP)和java引用。
在java虛擬機之上,引用是不會被垃圾回收改變的。只有實現才需要考慮這個問題。這個對java應用本身沒有影響
你不能斷章取義。如果獲得一個java對象的地址,你可以操作這個對象,但是你不能一直認為這個地址指向那個java對象,因為那個對象可能會被垃圾回收器搬到別的地方去