<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      java-基礎(chǔ)

      Java 基礎(chǔ)是面試中最常考察的部分,無(wú)論是初級(jí)還是中級(jí)開(kāi)發(fā)崗位,都會(huì)圍繞核心概念、語(yǔ)法特性、底層原理等展開(kāi)。以下是高頻面試點(diǎn)整理,按模塊分類(lèi)說(shuō)明核心考點(diǎn):

      一、Java 語(yǔ)言特性與 JVM 基礎(chǔ)

      1. Java 跨平臺(tái)性
        • 核心:一次編寫(xiě),到處運(yùn)行的實(shí)現(xiàn)依賴(lài)JVM(Java 虛擬機(jī)),Java 源碼編譯為字節(jié)碼(.class),由不同平臺(tái)的 JVM 解釋執(zhí)行。
        • 考點(diǎn):JVM 與操作系統(tǒng)的關(guān)系、字節(jié)碼的作用、JDK/JRE/JVM 的區(qū)別(JDK 包含 JRE + 開(kāi)發(fā)工具,JRE 包含 JVM + 運(yùn)行類(lèi)庫(kù))。
      2. 面向?qū)ο笕筇匦?/div>
        • 封裝:隱藏對(duì)象內(nèi)部實(shí)現(xiàn),通過(guò)訪問(wèn)修飾符(public/private/protected/default)控制屬性和方法的訪問(wèn)權(quán)限(如 private 屬性需通過(guò) get/set 方法操作)。
        • 繼承:子類(lèi)繼承父類(lèi)非 private 的屬性和方法,使用extends關(guān)鍵字(Java 單繼承,支持多層繼承);super關(guān)鍵字用于訪問(wèn)父類(lèi)構(gòu)造器 / 方法 / 屬性(必須在子類(lèi)構(gòu)造器第一行)。
        • 多態(tài):同一行為的不同表現(xiàn)形式,實(shí)現(xiàn)條件:繼承 / 接口實(shí)現(xiàn)、方法重寫(xiě)、父類(lèi)引用指向子類(lèi)對(duì)象;分為編譯時(shí)多態(tài)(重載)和運(yùn)行時(shí)多態(tài)(重寫(xiě),通過(guò)動(dòng)態(tài)綁定實(shí)現(xiàn))。
      3. 其他核心特性
        • 抽象:通過(guò)抽象類(lèi)(abstract修飾,可含普通方法)和接口(JDK8 前全為抽象方法,JDK8 后支持默認(rèn)方法default和靜態(tài)方法static)實(shí)現(xiàn)。
        • 垃圾回收(GC):JVM 自動(dòng)回收無(wú)用對(duì)象內(nèi)存,無(wú)需手動(dòng)釋放;常見(jiàn) GC 算法(標(biāo)記 - 清除、復(fù)制、標(biāo)記 - 整理、分代收集)。

      二、數(shù)據(jù)類(lèi)型與運(yùn)算符

      1. 數(shù)據(jù)類(lèi)型分類(lèi)
        • 基本數(shù)據(jù)類(lèi)型(8 種):byte(1)short(2)int(4)long(8)float(4)double(8)char(2)boolean(1);默認(rèn)值(如 int 默認(rèn) 0,boolean 默認(rèn) false)。
        • 引用數(shù)據(jù)類(lèi)型:類(lèi)、接口、數(shù)組;默認(rèn)值為null,存儲(chǔ)對(duì)象的內(nèi)存地址。
      2. 裝箱與拆箱
        • 裝箱:基本類(lèi)型→包裝類(lèi)(如int→Integer,通過(guò)valueOf());拆箱:包裝類(lèi)→基本類(lèi)型(如Integer→int,通過(guò)intValue())。
        • 考點(diǎn):Integer緩存機(jī)制(-128~127 范圍的對(duì)象復(fù)用,超出范圍則新建對(duì)象),例如:Integer a=127; Integer b=127; a==b→truea=128; b=128; a==b→false
      3. == 與 equals ()
        • ==:基本類(lèi)型比較值;引用類(lèi)型比較內(nèi)存地址(是否為同一對(duì)象)。
        • equals():默認(rèn)等價(jià)于==(Object 類(lèi)實(shí)現(xiàn)),但 String、Integer 等重寫(xiě)后比較內(nèi)容(如"abc".equals("abc")→true)。

      三、字符串(String)

      1. String、StringBuffer、StringBuilder 區(qū)別
        • String:不可變(底層 char 數(shù)組被final修飾),每次修改都會(huì)創(chuàng)建新對(duì)象,適合少量操作。
        • StringBuffer:可變,線程安全(方法加synchronized),效率低,適合多線程場(chǎng)景。
        • StringBuilder:可變,線程不安全,效率高,適合單線程場(chǎng)景。
      2. String 常量池
        • 存儲(chǔ)在方法區(qū),緩存字符串字面量(如String s="abc"直接從常量池取,new String("abc")會(huì)創(chuàng)建兩個(gè)對(duì)象:堆中對(duì)象 + 常量池對(duì)象)。
        • 考點(diǎn):intern()方法(將字符串添加到常量池,返回常量池引用),例如:String s=new String("a"); s.intern()=="a"→true

      四、集合框架(Collections)

      核心接口:Collection(List/Set)和Map,重點(diǎn)考察實(shí)現(xiàn)類(lèi)特性與底層原理。
      1. List 接口
        • ArrayList:底層Object[]數(shù)組,查詢(xún)快(下標(biāo)訪問(wèn)),增刪慢(需擴(kuò)容 / 移位);初始容量 10,擴(kuò)容為 1.5 倍。
        • LinkedList:底層雙向鏈表,增刪快(改指針),查詢(xún)慢(需遍歷);實(shí)現(xiàn)Deque接口,可作為隊(duì)列 / 棧使用。
        • 考點(diǎn):兩者適用場(chǎng)景、擴(kuò)容機(jī)制、是否線程安全(均不安全,需用Collections.synchronizedList()包裝)。
      2. Set 接口
        • HashSet:底層依賴(lài)HashMap(存儲(chǔ)元素作為 key,value 為固定對(duì)象),無(wú)序、不重復(fù);判斷重復(fù)依賴(lài)hashCode()equals()(先比 hashCode,不等則不重復(fù);相等再比 equals)。
        • TreeSet:底層TreeMap,有序(默認(rèn)自然排序,或通過(guò)Comparator定制),不重復(fù);元素需實(shí)現(xiàn)Comparable接口或傳入比較器。
      3. Map 接口
        • HashMap(JDK1.8):底層數(shù)組+鏈表+紅黑樹(shù);數(shù)組默認(rèn)容量 16(2 的冪次),負(fù)載因子 0.75,當(dāng)鏈表長(zhǎng)度 > 8 且數(shù)組容量 > 64 時(shí)轉(zhuǎn)紅黑樹(shù);線程不安全。
        • HashTable:線程安全(方法加synchronized),效率低,key/value 不能為 null;已被ConcurrentHashMap替代。
        • ConcurrentHashMap(JDK1.8):線程安全,通過(guò)CAS+synchronized(鎖定鏈表頭 / 紅黑樹(shù)根節(jié)點(diǎn))實(shí)現(xiàn),效率高于 HashTable;支持并發(fā)操作。
        • TreeMap:底層紅黑樹(shù),key 有序(自然排序或定制排序),可按 key 范圍查詢(xún)。

      五、異常處理

      1. 異常分類(lèi)
        • Checked 異常:編譯時(shí)必須處理(如IOExceptionClassNotFoundException),需try-catchthrows聲明。
        • Unchecked 異常:運(yùn)行時(shí)異常(如NullPointerExceptionIndexOutOfBoundsException),無(wú)需強(qiáng)制處理。
      2. 異常處理結(jié)構(gòu)
        • try:執(zhí)行可能出錯(cuò)的代碼;catch:捕獲并處理異常(可多個(gè),按子類(lèi)→父類(lèi)順序);finally:無(wú)論是否異常都會(huì)執(zhí)行(常用于釋放資源,如關(guān)閉流)。
        • 考點(diǎn):finallyreturn的執(zhí)行順序(finally中 return 會(huì)覆蓋try/catch的 return)。
      3. throw 與 throws
        • throw:在方法內(nèi)手動(dòng)拋出異常對(duì)象(如throw new RuntimeException())。
        • throws:在方法聲明處聲明可能拋出的異常(如public void test() throws IOException)。

      六、多線程

      1. 線程創(chuàng)建方式
        • 繼承Thread類(lèi)(重寫(xiě)run());實(shí)現(xiàn)Runnable接口(重寫(xiě)run(),可多線程共享資源);實(shí)現(xiàn)Callable接口(重寫(xiě)call(),有返回值,可拋異常,配合Future使用)。
      2. 線程狀態(tài)
        • 新建(New)→就緒(Runnable)→運(yùn)行(Running)→阻塞(Blocked/Waiting/Timed Waiting)→死亡(Terminated)。
        • 狀態(tài)切換:start()進(jìn)入就緒;sleep()/wait()進(jìn)入阻塞;notify()/notifyAll()喚醒;執(zhí)行完run()進(jìn)入死亡。
      3. 線程同步
        • synchronized:修飾方法(鎖當(dāng)前對(duì)象 / 類(lèi))、代碼塊(鎖指定對(duì)象),保證原子性、可見(jiàn)性、有序性;屬于悲觀鎖。
        • volatile:保證可見(jiàn)性(修改后立即刷新到主存,其他線程可見(jiàn))和禁止指令重排,但不保證原子性(如i++仍可能線程不安全)。
        • Lock 接口:ReentrantLock(可重入鎖),支持公平鎖 / 非公平鎖、可中斷、超時(shí)獲取鎖,需手動(dòng)lock()unlock()(通常在finally中釋放)。
      4. 線程池
        • 核心參數(shù):核心線程數(shù)、最大線程數(shù)、任務(wù)隊(duì)列、拒絕策略(默認(rèn)AbortPolicy:拋異常)。
        • 常見(jiàn)線程池:FixedThreadPool(固定核心線程數(shù))、CachedThreadPool(動(dòng)態(tài)擴(kuò)容,適合短期任務(wù))、ScheduledThreadPool(定時(shí)任務(wù))。

      七、Java 8 + 新特性

      • Lambda 表達(dá)式:簡(jiǎn)化匿名內(nèi)部類(lèi)(函數(shù)式接口專(zhuān)屬),格式:(參數(shù)) -> 表達(dá)式(如(a,b) -> a+b)。
      • 函數(shù)式接口:僅含一個(gè)抽象方法的接口(如RunnableConsumer),用@FunctionalInterface注解標(biāo)識(shí)。
      • Stream API:對(duì)集合進(jìn)行流式操作(過(guò)濾、映射、聚合等),如list.stream().filter(s -> s.length()>3).collect(Collectors.toList())
      • Optional:解決NullPointerException,如Optional.ofNullable(obj).orElse(defaultObj)
      • 日期時(shí)間 API:LocalDateTimeInstant等(替代線程不安全的SimpleDateFormat)。

      八、其他高頻點(diǎn)

      • static 關(guān)鍵字:修飾變量(類(lèi)變量,共享)、方法(類(lèi)方法,不能直接訪問(wèn)非 static 成員)、代碼塊(類(lèi)加載時(shí)執(zhí)行,優(yōu)于構(gòu)造器)。
      • final 關(guān)鍵字:修飾類(lèi)(不可繼承)、方法(不可重寫(xiě))、變量(不可修改,引用類(lèi)型則地址不可變)。
      • 抽象類(lèi) vs 接口:抽象類(lèi)可含普通方法和構(gòu)造器,單繼承;接口(JDK8 后)可含默認(rèn)方法,多實(shí)現(xiàn);均不能實(shí)例化。
      • 泛型:約束集合元素類(lèi)型(如List<String>),避免強(qiáng)制類(lèi)型轉(zhuǎn)換;通配符? extends T(上限,只能取)、? super T(下限,只能存)。
      posted @ 2025-10-28 14:51  hanease  閱讀(11)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲欧美日韩综合久久久| 国产精品人妻一码二码尿失禁| 日本伊人色综合网| 亚洲国产精品无码久久久秋霞1| 国产乱精品一区二区三区| 涞水县| 亚洲中文字幕综合小综合| 国产线播放免费人成视频播放| 人妻丝袜无码专区视频网站| 人妻聚色窝窝人体WWW一区| 亚洲夂夂婷婷色拍WW47| 东京热人妻中文无码| 日韩内射美女人妻一区二区三区 | 国产精品熟女孕妇一区二区| 亚洲岛国av一区二区| 99热这里有精品| 精品国产一区二区亚洲人| 国产欧美日韩精品丝袜高跟鞋| 婷婷四房综合激情五月在线| 亚洲一区二区三区在线播放无码| 中文字幕少妇人妻精品| 久久精品国产一区二区三区不卡| 国产精品99一区二区三区| 四虎永久在线精品无码视频| 国产乱精品一区二区三区| 国产精品人妻熟女男人的天堂 | 狠狠综合久久久久综| 国内精品免费久久久久电影院97| 一本一道av中文字幕无码| 区一区二区三区中文字幕| 国产中文字幕在线一区| 国产无套内射又大又猛又粗又爽| 综合区一区二区三区狠狠| av无码精品一区二区乱子| 亚洲人妻一区二区精品| 国产乱码日产乱码精品精| 国产农村妇女毛片精品久久| 性一交一乱一伦| 男女18禁啪啪无遮挡激烈网站| 麻豆成人av不卡一二三区| 亚洲av午夜成人片|