Object obj:描述的是保存在棧內存之中,然後保存有堆內存的引用,這個數據會保存在本地變量表中(變量表描述有哪些對象,保存對象棧的位置,棧對應着堆內存地址,因此這也是java變量不容許重名的緣由)java
new Object():一個真正的對象,保存在堆內存之中。ui
直觀操做3d
經過句柄訪問(鏈接最穩定)指針
Java經過直接指針訪問——HotSpot虛擬機code
三種JVM對象
Oracle收購了SUN和BEA以後,獲得了業內的兩個虛擬機版本。blog
取得當前的JVM版本內存
java -version
java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
使用純解釋模式啓動虛擬機
java -Xint -version
java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, interpreted mode)
使用純編譯模式啓動it
java -Xcomp -version
java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, compiled mode)