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