初識Java
Java的特性和優勢
簡單性
就是c++語法的純凈版,沒有頭檔案,指標運算,結構,聯合,運算子多載,虛基類等等,
面向物件
面向物件是一種程式設計技術,他將重點放在資料(即物件)和物件之間的介面上,萬物皆物件!
可移植性
這是JAVA的一個重要的優勢,JAVA代碼或者說位元組碼、二進制碼可以跨平臺的移植,而不用管具體的作業系統和硬體環境, “一次撰寫,隨處運行”:“write once, run anywhere”
高性能
JIT(JUST IN TIME)即時編譯,將一些“熱點”位元組碼編譯成本地機器碼,并將結果快取起來,在需要的時候重新呼叫,這樣的話,使JAVA程式的執行效率大大提高,某些代碼甚至接近c++的效率,
分布式
JAVA是為internet的分布式環境設計的,因為他能夠處理tcp/ip協議,
動態性
就是在需要時將某些代碼添加到正在運行的程式中,反射機制,當需要把某些代碼添加到正在運行的程式中時,動態性是一個非常重要的特性,Java的動態特性是其面向物件設計方法的擴展,它允許程式動態地裝入運行程序中所需要的類,這是C++語言進行面向物件程式設計所無法實作的,
多執行緒
多執行緒的使用可以帶來更好的互動回應和實時行為,多執行緒的簡單性是Java成為主流服務器端開發語言的主要原因之一,
安全性
Java適合于網路/分布式環境,為了達到這個目標,在安全性方面投入了很大的精力,使Java可以構建防病毒,防篡改的系統,
健壯性
Java是一種健壯的語言,吸收了C/C++ 語言的優點,但去掉了其影響程式健壯性的部分(如:指標、記憶體的申請與釋放等),
Java三大版本
-
JAVA SE:它是JAVA的標準版,是整個JAVA的基礎和核心,是JAVAEE和JAVAME技術的基礎,主要用于開發桌面應用程式,
-
JAVA ME:它是JAVA的微縮版,主要應用于嵌入式開發,比如手機程式的開發,
-
JAVA EE:也叫JAVA的企業版,它提供了企業級應用開發的完整解決方案,比如開發網站,還有企業的一些應用系統,是JAVA技術應用最廣泛的領域,主要還是偏向于WEB的開發,而JAVA EE的基礎就是JAVA SE,是最核心的,
JDK 和 JRE
JDK
Java 2 SDK (Development Kit)包含:JRE的超集,包含編譯器和除錯器等用于程式開發的檔案
JRE
Java Runtime Environment (JRE) 包含:Java虛擬機、庫函式、運行Java應用程式和Applet所必須檔案
Java運行環境的三項主要功能:
-
加載代碼:由class loader 完成;
-
校驗代碼:由bytecode verififier 完成;
-
執行代碼:由 runtime interpreter完成,
區別和聯系:
sdk(也就是jdk)是jre的超集,是在jre的基礎上增加了編譯器及其他一些開發工具, jre就是java運行時環境,包括了jvm和其它一些java核心api,任何一臺電腦,只有安裝了jre才可以運行java程式,如果只是要運行JAVA程式,之需要JRE就可以, JRE通常非常小,也包含了JVM,如果要開發JAVA程式,就需要安裝JDK,
初識JVM
(JAVA Virtual Machine)
JVM是一種規范,可以使用軟體來實作,也可以使用硬體來實作,就是一個虛擬的用于執行bytecodes位元組碼的計算機,他也定義了指令集、暫存器集、結構堆疊、垃圾收集堆、記憶體區域, JVM負責將java位元組碼解釋運行,邊解釋邊運行,這樣,速度就會受到一定的影響JAVA提供了另一種解釋運行的方法JIT(just in time),可以一次解釋完,再運行特定平臺上的機器碼,高級的JIT可以只能分析熱點代碼,并將這些代碼轉成本地機器碼,并將結果快取起來,下次直接從記憶體中呼叫,這樣就大大提高了執行JAVA代碼的效率,這樣就實作了跨臺、可移植的功能,
-
JVM是指在一臺計算機上由軟體或硬體模擬的計算機;它類似一個小巧而高效的CPU,
-
byte-code代碼是與平臺無關的是虛擬機的機器指令,
-
java位元組代碼運行的兩種方式:
1)方式interpreter(解釋) 2)Just-in-time(即時編譯):由代碼生成器將位元組代碼轉換成本機的機器代碼,然后可以以較高速度執行,
JAVA的跨平臺實作的核心是不同平臺使用不同的虛擬機不同的作業系統有不同的虛擬機,Java 虛擬機機制屏蔽了底層運行平臺的差別,實作了“一次編譯,隨處運行”,
撰寫 Java 程式時,應注意以下幾點:
-
大小寫敏感:Java 是大小寫敏感的,這就意味著識別符號 Hello 與 hello 是不同的,
-
類名:對于所有的類來說,類名的首字母應該大寫,如果類名由若干單詞組成,那么每個單詞的首字母應該大寫,例如 MyFirstJavaClass ,
-
方法名:所有的方法名都應該以小寫字母開頭,如果方法名含有若干單詞,則后面的每個單詞首字母大寫,
-
源檔案名:源檔案名必須和類名相同,當保存檔案的時候,你應該使用類名作為檔案名保存(切記Java 是大小寫敏感的),檔案名的后綴為 .java,(如果檔案名和類名不相同則會導致編譯錯誤),
-
主方法入口:所有的 Java 程式由 public static void main(String []args) 方法開始執行,
JAVA程式的運行機制
計算機的高級編程語言型別: 編譯型 ,解釋型. Java 語言是兩種型別的結合,
編譯型:
有一個負責翻譯的程式來對我們的源代碼進行轉換,生成相對應的可執行代碼,這 個程序說得專業一點,就稱為編譯(Compile),而負責編譯的程式自然就稱為編譯器(Compiler),就類似于把一本中文書直接翻譯成英文版進行出售,
程式執行速度快,同等條件下對系統要求較低,因此像開 發作業系統、大型應用程式、資料庫系統等時都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可視為編譯語言,而一些網頁腳本、服務器腳本及輔助開發介面這樣的對速度要求不高對不同系統平臺間的兼容性有一定要求的程式則通常使用解釋性語言,如Java、 JavaScript、VBScript、Perl、Python等等,
翻譯型:
打個比方:假如你打算閱讀一本外文書,而你不知道這門外語,那么你可以找一 名翻譯,給他足夠的時間讓他從頭到尾把整本書翻譯好,然后把書的母語版交給你閱讀(編譯型);或者,你也立刻讓這名翻譯輔助你閱讀,讓他一句一句給你翻譯,如果你想往回看某個章節,他也得重新給你翻譯,(解釋型)
**Java語言雖然比較接近解釋型語言的特征,但在執行之前已經預先進行一次預編譯,生成的代碼是介 于機器碼和Java源代碼之間的中介代碼,運行的時候則由JVM(Java的虛擬機平臺,可視為解釋器)解 釋執行,它既保留了源代碼的高抽象、可移植的特點,又已經完成了對源代碼的大部分預編譯作業,所以 執行起來比“純解釋型”程式要快許多,**
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/541057.html
標籤:Java
上一篇:力扣104 求二叉樹的最大深度
下一篇:AI修復照片
