自己累積的java面試題

java中基本的數據類型有哪些?

類型 學名
byte 字節型
short 短整型
int 整型
long 長整型
double 雙精度浮點型
float 單精度浮點型
char 字符類型
boolean 布爾型

 java中switch可以使用byte類型嗎?能使用String類型嗎?那能使用Long類型嗎?

java中switch可以使用byte、short、int、char以及枚舉類型

java1.7之後可以使用string類型

不可以long 類型佔位過大,在switch(expression)中,expression只能是一個整數表達式或者枚舉常量

java中==和equals和hashCode的區別

比較符 比較數字 比較對象 string
== 比較的是值,數字大小 比較的是引用地址 比較的是引用地址
equals   比較的是引用地址 比較的是字符串內容是否一樣(被重寫)
hashCode 比較的是引用地址 比較的是引用地址 equals相等hashCode一定相等(被重寫)

java中int和integer的區別

Integer是int的包裝類,int則是java的一種基本數據類型

Integer的默認值可以爲null,int的默認值只能是0

Integer  new的對象需要equals比較內容是否相等,否則比較的是地址值,int可以直接用==比較內容

Overload(重載)和Override(重寫)的區別

 重載與重寫都是多態的體現

 重載是編譯時多態    重載寫在同一個類中   重載必須方法名相同  不同的參數  可以有不同的返回值  不同的修飾符   拋出不同的異常 

 重寫是運行時多態    重寫是發生在子類中   重寫必須方法名相同  相同的參數  相同的返回值  不能小於父類的修飾符  不能拋出父類沒拋出的異常

public/private/protected的具體區別

public 當前類  同一包 子孫類 其他包
protected 當前類  同一包 子孫類  
friendly(默認修飾符) 當前類  同一包    
private 當前類       

String,StringBuffer與StringBuilder的區別

String是字符串常量  是不可變的

StringBuffer與StringBuilder是可變長度字符串

運行效率: StringBuilder>StringBuffer>String

StringBuffer 是線程安全的

StringBuilder 是線程不安全的

java運行時異常及常見的5中RuntimeExecption

AnnotationTypeMismatchException, 
ArithmeticException, 
ArrayStoreException, 
BufferOverflowException, 
BufferUnderflowException, 
CannotRedoException, 
CannotUndoException, 
ClassCastException, 
CMMException, 
ConcurrentModificationException, 
DOMException, 
EmptyStackException, 
EnumConstantNotPresentException, 
EventException, 
IllegalArgumentException, 
IllegalMonitorStateException, 
IllegalPathStateException, 
IllegalStateException, 
ImagingOpException, 
IncompleteAnnotationException, 
IndexOutOfBoundsException, 
JMRuntimeException, 
LSException, 
MalformedParameterizedTypeException, 
MirroredTypeException, 
MirroredTypesException, 
MissingResourceException, 
NegativeArraySizeException, 
NoSuchElementException, 
NoSuchMechanismException, 
NullPointerException, 
ProfileDataException, 
ProviderException, 
RasterFormatException, 
RejectedExecutionException, 
SecurityException, 
SystemException, 
TypeConstraintException, 
TypeNotPresentException, 
UndeclaredThrowableException, 
UnknownAnnotationValueException, 
UnknownElementException, 
UnknownTypeException, 
UnmodifiableSetException, 
UnsupportedOperationException, 
WebServiceException 

List,Set,Map是否繼承自Collection接口,以及他們之間的區別

list與set是繼承的Collection,Map不是

list 是有序的  允許值爲null  可以迭代也可以遍歷   可以根據下標取值  可以重複得

set 不允許爲null 是Hashcode順序存在列表中   只能通過迭代遍歷  不可重複的

map 只允許有一個null key, key不可重複,是以鍵值對的方式存放

ArrayList  是查找快捷  LinkedList是增  刪 改快捷  

ArrayList與LinkedList線程都不安全

Vector類似於ArrayList,屬於線程安全的

HashMap 效率高線程不安全

HashTable  效率低線程安全

ConcurrentHashMap 線程安全 比HashTable效率高、

 

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