<nav id="iugoa"></nav>
  • <xmp id="iugoa"><menu id="iugoa"></menu>
    <menu id="iugoa"><strong id="iugoa"></strong></menu>
  • <nav id="iugoa"></nav>
    <menu id="iugoa"></menu>
    <menu id="iugoa"><strong id="iugoa"></strong></menu>
    Java知識分享網 - 輕松學習從此開始!????

    Java知識分享網

    Java1234官方群24:java1234官方群24
    Java1234官方群24:791563025
         

    SVN視頻教程(結合eclipse,idea)免費領取

    畢設代做,包查重聯系人QQ:1982956321畢設大神

    領取國內優秀就業,加薪,跳槽項目課程源碼-vue2+jwt+springboot+mybaits前后端分離通訊錄系統課程

    SpringBoot打造企業級進銷存

    Java1234 VIP課程

    領取微信掃碼登錄Java實現視頻教程

    Java1234至尊VIP(特價活動)

    java軟件開發工程師面試題 PDF 下載


    分享到:
    時間:2020-04-11 18:52來源:http://www.gemtrap.cn 作者:小鋒  侵權舉報
    java軟件開發工程師面試題 PDF 下載
    失效鏈接處理
    java軟件開發工程師面試題  PDF 下載

    本站整理下載:
     
    相關截圖:
     
    主要內容:
    包含的模塊:
    本文分為十九個模塊,分別是:Java 基礎、容器、多線程、反射、對象拷貝、Java Web 、異常、網絡、設計模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM
    如下圖所示:
     
     
    共包含 208 道面試題,本文的宗旨是為讀者朋友們整理一份詳實而又權威的面試清單,下面一起進入主題吧。
    ====================================================
    一. Java 基礎模塊
    1.JDK 和 JRE 有什么區別?
    JDK:Java Development Kit 的簡稱,Java 開發工具包,提供了 Java 的開發環境和運行環境。
    JRE:Java Runtime Environment 的簡稱,Java 運行環境,為 Java 的運行提供了所需環境。
    具體來說 JDK 其實包含了 JRE,同時還包含了編譯 Java 源碼的編譯器 Javac,還包含了很多 Java 程序調試和分析的工具。簡單來說:如果你需要運行 Java 程序,只需安裝 JRE 就可以了,如果你需要編寫 Java 程序,需要安裝 JDK。
    2.== 和 equals 的區別是什么?
    == 解讀:
    對于基本類型和引用類型 == 的作用效果是不同的,如下所示:
    基本類型:比較的是值是否相同;
    引用類型:比較的是引用是否相同;
    equals 解讀:
    equals 本質上就是 ==,只不過 String 和 Integer 等重寫了 equals 方法,把它變成了值比較。看下面的代碼就明白了。
    總結 :== 對于基本類型來說是值比較,對于引用類型來說是比較的是引用;而 equals 默認情況下是引用比較,只是很多類重新了 equals 方法,比如 String、Integer 等把它變成了值比較,所以一般情況下 equals 比較的是值是否相等。
    3.兩個對象的 hashCode() 相同,則 equals() 也一定為 true,對嗎?
    不對,兩個對象的 hashCode() 相同,equals() 不一定 true。
    代碼示例:
    String str1 = "精彩";
    String str2 = "筆記";
    System. out. println(String. format("str1:%d | str2:%d", str1. hashCode(),str2. hashCode()));
    System. out. println(str1. equals(str2));
    執行的結果:
    str1:1179395 | str2:1179395
    false
     
    代碼解讀:很顯然“精彩”和“筆記”的 hashCode() 相同,然而 equals() 則為 false,因為在散列表中,hashCode() 相等即兩個鍵值對的哈希值相等,然而哈希值相等,并不一定能得出鍵值對相等。
    4.final 在 Java 中有什么作用?
    final 修飾的類叫最終類,該類不能被繼承。
    final 修飾的方法不能被重寫。
    final 修飾的變量叫常量,常量必須初始化,初始化之后值就不能被修改。
    5.Java 中的 Math. round(-1. 5) 等于多少?
    等于 -1。round()是四舍五入,注意負數5是舍的,例如:Math.round(1.5)值是2,Math.round(-1.5)值是-1。
    6.String 屬于基礎的數據類型嗎?
    String 不屬于基礎類型,基礎類型有 8 種:byte、boolean、char、short、int、float、long、double,而 String 屬于對象。
    7.Java 中操作字符串都有哪些類?它們之間有什么區別?
    操作字符串的類有:String、StringBuffer、StringBuilder。
    三者區別:
    StringBuffer和StringBuilder都繼承自抽象類AbstractStringBuilder。
    String 聲明的是不可變的對象,每次操作都會生成新的 String 對象,然后將指針指向新的 String 對象,而 StringBuffer、StringBuilder 存儲數據的字符數組沒有被final修飾,說明值可以改變,抽象類AbstractStringBuilder內部都提供了一個自動擴容機制,當發現長度不夠的時候(初始默認長度是16),會自動進行擴容工作,擴展為原數組長度的2倍加2,創建一個新的數組,并將數組的數據復制到新數組,所以對于拼接字符串效率要比String要高。
    線程安全性:StringBuffer由于很多方法都被 synchronized 修飾了所以線程安全,但是當多線程訪問時,加鎖和釋放鎖的過程很平凡,所以效率相比StringBuilder要低。StringBuilder相反執行效率高,但是線程不安全。所以單線程環境下推薦使用 StringBuilder,多線程環境下推薦使用 StringBuffer。
    執行速度:StringBuilder > StringBuffer > String。
     
    8.String str="i"與 String str=new String(“i”)一樣嗎?
    不一樣,因為內存的分配方式不一樣。String str=“i"的方式,Java 虛擬機會將其分配到常量池中,如果常量池中有"i”,就返回"i"的地址,如果沒有就創建"i",然后返回"i"的地址;而 String str=new String(“i”) 則會被分到堆內存中新開辟一塊空間。
    9.如何將字符串反轉?
    使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。
    示例代碼:
    // StringBuffer reverse
    StringBuffer stringBuffer = new StringBuffer();
    stringBuffer. append("abcdefg");
    System. out. println(stringBuffer. reverse()); // gfedcba
    // StringBuilder reverse
    StringBuilder stringBuilder = new StringBuilder();
    stringBuilder. append("abcdefg");
    System. out. println(stringBuilder. reverse()); // gfedcba


     

    ------分隔線----------------------------
    鋒哥公眾號


    鋒哥微信號


    在线aav片线 - 视频 - 在线观看 - 影视资讯 - 品爱网