java和c++有什麼不同
Java並不僅僅是C++語言的一個變種,它們在某些本質問題上有根本的不同:
(1)Java比C++程式可靠性更高。有人曾估計每50行C++程式中至少有一個BUG。姑且不去討論這個數字是否誇張,但是任何一個C++程式設計師都不得不承認C++語言在提供強大的功能的同時也提高了程式含BUG的可能性。Java語言通過改變語言的特性大大提高了程式的可靠性。
(2)Java語言不需要程式對記憶體進行分配和回收。Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符過載、多繼承、自動的強制型別轉換。特別地,Java語言不使用指標,並提供了自動的廢料收集,在Java語言中,記憶體的分配和回收都是自動進行的,程式設計師無須考慮記憶體碎片的問題。
(3)Java語言中沒有指標的概念,引入了真正的陣列。不同於C++中利用指標實現的“偽陣列”,Java引入了真正的陣列,同時將容易造成麻煩的指標從語言中去掉,這將有利於防止在c++程式中常見的因為陣列操作越界等指標操作而對系統資料進行非法讀寫帶來的不安全問題。
(4)Java用介面(Interface)技術取代C++程式中的多繼承性。介面與多繼承有同樣的功能,但是省卻了多繼承在實現和維護上的複雜性。
Java和C++各有各的優勢,無需爭論那種語言好,哪種語言不好,能夠存在就一定有它的優勢,只要你決定了要學程式設計就紮實的學好,程式語言都是相同的,學會一種,其他的學起來就很容易了。
歡迎加群496038649,一起交流學習,驗證澆水。
相關文章
- C++和Java有什麼不同C++Java
- Go和Java的interface有什麼不同GoJava
- C++有什麼與眾不同之處?C++
- Python和Java之間有什麼不同之處?PythonJava
- struct和typedef struct 有什麼不同呢?Struct
- YottaChain和IPFS礦機有什麼不同?AI
- 公有IP和私有IP有什麼不同
- Python和Java之間有什麼不同之處?總結!PythonJava
- Linux和Unix有什麼不同之處?Linux
- python中,"_"和"__"的作用有什麼不同?Python
- 路由器和交換機有什麼不同路由器
- Python中的arange是什麼?和range有什麼不同?Python
- c++中&和&&有什麼區別C++
- C++ 和java的不同點C++Java
- 搜尋和其他機器學習問題有什麼不同?機器學習
- 互斥鎖和訊號量有什麼不同?(譯)
- 物理機和虛擬機器有什麼不同虛擬機
- SCRM系統和CRM系統有什麼不同?
- 【Python小知識】什麼是HTTP和HTTPS?有什麼不同?PythonHTTP
- 電腦gpu是什麼意思 gpu和cpu有什麼區別不同GPU
- VB.NET和Python有什麼不同?前景分析!Python
- 遊戲音樂和影視音樂有什麼不同?遊戲
- Java和Python是什麼?有什麼區別?JavaPython
- C++中vector*和vector有什麼區別C++
- Linux 與 BSD 有什麼不同?Linux
- Linux與BSD有什麼不同?Linux
- Java 介面和抽象類是什麼,有什麼區別Java抽象
- Redis 中 set 和 hset 有什麼不同,各自使用場景Redis
- Docker和虛擬機器有什麼不同?哪個好?Docker虛擬機
- 代理伺服器和免費代理IP有什麼不同?伺服器
- Linux和Windows系統有什麼不同?如何選擇?LinuxWindows
- Debian和Ubuntu有什麼不同嗎?該如何選擇?Ubuntu
- SFTP是什麼協議?優勢有哪些?與FTP有什麼不同?FTP協議
- Linux系統有什麼特性?與Windows對比有什麼不同?LinuxWindows
- Linux vs. Unix:有什麼不同?Linux
- "什麼是海外代理IP池?共享IP池和獨享IP池有什麼不同?"
- Linux中awk和sed分別指什麼?兩者之間有什麼不同?Linux
- 虛擬主機和獨立伺服器有什麼不同伺服器