程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JavaSE面試總結(一)

JavaSE面試總結(一)

編輯:關於JAVA

JavaSE面試總結(一)。本站提示廣大學習愛好者:(JavaSE面試總結(一))文章只能為提供參考,不一定能成為您想要的結果。以下是JavaSE面試總結(一)正文


  1. JDK和JRE的區別:
    答:JDK是Java言語的開發工具包,包括JRE和開發工具包(java,exe等),JRE是Java的言語的運轉環境,包括jvm和中心類庫,jvm是Java的虛擬機,保證了Java的跨平台向性
  2. JVM跨平台嗎?
    jvm是Java的虛擬機,不同的操作零碎對應jvm不一樣,jvm不具有跨平台性
  3. 保存字
    保存字是還未運用的關鍵字,能夠在Java當前的版本中運用,goto和const
  4. Java言語的特點:
    完片面向對象性,跨平台性,開源,平安牢靠,高功能性,多線程,強健性,
  5. main是關鍵字嗎
    不是的,main是主函數的名字,可以被虛擬機辨認,是順序執行的入口
  6. path和classpath的區別:
    path環境變量配置的是可執行文件.exe的執行途徑,classpath配置的Java言語編譯後聲場的字節碼文件執行途徑
  7. 計算機最根本的存儲單位是:字節
    計算機直接辨認的進制:二進制
  8. 變量和常量有什麼區別:
    變量在運算進程中的值是變化的,可以被屢次賦值,常量則是固定的
  9. 變量數據類型的分類:
    變量需求先定義,再賦值,再運用
    根本數據類型:4類8種  byte short int long float double char boolean
    援用數據類型:數組,類,接口
  10. 常量分類:
    自定義常量:自己經過final修飾定義的常量
    字面值常量:包括整數,小數,布爾,字符,字符串
  11. byte的范圍:-128 127
    char的范圍: 0   65535
  12. long是8個字節,float是4個字節,為什麼long比float小
    底層的運算規則不同
  13. ++和--的運用:
    獨自運用時,在前後都一樣
    參與運算時,在前是先自加或自減,在後是先參與運算,在停止自加或許自減
  14. 邏輯 | 與 短路 || 的區別
    | 不論後面的是真是假都會運算, || 後面為真前面不參與運算,進步了運算的效率
  15. 邏輯 & 與 短路 && 的區別
    & 不論後面是真是都會運算,  && 後面假如為假的話,前面的不參與運算了,進步了運算的效率\
  16. while和dowhile,for的區別:
    do while 是先執行後判別
    while和for先判別後執行,for循環完畢後,其定義的初始化條件不能再運用
  17. break和continue的區別:
    break是完全跳出循環,continue是跳出本次循環,停止下次循環
  18. 辦法重載和辦法重寫的區別:
    辦法重載是在同一個類中呈現同名辦法,參數列表不同,與前往值有關
    辦法重寫在子類之間,子類呈現和父類聲明完全相反的辦法時,就成為辦法重寫,重寫要求前往值相反或許有字父類關系
  19. 結構辦法,set辦法後可以給成員變量賦值,這兩種賦值的區別?
    結構辦法次要的作用是用來給對象初始化的,賦值只是他的兼職任務,也可以不賦值
  20. 靜態代碼塊和結構代碼塊的區別:
    靜態代碼塊屬於類,給類停止初始化,類一加載就會執行,只執行一次
    結構代碼塊給對象停止一致初始化,每創立一次就會執行一次
  21. 四種權限修飾符:
    public protectd 默許 private
  22. == 和 equal的區別:
    "=="是比擬運算符,既能比擬根本數據類型,有可以比擬援用數據類型,根本數據類型比擬的是數值,援用數據類型比擬的是地址值
    equal是辦法,重寫equal辦法比擬的是對象的內容,假如沒有重寫將調用object的equal辦法,比擬的是地址值
  23. string和stringBuffer和stringBuilder的區別:
    string是一個特殊的援用數據類型,是一個長度不可以改動的字符序列,沒有緩沖區,,一旦創立不可以改動,即便重新賦值不是在原來的根底上改動,而是重新創立了一個對象,將援用指向這個新的對象,糜費空間,效率比擬低
    stringBuffer和stringbuilder是一個容器,是可變的字符串序列
    stringBuffer,線程平安的,效率比擬低,
    stringBuilder的底層是字符數組,線程不平安,效率比擬高
  24. 集合體系:
  25. ArrayList與LinkedList的區別:
    ArrayList的底層采用的數據的數據構造,查詢慢,增刪快
    LinkedListd底層是鏈表,增刪快,查詢慢
  26. 數據構造的復雜引見:
    棧:先進後出,壓棧,彈棧
    隊列:先進先出
    鏈表:每個元素都指向下一個元素
    數組:一快延續的存儲區域
  27. 線程和進程多線程:
    進程是一個正在執行的順序,每個順序至多有一個控制單元,正在運轉的順序
    線程是進程中的控制單元,線程控制著進程的執行,是進程的執行途徑
    多線程:進程的多條執行途徑,每個執行途徑就是線程
  28. 多線程並發和多線程並行:
    兩個或多個義務發送懇求時,CPU只能執行一個,就會交替執行這些義務,CPU會高速切換執行,這就是多線程並發
    多線程並行,兩個或許多個義務同時執行,前提是多核CPU
  29. 多線程的特點:具有隨機性和和延遲性
  30. 線程的兩種完成方式:
    承繼Thread類,益處是承繼,代碼復雜,可以直接運用Thread的辦法, 缺陷就是擴展性差,應為承繼了thread類,不可以再承繼其他的類了
    完成Runnable接口,益處就是擴展性比擬強,缺陷:代碼比擬多,無法直接運用Thread類
  31. 線程的生命周期:
    新建 就緒 運轉(能夠發作阻塞和等候) 死亡
  32. sleep和wait的區別:
    sleep是讓線程睡眠,必需給相應的時間,時間到了自動喚醒,睡眠的時分不保持CPU的執行權益
    wait是讓線程等候,可以傳參也可以不傳參,傳參是讓指定時間後等候,需求被喚醒,等候的時間保持CPU的執行權益
  33. 讓線程暫停:
    wait:讓線程等候,等候的時分保持CPU的執行權
    yield:讓線程暫停,並執行其他的線程
  34. 什麼是IO流:
    用來硬盤和內存之間交互數據的
  35. IO流分類
  36. close()和flush()的區別:
    flush()是用來刷新緩存區的,刷新之後還是可以再次寫出的
    close()是用來封閉釋放資源的,封閉之後無法寫出
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved