Java虛擬機是壹個可以執行Java字節碼的虛擬機進程。Java源文件被編譯成能被Java虛擬機執行的字節碼文件。Java應用程序可以運行在任意的平臺,而不需要程序員為每壹個平臺單獨重寫或者是重新編譯。Java虛擬機讓這個變為可能。
2.JDK和JRE的區別是什麽?
Java開發工具包(JDK)是完整的Java軟件開發包,包含了JRE,編譯器和其他的工具(比如:JavaDoc,Java調試器),可以讓開發者開發、編譯、執行Java應用程序。
Java運行時環境(JRE)是將要執行Java程序的Java虛擬機。它同時也包含了執行applet需要的瀏覽器插件。
3.描述壹下JVM加載class文件的原理機制?
JVM中類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader 是壹個重要的Java運行時系統組件,它負責在運行時查找和裝入類文件的類。如果妳想學習Java可以來這個群,首先是五三二,中間是二五九,最後是九五二,裏面有大量的學習資料可以下載。
4.Java基本數據類型有哪些,String是Java的基本數據類型嗎? 什麽是自動拆裝箱?
基本數據類型包括byte、short、int、long、float、double、char、boolean。
String不是Java的基本數據類型,String類是final類型,因此不可以繼承也不能修改這個類。
自動裝箱是Java編譯器在基本數據類型和對應的對象包裝類型之間做的壹個轉化。比如:把int轉化成Integer,double轉化成double,等等。反之就是自動拆箱。
5.Java有沒有goto
java中的保留字,現在沒有在java中使用。
6. 0.6332的數據類型是()
A float B double C Float D Double
答案:B
解析:默認為double型,如果為float型需要加上f顯示說明,即0.6332f。
7.short s1 = 1; s1 = s1 + 1;有什麽錯? short s1 = 1; s1 += 1;有什麽錯?
short s1 = 1; s1 = s1 + 1; (s1+1運算結果是int型,需要強制轉換類型)
short s1 = 1; s1 += 1;(+=是Java的運算符,Java編譯器會進行特殊處理,因此可以正確編譯)
8.Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12
Math.round(-11.5)==-11
round方法返回與參數最接近的長整數
9.數據類型轉換有哪幾種?並舉例說明。
1、隱式類型轉換
int i=1;long l=i;
2、強制類型轉換
long l=1;int i=(int)l;
10.簡述邏輯操作(&,|)與條件操作(&&,||)的區別
區別主要答兩點:
&& ||只能操作布爾型的,而& |不僅可以操作布爾型,而且可以操作數值型
& |在運算布爾型時不會產生短路現象,而&& || 會產生短路現象。