學習軟件開發,首先要選擇的就是選擇須要採用的編程語言,考慮語言自己的優缺點和實際需求,綜合評價以後選擇相關的語言進行系統開發。本篇博客開始就從近年來比較流行的Java開始爲你們講起。
背景
1995年,SUN公司推出了Java的第一個白皮書,其中對Java的定義爲:Java是一種簡單性(Simple),面向對象(Object-Oriented),分佈式(Distributed),解釋型(Interpreted),健壯性(Robust),安全性(Secure),結構中立(Architecture-neutral),可移植性(Portable),高性能(High-Performance),多線程(Multi-Threaded),動態的(Dynamic)語言。如何理解這些特性呢?
簡單性
Java的簡單性是相對於其餘語言來說的,就其自己學習來說,其實倒不見得如何簡單。Java是一種類C的編程語言,基本語法與C、C++相似,其簡單性重要的一點就是去除了C中容易出錯的指針和內存管理,但正由於如此,Java的內存管理對於開發來說相對不太容易,常常出現的就是內存佔溢出沒法釋放的問題。還有一點簡單性表如今Java編寫的軟件能夠在很小的機器上運行,這與其自身的基礎類庫所佔的大小不足1M有關。
面向對象
Java是一種徹底面向對象的編程語言,它雖然只支持類之間的單繼承,但能夠實現多個接口,另外Java語言全面支持動態綁定的特性也爲咱們提供了便利。
分佈式
Java擁有一個支持HTTP和FTP等基於TCP/IP協議的類庫,所以,Java能夠獲取網絡上的任意資源,將網絡資源看做本地資源進行操做,另外Java中的遠程方法調用RMI( Remote Method Invocation)也爲其實現分佈式提供了重要手段。
解釋型
Java的是一種解釋型的編程語言,用Java編寫的程序在Java平臺上被編譯爲字節碼格式,在運行時,Java平臺中的解釋器對這些字節碼進行解釋並執行,這一點與C,C++等編譯型語言有所不一樣。
健壯性
Java語言的健壯性主要表如今Java對指針和內存的管理上。儘管在Java去除了指針的概念,但Java自己採用的是一種相似於指針的對象引用方式巧妙的方式避免了指針使用的隨意性。在內存管理上,Java的內存的自動收集機制也是Java程序健壯性的重要保證。
安全性
Java語言的安全性主要表如今兩方面:一方面是語言自己的特性,例如去除了指針避免對內存的直接操做;另外一方面,Java自己提供了一個安全運行機制使用戶免受非可信任的程序的破壞,也就是所謂的沙箱(sandbox)機制。沙箱的做用就是保證Java程序只能在沙箱的邊界以內運行,換句話說,Java程序能夠在沙箱邊界內任意運行,但在沙箱邊界以外則什麼都不能作。
結構中立
Java語言的結構中立性緣由在於Java程序被設計爲運行在介於源程序和具體機器之間的Java虛擬機上。主要表如今其編譯生成的字節碼文件只與Java虛擬機相關,與具體的機器無關,這就是爲何這種字節碼從能夠在不少處理器上執行的緣由。
可移植性
Java的可移植性基礎就是Java的結構中立性,另外Java中對基本數據類型的大小和算法都有嚴格的規定,因此其可移植性相對較好。
高性能
Java的高性能性是相對來說的,一般來說編譯型語言自己較解釋性語言的執行效率要高。Java自己相對於其餘解釋性的語言而言,其高效性是其餘語言所沒法匹敵的。雖然Java自己相對於解釋型的C和C++運行速度而言有稍許不足,但隨着Java編譯器的不斷髮展,這個差距正在逐漸變小。
多線程
Java語言自己可以支持多個線程的同時執行,而且爲提供多個線程之間同步運行提供了相應的機制,也就說Java擁有不錯的實時交互性和實時控制性。
動態的
Java的動態性表如今Java程序須要的類可以動態的被加載到運行環境中,這對於軟件的升級和維護有着重要的意義。
今天咱們主要講解了一下Java的11個特性,若是僅僅應對開發,那麼簡單的瞭解就好,可是若是是從架構設計或者系統級考慮,還須要更加深刻的瞭解,這也是爲何咱們要深刻學習Java語言的根本緣由。算法
好了,今天咱們就先介紹到這裏,下一次咱們繼續介紹一下Java的其餘相關內容。編程
做者:zs15932616453 發表於2014-3-28 1:25:10
原文連接