1. Java是解釋型語言,所謂的解釋型語言,就是源碼會先通過一次編譯,成爲中間碼,中間碼再被解釋器解釋成機器碼。對於Java而言,中間碼就是字節碼(.class),而解釋器在JVM中內置了。函數
2. C++是編譯型語言,所謂編譯型語言,就是源碼一次編譯,直接在編譯的過程當中連接了,造成了機器碼。指針
3. C++比Java執行速度快,可是Java能夠利用JVM跨平臺。對象
4. Java是純面向對象的語言,全部代碼(包括函數、變量)都必須在類中定義。而C++中還有面向過程的東西,好比是全局變量和全局函數。blog
5. C++中有指針,Java中沒有,可是有引用。繼承
6. C++支持多繼承,Java中類都是單繼承的。可是繼承都有傳遞性,同時Java中的接口是多繼承,類對接口的實現也是多實現。接口
7. C++中,開發須要本身去管理內存,可是Java中JVM有本身的GC機制,雖然有本身的GC機制,可是也會出現OOM和內存泄漏的問題。C++中有析構函數,Java中Object的finalize方法內存
8. C++運算符能夠重載,可是Java中不能夠。同時C++中支持強制自動轉型,Java中不行,會出現ClassCastException(類型不匹配)。開發
做者:耑新新,發佈於 博客園get
轉載請註明出處,歡迎郵件交流:zhuanxinxin@foxmail.com源碼