JAVA基礎面試題 一
JAVA基礎面試題(一)
1.1. 這你認為Java與其他(你所了解的)語言相比,有什麼優點和缺點?
參考答案:
首先,Java與C/C++相比。Java語言是一種完全的面向對象語言,雖然它的底層(運行時庫)是用C語言開發的,可是並不依賴於C。因為Java的運行是在運行時庫的支持下 進行的,所以運行效率比起可以更接近底層的C/C++來說效率會有所影響,不過Java的類 庫採用很好的設計理念,非常好用,也非常實用,已經成為業界的一種標準開發語言。它的跨平台的恃注受到開發者的青睞,只需要開發一次就能在所有安裝了Java運行時庫的環境上運行。
其次,Java與C#相比。C#是微軟開發的一種編程語言,語法類似Java ,幾乎就是Java的翻版。運行原理和Java也類似,也是通過運行時庫的支持運行。不過支持的平台還很有限。Java幾乎被所有平台支持,而C#目前只被Windows和linux支持,Windows下的支持當然是由微軟自己開發的,而Linux下的支持則有mono支持。實際上,mono也是把C#應用轉化為Java應用而已,所以本質上,C#仍然只是被微軟自己的操作系統支持。應用平台受到限制,是它最大的缺點。
1.2. 請回答以下幾個名詞的意思:JVM、JDK、JRE、JavaSE、JavaEE,JavaME,GC
參考答案:
JVM : Java虛擬機,Java Virtual Machine的縮寫。是一個虛構出來的計算機,通過在實際的計算機上模擬模擬各種計算機功能來實現的。Java虛擬機有自己完善的5更體架構, 如處理器、tS棧"寄存器等,還具有相應的指令系統。JVM屏蔽了與具體操作系統平台相關的信息,使得Java程序只需生成在Java虛擬機上運行的目標代碼(位元組碼),就可以在多種平台上不加修改地運行。
JDK : Java開發工具包,Java Development Kit的縮寫。JDK是整個Java的核心, 包括了Java運行環境、Java工具和Java基礎類庫。
JRE : Java運行環境,Java Runtime Environment的縮寫。運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。
JavaSE : Java Standard Edition ,標準版,是我們常用的一個版本,從JDK 5.0開始, 改名為Java SE , 主要用於桌面應用軟體的編程。
JavaEE : Java Enterprise Edition ,企業版。JavaEE 是 J2EE 的一個新的名稱,主要用於分布式的網路程序的開發。
JavaME Java Micro Edition,是為機頂盒、行動電話和PDA之類嵌入式消費電子設備提供Java語言平台,包括虛擬機和一系列標準化的Java API。
GC : 垃圾回收,Garbage Collection的縮寫。當Java虛擬機發覺內存資源緊張時, 則會自動地去清理無用對象(沒有被引用到的對象)所佔用的內存空間。
1.3. JVM能有幾個實例?
參考答案:
每個Java程序對應於一個JVM實例,當一個Java程序運行時就創建一個JVM實例, 因此JVM實例的個數取決於同時執行的程序個數。
1.4. Java跨平台是如何實現的?
參考答案:
Java是利用JVM (Java虛擬機)實現跨平台的。
Java源代碼(*.java )經過Java編譯器編譯成Java位元組碼(.class ),執行Java位元組碼,Java位元組碼經過JVM解釋為具體平台的具體指令,並執行。不同平台有不同的JVM , 主流平台都提供了JVM ,所以Java位元組碼可以在主流平台上能夠解釋執行。在這個意義上 Java是跨平台的,也就是說Java的位元組碼是跨平台的。
1.5. 簡述TCP/UDP協議的區別?
參考答案:
TCP/UDP協議的區別如下表所示。
1.6.闡述一下類的命名規則、方法的命名規則、變數的命名規則、包名的命名規則、常量的 命名規範?
參考答案:
在Java中,類的命名、方法的命名、變數的命名、包名的命名以及常量的命名首先必 須符合Java標識符的命名規則,規則如下:
1)可以以字母、數字、"-"和"$"符組成;
2)首字元不能以數字開頭;
3)中文可以作為變數名,但不提倡使用;
4) Java大小寫敏感,命名變數時需要注意;
5)不能使用Java保留字(一些Java語言規定好的,有特殊含義的字元),如:int、 if、for、break 等。
其次,類的命名、方法的命名、變數的命名、包名的命名以及常量的命名要符合如下規範:
1)類命名規範:首字母大寫,如果由多個單詞合成一個類名,要求每個單詞的首字 母也要大寫,如:HelloWorld。
2)方法命名規範:首字母小寫,中間的每個單詞的首字母都要大寫,如:getName。
3)變數的命名規範:變數的命名規範和方法一樣,首字母小寫,中間的每個單詞的 首字母都要大寫,如:name。
5)常量的命名規範:基本數據類型的常量名為全大寫,如果是由多個單詞構成,可 以用下劃線隔開,如:WEEK_OF_MONTH
1.7.闡述一下Java共有幾種注釋方法?
參考答案:
在Java中有三種注釋類型:
1)單行注釋符號是"//",只能注釋一行。
2) 塊注釋符號是" /* */ ",可以跨多行。
3) javadoc注釋符號是" /** */ " ,可以跨多行,而且生成javadoc時,這樣的注釋會被生成標準的Java API注釋。
1.8.如何增加代碼的清晰度和可觀性?
參考答案:
增加代碼的清晰度和可觀性常用的方式如下:
給代碼添加註釋。
類名包名等命名規範化。
縮進排版規範。
添加異常的處理。
使用測試類和測試方法。


※java面向對象的六大原則
※Java反射獲取類和對象信息全解析
※java技術團隊必須要注意的那幾個點
※給初學者的建議 中
TAG:java學習吧 |
※分享一些PHP面試題目
※Vue前端面試題
※一份「有點難」的iOS面試題
※面試穩了!BATJ 等大廠 400+ 道面試題全匯總
※Android面試題推薦
※程序員面試題和技巧分享,掌握八成便可去BAT一試!
※一道 js 閉包面試題的學習
※自動化測試Selenium最新面試題和對應答案!
※考一考!嵌入式Linux Shell腳本的面試題
※想去 Google AI 工作?請收下這 20 道面試題
※Google 經典面試題解析
※微軟AI面試題有多難?這裡有一份樣卷
※關於 ArrayList 的 5 道面試題
※搞定這套 Python 爬蟲面試題,面試會 so easy
※演算法和編程面試題精選 TOP50!
※演算法和編程面試題精選TOP50!
※Hibernate面試題大全
※新年開工,這份 Oracle DBA的面試題目,看看你合格不?
※Python 經典面試題 21 道
※Python 經典面試題 21 道