2017年java面試題及答案
Java語言作爲靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。下面是小編整理的關於2017年java面試題及答案,歡迎大家練習!
java面試題及答案1、String 是最基本的數據類型嗎?
答:不是。Java中的基本數據類型只有8個:byte、short、int、long、float、double、char、boolean;除了基本類型(primitive type),剩下的都是引用類型(reference type),Java 5以後引入的枚舉類型也算是一種比較特殊的引用類型。
2、float f=3.4;是否正確?
答:不正確。3.4是雙精度數,將雙精度型(double)賦值給浮點型(float)屬於下轉型(down-casting,也稱爲窄化)會造成精度損失,因此需要強制類型轉換float f =(float)3.4; 或者寫成float f =3.4F;。
3、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?
答:對於short s1 = 1; s1 = s1 + 1;由於1是int類型,因此s1+1運算結果也是int 型,需要強制轉換類型才能賦值給short型。而short s1 = 1; s1 += 1;可以正確編譯,因爲s1+= 1;相當於s1 = (short)(s1 + 1);其中有隱含的強制類型轉換。
4、Java有沒有goto?
答:goto 是Java中的保留字,在目前版本的Java中沒有使用。(根據James Gosling(Java之父)編寫的《The Java Programming Language》一書的附錄中給出了一個Java關鍵字列表,其中有goto和const,但是這兩個是目前無法使用的關鍵字,因此有些地方將其稱之爲保留字,其實保留字這個詞應該有更廣泛的意義,因爲熟悉C語言的程序員都知道,在系統類庫中使用過的有特殊意義的單詞或單詞的組合都被視爲保留字)
中,throw 和 throws 有什麼區別?
答:throw 用於拋出 wable 類的一個實例化對象,意思是說你可以通過關鍵字 throw 拋出一個 Error 或者 一個Exception,如: throw new IllegalArgumentException(“size must be multiple of 2〃) 而throws 的作用是作爲方法聲明和簽名的一部分,方法被拋出相應的異常以便調用者能處理。Java 中,任何未處理的受檢查異常強制在 throws 子句中聲明。
中,Serializable 與 Externalizable 的區別?
答:Serializable 接口是一個序列化 Java 類的接口,以便於它們可以在網絡上傳輸或者可以將它們的狀態保存在磁盤上,是 JVM 內嵌的默認序列化方式,成本高、脆弱而且不安全。Externalizable 允許你控制整個序列化過程,指定特定的二進制格式,增加安全機制。
中,DOM 和 SAX 解析器有什麼不同?
答:”DOM 解析器將整個 XML 文檔加載到內存來創建一棵 DOM 模型樹,這樣可以更快的查找節點和修改 XML 結構,而 SAX 解析器是一個基於事件的解析器,不會將整個 XML 文檔加載到內存。由於這個原因,DOM 比 SAX 更快,也要求更多的內存,不適合於解析大 XML 文件。
Java開發崗位面試題一、Java基礎
1、String類爲什麼是final的。
2、HashMap的源碼,實現原理,底層結構。
3、說說你知道的幾個Java集合類:list、set、queue、map實現類咯。。。
4、描述一下ArrayList和LinkedList各自實現和區別
5、Java中的隊列都有哪些,有什麼區別。
6、反射中,ame和classloader的區別
7、Java7、Java8的新特性(baidu問的,好BT)
8、Java數組和鏈表兩種結構的操作效率,在哪些情況下(從開頭開始,從結尾開始,從中間開始),哪些操作(插入,查找,刪除)的效率高
9、Java內存泄露的問題調查定位:jmap,jstack的使用等等
10、string、stringbuilder、stringbuffer區別
11、hashtable和hashmap的'區別
13、異常的結構,運行時異常和非運行時異常,各舉個例子
14、String a= “abc” String b = "abc" String c = new String("abc") String d = "ab" + "c" .他們之間用 == 比較的結果
15、String 類的常用方法
16、Java 的引用類型有哪幾種
17、抽象類和接口的區別
18、java的基礎類型和字節大小。
19、Hashtable,HashMap,ConcurrentHashMap 底層實現原理與線程安全問題(建議熟悉 jdk 源碼,才能從容應答)
20、如果不讓你用Java Jdk提供的工具,你自己實現一個Map,你怎麼做。說了好久,說了HashMap源代碼,如果我做,就會借鑑HashMap的原理,說了一通HashMap實現
21、 Hash衝突怎麼辦?哪些解決散列衝突的方法?
22、HashMap衝突很厲害,最差性能,你會怎麼解決?從O(n)提升到log(n)咯,用二叉排序樹的思路說了一通
23、rehash
24、hashCode() 與 equals() 生成算法、方法怎麼重寫
二、Java IO
1、講講IO裏面的常見類,字節流、字符流、接口、實現類、方法阻塞。
2、講講NIO。
3、String 編碼UTF-8 和GBK的區別?
4、什麼時候使用字節流、什麼時候使用字符流?
5、遞歸讀取文件夾下的文件,代碼怎麼實現
三、Java Web
1、session和cookie的區別和聯繫,session的生命週期,多個服務部署時session管理。
2、servlet的一些相關問題
3、webservice相關問題
4、jdbc連接,forname方式的步驟,怎麼聲明使用一個事務。舉例並具體代碼
5、無框架下配置的主要配置內容
6、jsp和servlet的區別
四、JVM
1、Java的內存模型以及GC算法
2、jvm性能調優都做了什麼
3、介紹JVM中7個區域,然後把每個區域可能造成內存的溢出的情況說明
4、介紹GC 和GC Root不正常引用。
5、自己從classload 加載方式,加載機制說開去,從程序運行時數據區,講到內存分配,講到String常量池,講到JVM垃圾回收機制,算法,hotspot。反正就是各種擴展
6、jvm 如何分配直接內存, new 對象如何不分配在堆而是棧上,常量池解析
7、數組多大放在 JVM 老年代(不只是設置 PretenureSizeThreshold ,問通常多大,沒做過一問便知)
8、老年代中數組的訪問方式
9、GC 算法,永久代對象如何 GC , GC 有環怎麼處理
10、誰會被 GC ,什麼時候 GC
11、如果想不被 GC 怎麼辦
12、如果想在 GC 中生存 1 次怎麼辦
五、開源框架
1、hibernate和ibatis的區別
2、講講mybatis的連接池。
3、spring框架中需要引用哪些jar包,以及這些jar包的用途
4. springMVC的原理
5、springMVC註解的意思
6、spring中beanFactory和ApplicationContext的聯繫和區別
7、spring注入的幾種方式(循環注入)
8、spring如何實現事物管理的
9、springIOC
10、spring AOP的原理
11、hibernate中的1級和2級緩存的使用方式以及區別原理(Lazy-Load的理解)
12、Hibernate的原理體系架構,五大核心接口,Hibernate對象的三種狀態轉換,事務管理。
相關文章
-
2017年最新java面試題及答案
品牌型號:iPhone 13 pro系統:iOS 16.1.1 手機插卡顯示無卡的原因:1、網絡延遲,重新啓動手機。2、所處的位置信號不好,多換幾個位置試試。3、SIM卡損壞,請及時前往營業廳更換。4、卡在插槽裏和觸 -
2017年java常見面試題及答案
Java看起來設計得很像C++,但是爲了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。下面是小編整理的關於java常見面試題及答案,希望大家認真閱讀!問題:介紹下繼承的原則答 -
2017年Java程序員面試題及答案
無論是身處學校還是步入社會,大家對作文都不陌生吧,作文是經過人的思想考慮和語言組織,通過文字來表達一個主題意義的記敘方法。你知道作文怎樣寫才規範嗎?下面是小編幫大家整理的我喜歡的傳統節日作文8篇,僅供參考,希望能 -
2017年經典的JAVA面試題及答案
20世紀90年代,硬件領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因爲使用它可以大幅度提升消費類電子產品(如電視機頂盒、麪包烤箱、移動電話等)的智能化程度。yjbys小編下 -
java面試題2017及答案
Sun Java認證分爲兩個級別:Sun認證Java程序員和Sun認證Java開發員。下面是小編整理的關於java面試題2017及答案,希望大家喜歡!1) 什麼是線程?線程是操作系統能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運 -
2016年java多線程面試題及答案
在某件事出現差錯以後,爲了避免再次出現相同情況,我們常常被要求寫檢討書,以對出現的問題和過錯進行檢討,請注意寫檢討書要注意正確的格式。但是你知道怎樣才能寫的好嗎?以下是小編收集整理的去網吧檢討書,供大家參考借鑑,希 -
2017年Java試題及答案
Java具有簡單性、面向對象、分佈式、健壯性、安全性、多線程、動態性等特點。以下是小編整理的Java試題及答案,希望大家認真閱讀! 什麼是Java虛擬機?爲什麼Java被稱作是平臺無關的編程語言?Java虛擬機是一個可以執 -
2017年Java筆試題及答案
Java是一種可以撰寫跨平臺應用程序的面向對象的程序設計語言。下面是小編整理的關於Java筆試題及答案,歡迎參考! Java基礎知識筆試題及答案中提供了名爲()的包裝類來包裝原始字符串類型。gerleng�0�2 -
高級Java面試題及答案2016
java高級面試有哪些常見問題呢?下面yjbys爲大家分享最新java常見面試題及答案解析,僅供參考! 什麼是可變參數?可變參數允許調用參數數量不同的方法。請看下面例子中的求和方法。此方法可以調用1個int參數,或2個int參 -
2017年java考試題庫及答案
爲幫助大家更好學習java知識,yjbys小編爲大家分享java考試填空題及答案解析如下: 填空題(每空2分,共20分)請將每一個空的正確答案寫在答題卡【6】~【15】序號的橫線上,答在試卷上不得分。注意:以命令關鍵字填空的必須平