java基礎回顧

1.什麼是字節碼?採用字節碼的最大好處是什麼

字節碼:Java源代碼經過虛擬機編譯器編譯後產生的文件(即擴展爲.class文件),他不面向特定的處理器,只面向虛擬機。

採用字節碼的最大好處:

java語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特點。所以Java程序運行時比較高效,而且,由於字節碼並不專對一種特定的機器,因此,Java程序無需重新編譯便可在多種不同的計算機上運行。

java中的編譯器和解釋器:

 

Java中引入了虛擬機的概念,即在機器上和編譯程序之間加入了一層抽象和虛擬機器。這臺虛擬的機器在任何平臺上都提供給編譯程序一個共同的接口。編譯程序只需要面向虛擬機,生成虛擬機能夠理解的代碼,然後由解釋器將虛擬機代碼轉換爲特定系統的機器碼執行。在Java中,這種供虛擬機理解的代碼叫做字節碼(即擴展爲.class的文件),它不面向任何特定的處理器,只面向虛擬機。每一種平臺的解釋器是不同的,但是實現的虛擬機只相同的。Java程序通過編譯器編譯後變成字節碼,字節碼由虛擬機解釋執行,虛擬機將每一條要執行的字節碼送給解釋器,解釋器將其翻譯成特定機器上的機器碼,然後在特定的機器上運行,這就是上面提到的Java的特點的編譯與解釋並存的解釋。(編譯器:javac.exe)

2.java中的float和double

 

double類型代表雙精度浮點數,float類型代表單精度浮點數。一個double類型的數值佔8個字節,64位、一個float類型的數值佔4個字節、32位。

只有浮點類型的數值纔可以使用科學計數法的方式,例如 51200 是一個int類型;但是512E2則是浮點類型的值。

java語言的浮點類型默認是double類型。如果希望Java把一個浮點類型值當成float類型處理,因該在這個浮點類型值後緊跟着f或F。例如5.12是一個double類型的值,佔64位的內存空間;5.12f或者5.12F才表示一個float類型的值,佔32位的內存空間。

 

java 還提供三個特殊的浮點數值:正無窮大、負無窮大和非數,用於表示溢出和出錯。

例如:使用一個正數除以0得到正無窮大

使用一個負數除以0得到一個負無窮大

0.0除以0.0或對一個負數開方得到一個非數。

所有的正無窮大的數都是相等的,所有的負無窮大都是相等的;而NaN不與任何數值相等,甚至和NaN都不相等。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章