經典java面試題23道

2020-12-16 黑馬程式設計師西安中心

1,short s1=1;s1=s1+1;有什麼錯???答:s1為short型,1為int型,s1+1=2先為int型,S1為short型,所以需要通過強制轉化—s1=(short)(s1+1); 舉例:short s1=1;s1+=1;(正確,因為可以自動轉化)2,請簡述equals與==的區別在String中,equals對比的是內容,==是比較地址3,sleep與wait的區別(1)sleep方法可以設置線程阻塞的時間,而wait方法必須要notily方法來喚醒 (2)sleep方法屬於Thread類,而wait屬於Object類(3)sleep方法不會釋放鎖的資源,而wait方法會釋放鎖的資源 面試官:每個引用對象都有wait方法嗎?答:都有,因為每個類都會繼承Object基類4,String,Stringbuffer,Stringbuidder的區別?(1)String是JAVA的基礎類,他可以定義少量的字符串(2)StringBuffer是對String的擴充,他可以拼接大量字符串,但是他的效率比較低,因為他是線程安全的(3)StringBuidder是對StringBuffer的拓展,他提高了效率,但是他是線程不安全的5,ArrayList和Vector的區別?(1)ArrayList底層是用數組實現的,所以查找快,增刪慢,ArrayList是線程不安全的(2)Vector由於是線程安全的,所以他的效率要比ArrayList底的多6,Super關鍵字的使用?(1)Super關鍵字實現的前提必須要有繼承(2)Super關鍵字可以調用父類的方法,屬性,通過Super.方法名,Super.屬性 (3)Super關鍵字必須位於類的第一行7,創建線程有哪幾種方法??常見的創建線程的方法 (1)繼承Thread類,調用start()方法 (2)實現Runnable接口,重寫run方法,調用start方法8,Synchronized可以加在什麼地方?(1)Synchronized可以加在方法上,可以加在類上。Synchronized是一把重量級鎖9,什麼是線程同步?(1)一個線程重開始到結束都不可以被打斷,直到這個線程釋放鎖,共享印表機就是一個線程同步的實例,10,Query接口的List和iterate方法的區別? 什麼是Query?Query是查詢的意思,在資料庫中查詢一個文件或記錄, 個人理解:List和Iterate都可以訪問資料庫,只不過iterator如果要查找的數據緩存中有就直接從緩存中拿,而不去在查找資料庫了。1211,數組中有沒有length()方法,String有沒有這個方法?(1)數組中沒有這個方法,使用length屬性,返回的結果應該是數組的長度int[] arr={1,2,3,4,5}; int length1=arr.length;//求數組的長度(2)String裡面有這個方法,返回的是該字符串的長度String str="Hello"; int length2=str.length(); //求字符串的長度12,try{}裡面有一個return語句,finally裡面也有一個return語句,finally裡面的語句會不會被執行,在return前還是return後?我們都知道,不管發什麼,finally裡面的語句一定會被執行,所以12題的答案是會被執行 廢話不多說,看代碼 int x=1; try{ return ++x }finallu{ return ++x; }結果為 x=3; 原因很簡單,因為finally語句塊的代碼始終要執行,所以在try裡面碰到return的話實現不返還的等執行完finally一後在返回try裡面的return13,JAVA中,運行任意一個相同的循環代碼,是否每次執行完的時間都相同,為什麼?不相同,隨著代碼的運行,會在jvm中產生大量的垃圾,隨著垃圾越來越多,效率也會越來越慢14,說出ArrayList,LinkList,Vector的存儲機制和特性(1)ArryaList:底層是用數組實現的,查找快,增刪慢,線程不安全,適用於單線程(2)LinkList底層用鍊表實現的,適合插入刪除,不適合查找,線程不安全,適用於單線程(3)Vector:底層用數組實現的,查找快,增刪慢,線程安全,適合多線程15,this關鍵字?(1)static修飾的方法不能用this關鍵字(2)this關鍵字表示當前對象,通過this關鍵字可以調用本類的方法屬性(3)this關鍵字可以區別變量名16,break和continue的區別??(1)break和continue都是用來控制循環體的(2)break是直接結束他所在的循環,而continue是結束他這一次循環,繼續下一次的循環(3)break可以在switch中使用,而continue只能在循環中使用17,char類型能否存儲漢字??(1)在C語言中不可以存儲,因為漢字佔倆個字節,而C語言的char只有一個字節但是他可以在java中存儲因為java 的char佔倆個字節(2)拓展:unicode編碼是java默認的編碼格式,佔16位,倆個字節18,靜態變量與實例變量的區別??(1)在語義上:靜態變量用static所修飾、被static所修飾的變量只被初始化一次(2)在運行上:靜態變量屬於類,實例變量屬於對象(3)被ststic所修飾的方法和類都是先被加載。19,是否可以從一個static方法中調用一個非靜態的方法??(1)不可以,因為被static修飾的方法在類初始化的時候就被加載,而非靜態的方法可能在這個時候還沒有完成初始化20,int與integer的區別(1)int是java 的基本數據類型,interger是java的類(2)拓展:integer a = new integer(127);integer b = new integer(127);integer c = new integer(128);integer d = new integer(128);a==b?? true;c==d?? false;原因:Integer在-127-128之間,返回的是一個是已存在的對象,如果不在這個範圍,返回的是新new出來的對象21,簡述JDK1.5的新特性??(1)for-each循環(2)自動裝箱拆箱(3)靜態導入(4)範型22,什麼是單利模式,為什麼要用單利模式?(1)單例模式是一種設計模式,他提供了一種創建對象的最佳方式,注意:單例模式只有一個實例單例類必須提供一個方法可以訪問拓展:單例類的構造函數是被私有的23,重載和重寫的區別?(1)重載是在一個類中,參數列表不同,參數個數不同,參數類型不同(2)重寫必須要有繼承的前提,重寫方法拋出的異常不可以大於父類拋出的異常拓展:在重載中方法的返回類型不同是否構成重載?(1)不能構成重載,重載必須要用參數來區分,傳入不同參數,可以實現重載。

