Java面試題

一、 Java的三大技術架構

答:JavaEE,開發企業環境下的應用程序,主要針對web的程序開發

    JavaSE,完成桌面應用程序的開發,是其他兩者的基礎

    JavaME,開發電子消費產品和嵌入式設備,如手機中的程序

二、  JDK和JRE的區別

    答:JDK:Java的開發和運行環境,Java的開發工具盒jre。

        JRE:Java程序的運行環境,Java運行的所需要的類庫+jvm(java虛擬機)。

三 、Javac命令和Java命令做什麼事情?

     答:Javac命令用來編譯Java文件,Java命令可以執行生成class文件

四 、Java數據類型

    答: 基本數據類型包括byte、int、char、long、float、double、boolean和short。

        java.lang.String類是final類型

五、&和&&區別

    答:&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)

六、|和||區別

    答:||是邏輯判斷,||的左右都是布爾表達式,然後進行邏輯或運算。
                |是數值運算,|的左右是二進制數,然後根據,二進制數進行或運算。

七、面向對象

        答:1:、將複雜的事情簡單化

                2、面向對象將以前的過程中的執行者,變成了指揮官。

·                3、面向對象這種思想是符合現在人們思考習慣的一種思想。

八、堆和棧的區別?

        答:Java把內存劃分成兩種:一種是棧內存,一種是堆內存。
               在函數中定義的一些基本類型的變量和對象的引用變量都在函數的棧內存中分配。
                當在一段代碼塊定義一個變量時,Java就在棧中爲這個變量分配內存空間,當超過變量的作用域後,Java                    會自動釋放掉爲該變量所分配的內存空間,該內存空間可以立即被另作他用。
               

                 堆內存用來存放由new創建的對象和數組。

                在堆中分配的內存,由Java虛擬機的自動垃圾回收器來管理。

                在堆中產生了一個數組或對象後,還可以在棧中定義一個特殊的變量,讓棧中這個變量的取值等於數組或                    對 象在堆內存中的首地址,棧中的這個變量就成了數組或對象的引用變量。

                  引用變量就相當於是爲數組或對象起的一個名稱,以後就可以在程序中使用棧中的引用變量來訪問堆中                        的數組或對象。

九、成員變量和局部變量的區別?

        答:局部變量必須初始化;成員變量可以不用初始化,系統自動初始化。

十、構造函數和一般函數有什麼區別?   

       答:1兩個函數定義格式不同。

                2構造函數是在對象創建時,就被調用,用於初始化,而且初始化動作只執行一次。

              一般函數,是對象創建後,需要調用才執行,可以被調用多次。

十一、構造代碼塊和構造函數有什麼區別?

        答:構造代碼塊:是給所有的對象進行初始化,也就是說,所有的對象都會調用一個代碼塊。只要對象一建立。就         會調用這個代碼塊。

        構造函數:是給與之對應的對象進行初始化。它具有針對性。



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