java的重要性
Java作為眾多的程序設計語言中的一種,為什么它如此重要?
在閱讀《Java編程思想》的過程中,發(fā)現(xiàn)作者在介紹某一個知識點的時候,總是將Java與c、c++等其他編程語言進行比較,突出Java的優(yōu)點或進步,故寫此篇博客進行總結。
寫在前面
Java不僅是一種功能強大的、安全的、跨平臺的、國際化的編程語言,而且它還在不斷地被擴展,以提供更多的語言功能和類庫,能夠優(yōu)雅地處理在傳統(tǒng)編程語言中很難解決的問題,例如并發(fā)、數(shù)據(jù)庫訪問、網(wǎng)絡編程和分布式計算。
?特點
Java是目前使用最為廣泛的網(wǎng)絡編程語言之一。
它具有簡單,面向對象,穩(wěn)定,與平臺無關,解釋型,多線程,動態(tài)等特點。
1、簡單
如果你學習過 C++語言,你會感覺 Java很眼熟,因為 Java中許多基本語句的語法和 C++一樣,像常用的循環(huán)語句,控制語句等和 C++幾乎一樣,但不要誤解為 Java 是 C++的增強版,Java 和 C++是兩種完全不同的語言,他們各有各的優(yōu)勢,將會長期并存下去,Java 語言和 C++語言已成為軟件開發(fā)者應當掌握的語言。如果從語言的簡單性方面看,Java要比 C++簡單,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚更容易理解的方式實現(xiàn),例如,Java不再有指針的概念。?
2、面向對象基于對象的編程更符合人的思維模式,使人們更容易編寫程序。
在實際生活中,我們每時每刻都與對象在打交道。我們用的鋼筆,騎的自行車,乘的公共汽車等。而我們經(jīng)常見到的卡車,公共汽車,轎車等都會涉及以下幾個重要的物理量可乘載的人數(shù),運行速度,發(fā)動機的功率,耗油量,自重,輪子數(shù)目等。另外,還有幾個重要的功能加速功能,減速功能,剎車,轉彎功能等。我們也可以把這些功能稱作是他們具有的方法,而物理量是它們的狀態(tài)描述。在現(xiàn)實生活中,我們用這些共有的屬性和功能給出一個概念機動車類。一個具體的轎車就是機動車類的一個實例 對象 .Java 語言與其它面向對象語言一樣,引入了類的概念,類是用來創(chuàng)建對象的模板,它包含被創(chuàng)建的對象的狀態(tài)描述和方法的定義。
3、與平臺無關與平臺無關是 Java 語言最大的優(yōu)勢。
其它語言編寫的程序面臨的一個主要問題是 操作系統(tǒng)的變化,處理器升級以及核心系統(tǒng)資源的變化,都可能導致程序出現(xiàn)錯誤或無法運行。Java的虛擬機成功地解決了這個問題,Java編寫的程序可以在任何安裝了 Java虛擬機 JVM 的計算機上正確的運行,Sun公司實現(xiàn)了自己的目標 “一次寫成,處處運行”。
4、解釋型
java是一種解釋性語言,我們知道C,C++等語言,都是只能對特定的CPU芯片進行編譯,生成機器代碼,該代碼的運行就和特定的CUP有關。例如,在C語言中,我們都碰到過類似下面的問題 int 型變量的值是10 ,那么下面代碼的輸出結果是什么呢 printf(“%d,%d”,x,x=x+1)如果上述語句的計算順序是從左到右,結果是 10,11 但是,有些機器會從右到左計算,那么結果就是11,11.Java不像C++,它不針對特定的CPU芯片進行編譯,而是把程序編譯為稱做字節(jié)碼的一個“中間代碼”。字節(jié)碼是很接近機器碼的文件,可以在提供了 Java 虛擬機 JVM 的任何系統(tǒng)上被解釋執(zhí)行。Java 被設計成為解釋執(zhí)行的程序,即翻譯一句,執(zhí)行一句,不產生整個的機器代碼程序。翻譯過程如果不出現(xiàn)錯誤,就一直進行到完畢,否則將在錯誤處停止執(zhí)行。同一個程序,如果是解釋執(zhí)行的,那么它的運行速度通常比編譯為可執(zhí)行的機器代碼的運行速度慢一些。但是,對Java來說,二者的差別不太大,Java的字節(jié)碼經(jīng)過仔細設計,很容易便能使用JIT 即時編譯方式 編譯技術將字節(jié)碼直接轉化成高性能的本地機器碼,Sun 公司在 Java 2發(fā)行版中提供了這樣一個字節(jié)碼編譯器——JIT(Just In Time),它是Java虛擬機的一部分。Java運行系統(tǒng)在提供JIT的同時仍具有平臺獨立性,因而“高效且跨平臺”對Java來說不再矛盾。如果把 Java 的程序比做“漢語”的話,字節(jié)碼就相當于“世界語”,世界語不和具體的“國家”關,只要這個“國家”提供了“翻譯”,就可以再快速地把世界語翻譯成本地語言。
5、多線程
Java 的特點之一就是內置對多線程的支持。多線程允許同時完成多個任務。實際上多線程使人產生多個任務在同時執(zhí)行的錯覺,因為,目前的計算機的處理器在同一時刻只能執(zhí)行一個線程,但處理器可以在不同的線程之間快速地切換,由于處理器速度非???#xff0c;遠遠超過了人接收信息的速度,所以給人的感覺好象多個任務在同時執(zhí)行。C++沒有內置的多線程機制,因此必須調用操作系統(tǒng)的多線程功能來進行多線程程序的設計。?
6、安全
當你準備從網(wǎng)絡上下載一個程序時,你最大的擔心是程序中含有惡意的代碼,比如試圖讀取或刪除本地機上的一些重要文件,甚至該程序是一個病毒程序等。當你使用支持Java的瀏覽器時,你可以放心地運行Java的小應用程序 Java Applet ,不必擔心病毒的感染和惡意的企圖,Java小應用程序將限制在 Java運行環(huán)境中,不允許它訪問計算機的其它部分。
7、動態(tài)
Java 程序的基本組成單元就是類,有些類是自己編寫的,有一些是從類庫中引入的,而類又是運行時動態(tài)裝載的,這就使得 Java 可以在分布環(huán)境中動態(tài)地維護程序及類庫,而不像 C++那樣,每當其類庫升級之后,相應的程序都必須重新修改,編譯。
總結
每種編程語言都有自己的操縱內存中元素的方式,Java在這里做了簡化,一切都被視為“對象”,可以使用引用操縱對象。
——2.1 用引用操縱對象
Java要確定每種基本類型所占存儲空間的大小,增強了Java的可移植性。
——2.2 必須由你創(chuàng)建所有對象
Java提供了兩個用于高精度計算的類:BigInteger 和 BigDecimal。
——2.2.2 特例:基本類型
使用數(shù)組時,Java確保數(shù)組會被初始化,而且不能在它的范圍之外被訪問,提高了安全性。
——2.2.3 Java中的數(shù)組
Java有一個垃圾回收器,用來監(jiān)視用new創(chuàng)建的所有對象,并辨別那些不會再被引用的對象,隨后,釋放這些對象的內存空間,所以,你根本不必擔心內存回收的問題,消除了內存泄漏的問題,這也是Java的神奇之處。
——2.3 永遠不需要銷毀對象
轉載于:https://www.cnblogs.com/xiaomengyuan/p/9035655.html
總結
- 上一篇: 004-ubuntu安装配置SSH服务
- 下一篇: python全栈学习--day40()