相關焦點

  • 2019 最新 200 道 Java 面試題
    ,我做了大量的「功課」,首先我研究了幾乎所有大廠的面試題,還和負責招聘工作的幾個朋友,詳細的探討了 Java 面試所要涉及的知識點,於是就有了今天大家看到的這 200 多道面試題。原因二:節省招聘雙方彼此的時間,有些來公司面試人,無論是有幾年工作經驗的還是剛畢業的,就連這些最基礎的面試題都搞不定,這確實讓人很遺憾。常言道「一屋不掃何以掃天下」,也是同樣的道理,如果連基礎的概念都搞不明白,又怎麼讓面試官相信你能寫出高質量的程序呢?與其浪費彼此的時間,還不如花點時間把自己的基礎知識掌握牢固。
  • 50道Java集合經典面試題(收藏版)
    前言來了來了,50道Java集合面試題也來啦~ 已經上傳github:https://github.com/whx123/JavaHome1.at java.util.AbstractList.add(AbstractList.java:148) at java.util.AbstractList.add(AbstractList.java:108) at Test.main(Test.java:13)因為 Arrays.asList不是返回java.util.ArrayList
  • 「軟帝學院」:20道經典Java程式設計師編程面試基礎題
    對於很多初入編程行業的程式設計師來說,第一次面試編程工作時是最緊張最無助的,因為他們從來沒有面試過這類工作,不知道主考官會問什麼。那麼一般初級Java面試時會問哪些問題呢?廣州華信智原在這裡為大家準備了20道經典Java面試基礎題。1、如果main方法被聲明為private會怎樣?
  • 10個經典的 Java main 方法面試題
    以下是筆者認為比較經典的關於Java main方法的面試題,與其說是Java面試題,其實也是Java的一些最基礎知識問題,分享給大家,如有錯誤,請指出。1.不用main方法如何定義一個類?package com.instanceofjava;public class A{public static int main(String[] args){ return 1;    }}4.main()方法為什麼必須是靜態的?main()方法一定是靜態的。
  • Java經典面試題答案解析(1-80題)
    Java經典面試題都發出來,有小夥伴私聊我要答案。所以感覺沒有答案的面試題是沒有靈魂的,於是今天先整理基礎篇的前80道答案出來哈~所有的Java面試題已經上傳github,答案也上傳了一部分~https://github.com/whx123/JavaHome/tree/master/Java%E9%9D%A2%E8%AF%95%E9%A2%98%E9%9B%86%E7%BB%93%E5%8F%B7Java 基礎
  • 一些經典Java面試題&答案解析 || 附《Effective Java》中文版
    我們給大家準備了一些面試題,所有題目都是經過精心挑選的,很基礎又考驗求職者的基本功,應該說被面試到的機率很大。希望能對你有所幫助。1、下列代碼輸出內容是什麼?(2) 運用反射手段,調用java.lang.Class或者java.lang.reflect.Constructor類的newInstance()實例方法。(3) 調用對象的clone()方法。(4) 運用反序列化手段,調用java.io.ObjectInputStream對象的 readObject()方法。
  • 學了1年java的程式設計師面試,掛在了這道基礎算法題!
    這都是java的算法題,應該來講都是些比較簡單的算法題,但是我敢說很多基礎的學習的,或者想去面試的人都會不能完整的寫出來,現在
  • Java 最常見的 200+ 面試題:面試必備
    聊回面試題這件事,這份面試清單原本是我們公司內部使用的,可到後來有很多朋友在微信上聯繫到我,讓我幫他們找一些面試方面的資料,而且這些關係也不太好拒絕,一呢,是因為這些找我,要面試題的人,不是我的好朋友的弟弟妹妹,就是我的弟弟妹妹們;二呢,我也不能馬馬虎虎的對付,受人之事忠人之命,我也不能辜負這份信任。
  • 被這10道Java面試題虐哭了
    整整 10 道 Java 面試題,小王一道也沒答正確。他沮喪地給我說,「哥,說點我的情況,你願意聽嗎?我和一個女孩相處,女孩大我兩歲,我非科班。本來打算國慶換一家薪水高點的,好確認關係。借這個機會,我就把小王遇到的這 10 道面試題分享出來,希望能對其他小夥伴一些幫助。
  • 10道虐心的Java面試題,被面試官虐哭了,同事一題都沒答對
    有一天,小王告訴我,他去一家公司面試 Java 崗,結果被面試官虐哭了。整整 10 道 Java 面試題,小王一道也沒答正確。  他沮喪地給我說,「哥,說點我的情況,你願意聽嗎?我和一個女孩相處,女孩大我兩歲,我非科班。本來打算國慶換一家薪水高點的,好確認關係。
  • 每周 10 道 Java 面試題 : 面向對象, 類加載器, JDBC, Spring 基礎概念
    (點擊上方公眾號,可快速關注)來源:lmportNew - 唐尤華每周10道 Java 面試題由 ImportNew
  • 經典Java面試題的答案——容器
    java.util.Collections則是集合類的一個工具類/幫助類,其中提供了一系列靜態方法,用於對集合中元素進行排序、搜索以及線程安全等各種操作。此類不能實例化。20.List、Set、Map 之間的區別是什麼?
  • Java 線程面試題 Top 50
    掌握了這些技巧,你就可以輕鬆應對多線程和並發麵試了。許多Java程式設計師在面試前才會去看面試題,這很正常。因為收集面試題和練習很花時間,所以我從許多面試者那裡收集了Java多線程和並發相關的50個熱門問題。我只收集了比較新的面試題且沒有提供全部答案。想必聰明的你對這些問題早就心中有數了, 如果遇到不懂的問題,你可以用Google找到答案。若你實在找不到答案,可以在文章的評論中向我求助。
  • 100多道經典的JAVA面試題及答案解析(8)
    100多道經典的JAVA面試題及答案解析(8) 本文我們將要討論Java面試中的各種不同類型的面試題,它們可以讓僱主測試應聘者的Java和通用的面向對象編程的能力。
  • Java典型面試題 ——談談你對Java平臺的理解?
    很多面試者會在這種問題上吃虧,稍微緊張了一下,不知道從何說起,就給出個很簡略的回答。對於這類籠統的問題,你需要儘量表現出自己的思維深入並系統化,Java 知識理解得也比較全面,一定要避免讓面試官覺得你是個「知其然不知其所以然」的人。
  • 面試前必看Java線程面試題
    下面是Java線程相關的熱門面試題,你可以用它來好好準備面試。1.面向對象的特徵有哪些方面?答:面向對象的特徵主要有以下幾個方面:- 抽象:抽象是將一類對象的共同特徵總結出來構造類的過程,包括數據抽象和行為抽象兩方面。
  • 面試題之java基礎
    應部分網友的建議,從今天起會逐步的總結一些java、php相關的面試題,由簡單到複雜歸納一個系列:【金三銀四】,中間部分題目的答案來源於網絡,如若不嚴謹還望諒解。java基礎面試題 1、簡述Java程序編譯和運行的過程:答:①  Java編譯程序將Java源程序翻譯為JVM可執行代碼--字節碼,創建完源文件之後,程序會先被編譯成 「.class」 文件。
  • Java經典面試題Spring是什麼 Spring框架入門詳解
    下面請看java代碼我們通過ClassPathXmlApplicationContext類傳入applicationContext.xml配置文件的相對路徑,創建出spring的容器對象ApplicationContext,在通過容器對象中的方法獲取到Spring容器為我們創建的user對象,其實Spring兩個容器,除了
  • [java大數據面試] 百度面試經過+三面算法題:給定一個數組,求和為定值的所有組合.
    給定一個數組,求和為定值的所有組合, 這道算法題在leetcode應該算是中等偏下難度, 對三到五年工作經驗主要做業務開發的同學來說, 一般較難的也就是這種程度了
  • Map經典面試題,你遇到了嗎?
    依稀記得我當初面試遇到過兩道涉及到Map的面試題,當時是有點眼急,會,直接手寫代碼確實又不會了。  工作了一段時間,再看完Map,自己又重新溫習了一下這兩道面試題,難,不難,只在一瞬息。  第一題:計算一個字符串中每個字符出現的次數  public class MapDemo4 { public static void main(String[] args) {