欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

2025最新 Java 面經(jīng):美團(tuán)后端面試真實(shí)復(fù)盤,附答案模板,速速收藏!

1. 線程狀態(tài)有哪些?

在 Java 中,線程的生命周期可以細(xì)化為以下幾個(gè)狀態(tài):

  • New(初始狀態(tài)):線程對象創(chuàng)建后,但未調(diào)用 start() 方法。
  • Runnable(可運(yùn)行狀態(tài)):調(diào)用 start() 方法后,線程進(jìn)入就緒狀態(tài),等待 CPU 調(diào)度。
  • Blocked(阻塞狀態(tài)):線程試圖獲取一個(gè)對象鎖而被阻塞。
  • Waiting(等待狀態(tài)):線程進(jìn)入等待狀態(tài),需要被顯式喚醒才能繼續(xù)執(zhí)行。
  • Timed Waiting(含等待時(shí)間的等待狀態(tài)):線程進(jìn)入等待狀態(tài),但指定了等待時(shí)間,超時(shí)后會(huì)被喚醒。
  • Terminated(終止?fàn)顟B(tài)):線程執(zhí)行完成或因異常退出。 image.png

2. wait 和 sleep 區(qū)別

wait()sleep() 都是用于暫停線程的操作,但它們有明顯的區(qū)別(先說面試官最關(guān)心的):

1)使用要求不同

  • wait() 方法必須在同步塊或同步方法內(nèi)調(diào)用,否則會(huì)拋出 IllegalMonitorStateException。這是因?yàn)?wait() 依賴于對象鎖來管理線程的等待和喚醒機(jī)制。調(diào)用后,當(dāng)前線程會(huì)釋放它持有的對象鎖,并進(jìn)入等待狀態(tài)。
  • sleep() 方法可以在任何上下文中調(diào)用,不需要獲取對象鎖。調(diào)用后,線程會(huì)進(jìn)入休眠狀態(tài),但不會(huì)釋放它持有的任何鎖。

2)方法所屬類不同

  • wait():屬于 Object 類。
  • sleep():屬于 Thread 類。

3)恢復(fù)方式不同

  • wait():需要被其他線程通過 notify()notifyAll() 顯式喚醒,或被 wait(long timeout) 的超時(shí)參數(shù)喚醒。
  • sleep():在指定時(shí)間后自動(dòng)恢復(fù)運(yùn)行,或通過拋出 InterruptedException 恢復(fù)。

4)用途不同

  • wait():通常用于線程間通信,配合 notify()notifyAll() 來實(shí)現(xiàn)線程的協(xié)調(diào)工作。
  • sleep():用于讓線程暫停執(zhí)行一段時(shí)間,通常用于控制線程的執(zhí)行頻率或模擬延時(shí)。

3. 線程池有哪些參數(shù)?一般如何設(shè)置

線程池是一種池化技術(shù),用于預(yù)先創(chuàng)建并管理一組線程,避免頻繁創(chuàng)建和銷毀線程的開銷,提高性能和響應(yīng)速度。

它幾個(gè)關(guān)鍵的配置包括:核心線程數(shù)、最大線程數(shù)、空閑存活時(shí)間、工作隊(duì)列、拒絕策略。 image.png 主要工作原理如下:

  1. 默認(rèn)情況下線程不會(huì)預(yù)創(chuàng)建,任務(wù)提交之后才會(huì)創(chuàng)建線程(不過設(shè)置 prestartAllCoreThreads 可以預(yù)創(chuàng)建核心線程)。
  2. 當(dāng)核心線程滿了之后不會(huì)新建線程,而是把任務(wù)堆積到工作隊(duì)列中。
  3. 如果工作隊(duì)列放不下了,然后才會(huì)新增線程,直至達(dá)到最大線程數(shù)。
  4. 如果工作隊(duì)列滿了,然后也已經(jīng)達(dá)到最大線程數(shù)了,這時(shí)候來任務(wù)會(huì)執(zhí)行拒絕策略。
  5. 如果線程空閑時(shí)間超過空閑存活時(shí)間,并且當(dāng)前線程數(shù)大于核心線程數(shù)的則會(huì)銷毀線程,直到線程數(shù)等于核心線程數(shù)(設(shè)置 allowCoreThreadTimeOut 為 true 可以回收核心線程,默認(rèn)為 false)。

Java 并發(fā)庫中提供了 5 種常見的線程池實(shí)現(xiàn),主要通過 Executors 工具類來創(chuàng)建。

1)FixedThreadPool:創(chuàng)建一個(gè)固定數(shù)量的線程池。

線程池中的線程數(shù)是固定的,空閑的線程會(huì)被復(fù)用。如果所有線程都在忙,則新任務(wù)會(huì)放入隊(duì)列中等待。

適合負(fù)載穩(wěn)定的場景,任務(wù)數(shù)量確定且不需要?jiǎng)討B(tài)調(diào)整線程數(shù)。

2)CachedThreadPool:一個(gè)可以根據(jù)需要?jiǎng)?chuàng)建新線程的線程池。

線程池的線程數(shù)量沒有上限,空閑線程會(huì)在 60 秒后被回收,如果有新任務(wù)且沒有可用線程,會(huì)創(chuàng)建新線程。

適合短期大量并發(fā)任務(wù)的場景,任務(wù)執(zhí)行時(shí)間短且線程數(shù)需求變化較大。

3)SingleThreadExecutor:創(chuàng)建一個(gè)只有單個(gè)線程的線程池。

只有一個(gè)線程處理任務(wù),任務(wù)會(huì)按照提交順序依次執(zhí)行。

適用于需要保證任務(wù)按順序執(zhí)行的場景,或者不需要并發(fā)處理任務(wù)的情況。

4)ScheduledThreadPool:支持定時(shí)任務(wù)和周期性任務(wù)的線程池。

可以定時(shí)或以固定頻率執(zhí)行任務(wù),線程池大小可以由用戶指定。

適用于需要周期性任務(wù)執(zhí)行的場景,如定時(shí)任務(wù)調(diào)度器。

5)WorkStealingPool:基于任務(wù)竊取算法的線程池。

線程池中的每個(gè)線程維護(hù)一個(gè)雙端隊(duì)列(deque),線程可以從自己的隊(duì)列中取任務(wù)執(zhí)行。如果線程的任務(wù)隊(duì)列為空,它可以從其他線程的隊(duì)列中“竊取”任務(wù)來執(zhí)行,達(dá)到負(fù)載均衡的效果。

適合大量小任務(wù)并行執(zhí)行,特別是遞歸算法或大任務(wù)分解成小任務(wù)的場景。

線程池的線程數(shù)設(shè)置需要看具體執(zhí)行的任務(wù)是什么類型的。

任務(wù)類型可以分:CPU 密集型任務(wù)和 I/O 密集型任務(wù)。

CPU 密集型任務(wù)

CPU 密集型任務(wù),就好比單純的數(shù)學(xué)計(jì)算任務(wù),它不會(huì)涉及 I/O 操作,也就是說它可以充分利用 CPU 資源(如果涉及 I/O,在進(jìn)行 I/O 的時(shí)候 CPU 是空閑的),不會(huì)因?yàn)?I/O 操作被阻塞,因此不需要很多線程,線程多了上下文開銷反而會(huì)變多。

根據(jù)經(jīng)驗(yàn)法則,CPU 密集型任務(wù)線程數(shù) = CPU 核心數(shù) + 1。

I/O 密集型任務(wù)

I/O 密集型任務(wù),有很多 I/O 操作,例如文件的讀取、數(shù)據(jù)庫的讀取等等,任務(wù)在讀取這些數(shù)據(jù)的時(shí)候,是無法利用 CPU 的,對應(yīng)的線程會(huì)被阻塞等待 I/O 讀取完成,因此如果任務(wù)比較多,就需要有更多的線程來執(zhí)行任務(wù),來提高等待 I/O 時(shí)候的 CPU 利用率。

根據(jù)經(jīng)驗(yàn)法則,I/O 密集型任務(wù)線程數(shù) = CPU 核心數(shù) * 2 或更多一些。

(這句話一定要和面試官說)以上公式僅是一個(gè)純理論值,僅供參考!在生產(chǎn)上,需要考慮機(jī)器的硬件配置,設(shè)置預(yù)期的 CPU 利用率、CPU負(fù)載等因素,再通過實(shí)際的測試不斷調(diào)整得到合理的線程池配置參數(shù)。

4. Error 和 Exception 有什么區(qū)別

ExceptionError 都是 Throwable 類的子類(在 Java 代碼中只有繼承了 Throwable 類的實(shí)例才可以被 throw 或者被 catch)它們表示在程序運(yùn)行時(shí)發(fā)生的異?;蝈e(cuò)誤情況。

總結(jié)來看:Exception 表示可以被處理的程序異常,Error 表示系統(tǒng)級的不可恢復(fù)錯(cuò)誤。

詳細(xì)說明

1)Exception:是程序中可以處理的異常情況,表示程序邏輯或外部環(huán)境中的問題,可以通過代碼進(jìn)行恢復(fù)或處理。

常見子類有:IOExceptionSQLException、NullPointerExceptionIndexOutOfBoundsException 等。

Exception 又分為 Checked Exception(編譯期異常)和 Unchecked Exception(運(yùn)行時(shí)異常)。

  • Checked Exception:在編譯時(shí)必須顯式處理(如使用 try-catch 塊或通過 throws 聲明拋出)。如 IOException。
  • Unchecked Exception:運(yùn)行時(shí)異常,不需要顯式捕獲。常見的如 NullPointerException、IllegalArgumentException 等,繼承自 RuntimeException。

2)Error:表示嚴(yán)重的錯(cuò)誤,通常是 JVM 層次內(nèi)系統(tǒng)級的、無法預(yù)料的錯(cuò)誤,程序無法通過代碼進(jìn)行處理或恢復(fù)。例如內(nèi)存耗盡(OutOfMemoryError)、棧溢出(StackOverflowError)。

Error 不應(yīng)該被程序捕獲或處理,因?yàn)橐话愠霈F(xiàn)這種錯(cuò)誤時(shí)程序無法繼續(xù)運(yùn)行。

5.Synchronized 和 ReentrantLock 有什么區(qū)別?

Synchronized 是 Java 內(nèi)置的關(guān)鍵字,實(shí)現(xiàn)基本的同步機(jī)制,不支持超時(shí),非公平,不可中斷,不支持多條件。

ReentrantLock 是 JUC 類庫提供的,由 JDK 1.5 引入,支持設(shè)置超時(shí)時(shí)間,可以避免死鎖,比較靈活,并且支持公平鎖,可中斷,支持多條件判斷。

ReentrantLock 需要手動(dòng)解鎖,而 Synchronized 不需要,它們都是可重入鎖。

一般情況下用 Synchronized 足矣,比較簡單,而 ReentrantLock 比較靈活,支持的功能比較多,所以復(fù)雜的情況用 ReentrantLock 。

6. 說下 AQS 原理

簡單來說 AQS 就是起到了一個(gè)抽象、封裝的作用,將一些排隊(duì)、入隊(duì)、加鎖、中斷等方法提供出來,便于其他相關(guān) JUC 鎖的使用,具體加鎖時(shí)機(jī)、入隊(duì)時(shí)機(jī)等都需要實(shí)現(xiàn)類自己控制。

它主要通過維護(hù)一個(gè)共享狀態(tài)(state)和一個(gè)先進(jìn)先出(FIFO)的等待隊(duì)列,來管理線程對共享資源的訪問。

state 用 volatile 修飾,表示當(dāng)前資源的狀態(tài)。例如,在獨(dú)占鎖中,state 為 0 表示未被占用,為 1 表示已被占用。

當(dāng)線程嘗試獲取資源失敗時(shí),會(huì)被加入到 AQS 的等待隊(duì)列中。這個(gè)隊(duì)列是一個(gè)變體的 CLH 隊(duì)列,采用雙向鏈表結(jié)構(gòu),節(jié)點(diǎn)包含線程的引用、等待狀態(tài)以及前驅(qū)和后繼節(jié)點(diǎn)的指針。

AQS 常見的實(shí)現(xiàn)類有 ReentrantLock、CountDownLatch、Semaphore 等等。

7. 分布式鎖

分布式鎖需要實(shí)現(xiàn)多個(gè)應(yīng)用實(shí)例之間的臨界資源競爭,因此它需要依賴三方組件才能實(shí)現(xiàn)這樣的功能。

常見依賴 Redis、ZooKeeper 來實(shí)現(xiàn)分布式鎖。

8. 發(fā)現(xiàn)數(shù)據(jù)庫查詢很慢,如何排查

平時(shí)進(jìn)行 SQL 調(diào)優(yōu),主要是通過觀察慢 SQL,然后利用 explain 分析查詢語句的執(zhí)行計(jì)劃,識別性能瓶頸,優(yōu)化查詢語句。

9. 索引數(shù)據(jù)結(jié)構(gòu) b+樹 ,什么時(shí)候索引無效?

一般有以下幾種情況不推薦建立索引:

1)對于數(shù)據(jù)量很小的表

2)頻繁更新的表

3)**執(zhí)行大量的 SELECT **

4)低選擇性字段(高度重復(fù)值的列)

5)低頻查詢的列

6)長文本字段

10. CAS 在高并發(fā)的情況下會(huì)有問題嗎

CAS 是一種硬件級別的原子操作,它比較內(nèi)存中的某個(gè)值是否為預(yù)期值,如果是,則更新為新值,否則不做修改。

工作原理

  • 比較(Compare):CAS 會(huì)檢查內(nèi)存中的某個(gè)值是否與預(yù)期值相等。
  • 交換(Swap):如果相等,則將內(nèi)存中的值更新為新值。
  • 失敗重試:如果不相等,說明有其他線程已經(jīng)修改了該值,CAS 操作失敗,一般會(huì)利用重試,直到成功。

11. 樂觀鎖和悲觀鎖有什么區(qū)別?使用場景是?

悲觀鎖(Pessimistic Locking)

  • 假設(shè)會(huì)發(fā)生沖突,因此在操作數(shù)據(jù)之前就對數(shù)據(jù)加鎖,確保其他事務(wù)無法訪問該數(shù)據(jù)。常見于對數(shù)據(jù)一致性要求較高的場景。
  • 實(shí)現(xiàn)方式:使用行級鎖或表級鎖,例如可以使用 SELECT ... FOR UPDATELOCK IN SHARE MODE 語句來加鎖。

樂觀鎖(Optimistic Locking)

  • 假設(shè)不會(huì)發(fā)生沖突,因此在操作數(shù)據(jù)時(shí)不加鎖,而是在更新數(shù)據(jù)時(shí)進(jìn)行版本控制或校驗(yàn)。如果發(fā)現(xiàn)數(shù)據(jù)被其他事務(wù)修改,則會(huì)拒絕當(dāng)前事務(wù)的修改,需重新嘗試。
  • 實(shí)現(xiàn)方式:通常通過版本號或時(shí)間戳來實(shí)現(xiàn),每次更新時(shí)檢查版本號或時(shí)間戳是否一致。

12. 數(shù)據(jù)庫分庫分表

分庫分表是數(shù)據(jù)庫性能優(yōu)化的一種方法,通過將數(shù)據(jù)分散存儲在多個(gè)數(shù)據(jù)庫或表中,來提高系統(tǒng)的可擴(kuò)展性、性能和可用性。

如果還想進(jìn)一步了解 為什么需要分庫分表,可以瀏覽面試鴨,獲取擴(kuò)展知識:美團(tuán)后端一面

13. 接口耗時(shí)較高,怎么排查?(除了業(yè)務(wù)優(yōu)化)

看服務(wù)器相關(guān)監(jiān)控

  • CPU 和內(nèi)存使用率:檢查服務(wù)器的 CPU 和內(nèi)存使用率是否過高,導(dǎo)致接口響應(yīng)變慢??梢允褂?top、htop 或者 vmstat 等工具進(jìn)行監(jiān)控。
  • 磁盤 I/O:如果接口依賴于磁盤操作,如數(shù)據(jù)庫查詢或文件讀寫,磁盤 I/O 的瓶頸會(huì)影響接口性能??梢允褂?iostat 或者 iotop 工具檢查磁盤 I/O 情況。
  • 數(shù)據(jù)庫查詢性能:檢查數(shù)據(jù)庫查詢是否存在慢SQL或索引未命中情況??梢酝ㄟ^數(shù)據(jù)庫自帶的慢查詢?nèi)罩净?EXPLAIN 語句分析 SQL 語句的執(zhí)行計(jì)劃。
  • 線程池監(jiān)控:如果接口使用線程池處理請求,線程池配置不合理(如線程數(shù)過少或隊(duì)列過長)可能導(dǎo)致請求等待時(shí)間過長。需要檢查線程池的大小和隊(duì)列情況,并根據(jù)負(fù)載適當(dāng)調(diào)整。
  • 連接池監(jiān)控:如果使用了連接池(數(shù)據(jù)庫連接池、HTTP 連接池等),需要檢查連接池的配置是否合理。連接池大小過小可能導(dǎo)致連接等待時(shí)間過長,大小過大則可能耗盡資源。

日志追蹤

  • 分布式追蹤:使用分布式追蹤工具(如 Zipkin、Jaeger)來跟蹤接口調(diào)用的各個(gè)階段,找出耗時(shí)較長的環(huán)節(jié)。
  • 日志分析:啟用詳細(xì)的日志記錄,包括請求接收時(shí)間、處理時(shí)間、外部依賴(如數(shù)據(jù)庫、外部服務(wù))調(diào)用時(shí)間。通過分析日志,確定耗時(shí)主要集中在哪個(gè)階段。
  • APM 工具:使用應(yīng)用性能監(jiān)控(APM)工具(如 New Relic、AppDynamics、Prometheus)來監(jiān)控接口的性能指標(biāo),實(shí)時(shí)分析性能瓶頸。

14. Object 里都有什么?

以下是 Object 類中的主要方法及其作用:

1. public boolean equals(Object obj)

  • 作用:用于比較兩個(gè)對象是否相等。默認(rèn)實(shí)現(xiàn)比較對象的內(nèi)存地址,即判斷兩個(gè)引用是否指向同一個(gè)對象。
  • 使用:通常會(huì)重寫此方法來比較對象的內(nèi)容或特定屬性,以定義對象的相等性。

2. public int hashCode()

  • 作用:返回對象的哈希碼,是對象的整數(shù)表示。哈希碼用于支持基于哈希的集合(如 HashMapHashSet)。
  • 使用:如果重寫了 equals 方法,則通常也需要重寫 hashCode 方法,以保證相等的對象具有相同的哈希碼。

3. public String toString()

  • 作用:返回對象的字符串表示。默認(rèn)實(shí)現(xiàn)返回對象的類名加上其哈希碼的十六進(jìn)制表示。
  • 使用:通常會(huì)重寫此方法以提供對象的更有意義的描述。

4. public final Class<?> getClass()

  • 作用:返回對象的運(yùn)行時(shí)類(Class 對象)。此方法是 Object 類中的一個(gè) final 方法,不能被重寫。
  • 使用:可以用來獲取對象的類信息,常用于反射操作。

5. public void notify()

  • 作用:喚醒在對象的監(jiān)視器上等待的一個(gè)線程。該方法需要在同步塊或同步方法中調(diào)用。
  • 使用:用于在多線程環(huán)境中進(jìn)行線程間的通信和協(xié)調(diào)。

6. public void notifyAll()

  • 作用:喚醒在對象的監(jiān)視器上等待的所有線程。該方法需要在同步塊或同步方法中調(diào)用。
  • 使用:與 notify() 相似,但喚醒所有等待線程,用于處理多個(gè)線程之間的協(xié)作。

7. public void wait()

  • 作用:使當(dāng)前線程等待,直到其他線程調(diào)用 notify()notifyAll() 方法。此方法需要在同步塊或同步方法中調(diào)用。
  • 使用:用于線程間的通信,線程會(huì)等待直到被喚醒或超時(shí)。

8. public void wait(long timeout)

  • 作用:使當(dāng)前線程等待,直到指定的時(shí)間到期或被喚醒。超時(shí)后線程會(huì)自動(dòng)被喚醒。
  • 使用:用于實(shí)現(xiàn)帶有超時(shí)的等待機(jī)制。

9. public void wait(long timeout, int nanos)

  • 作用:使當(dāng)前線程等待,直到指定的時(shí)間和納秒數(shù)到期或被喚醒。
  • 使用:用于實(shí)現(xiàn)更精細(xì)的等待控制,允許指定等待時(shí)間的精確到納秒。

10. protected Object clone()

  • 作用:創(chuàng)建并返回當(dāng)前對象的一個(gè)副本。默認(rèn)實(shí)現(xiàn)是進(jìn)行淺拷貝。
  • 使用:通常會(huì)重寫此方法來實(shí)現(xiàn)深拷貝,以確??寺ο蟮耐暾?。

11. protected void finalize()

  • 作用:在垃圾回收器確定不存在對該對象的更多引用時(shí)調(diào)用,用于進(jìn)行資源釋放等清理工作。
  • 使用:不建議使用,因?yàn)樗蕾囉诶厥掌鞯膶?shí)現(xiàn),可能會(huì)導(dǎo)致不確定的性能問題。推薦使用 try-with-resourcesAutoCloseable 接口進(jìn)行資源管理。

更多面經(jīng)及答案可以打開面試鴨閱讀學(xué)習(xí) ?? :****************************

#面經(jīng)#
全部評論
已老實(shí)
點(diǎn)贊 回復(fù) 分享
發(fā)布于 04-03 11:48 河南

相關(guān)推薦

HTTP協(xié)議是一種用于在Web瀏覽器和Web服務(wù)器之間通信的協(xié)議。它是一個(gè)客戶端-服務(wù)器協(xié)議,用于請求和傳輸超文本標(biāo)記語言(HTML)文檔。HTTP定義了:http://fangfengwang8.cn/issue/tutorial?zhuanlanId=Mg58Em&amp;amp;uuid=43521d43a8e341f888324dd690363024客戶端如何發(fā)送請求服務(wù)器如何響應(yīng)請求工作原理:http://fangfengwang8.cn/issue/tutorial?zhuanlanId=Mg58Em&amp;amp;uuid=43521d43a8e341f888324dd690363024#??虯I配圖神器#當(dāng)用戶通過瀏覽器訪問網(wǎng)頁時(shí),瀏覽器會(huì)向服務(wù)器發(fā)送HTTP請求。&nbsp;服務(wù)器接收請求并根據(jù)請求內(nèi)容進(jìn)行處理。&nbsp;服務(wù)器處理完成后,將相應(yīng)的HTML文件或其他文件返回給瀏覽器,瀏覽器將文件解析后顯示給用戶。HTTP工作基于請求-響應(yīng)模型。&nbsp;客戶端發(fā)送一個(gè)請求給服務(wù)器,然后等待服務(wù)器的響應(yīng)。&nbsp;請求和響應(yīng)都包含了一個(gè)Header和一個(gè)Body部分。Header部分包含了請求或響應(yīng)的元數(shù)據(jù),如請求類型、URL、協(xié)議版本、身份驗(yàn)證信息、緩存控制等。Body部分包含了實(shí)際的數(shù)據(jù),如HTML文件、圖像、視頻、音頻等。HTTP協(xié)議使用TCP/IP協(xié)議傳輸數(shù)據(jù)。當(dāng)建立連接時(shí),客戶端與服務(wù)器之間將建立一條TCP連接,并在連接上發(fā)送HTTP請求和響應(yīng)。連接還可以保持開放狀態(tài),以允許多個(gè)請求和響應(yīng)使用同一連接。當(dāng)不再需要連接時(shí),可以通過關(guān)閉TCP連接來終止通信。HTTPS是在HTTP上添加了安全層(SSL&nbsp;/&nbsp;TLS),提供了數(shù)據(jù)加密和身份驗(yàn)證功能,以保護(hù)用戶的隱私和安全。
點(diǎn)贊 評論 收藏
分享
1.項(xiàng)目拷打:&nbsp;ACM模式和核心代碼模式的區(qū)別(項(xiàng)目相關(guān))?i.&nbsp;如果一萬個(gè)測試用例你的項(xiàng)目怎么實(shí)現(xiàn),優(yōu)化?ii.&nbsp;鑒權(quán)模型是怎么選擇的?iii.&nbsp;部署的問題1.Java中的&nbsp;集合的思維導(dǎo)圖。講知道的所有的&nbsp;集合相關(guān)的東西,講了很久,,有什么接口,什么實(shí)現(xiàn)類.....2.使用池化技術(shù)后,多線程中,某個(gè)報(bào)錯(cuò)線程報(bào)錯(cuò)怎么處理,-》線程&nbsp;Exception相關(guān)的3.使用多線程要注意什么呢?4.Java實(shí)現(xiàn)多線程有哪幾種方式,區(qū)別是什么?5.Java線程池:&nbsp;怎么去監(jiān)控一個(gè)java線程池,如何評估它的性能好壞(怎么怎么樣設(shè)置參數(shù)后),原話:“你看網(wǎng)上說的這么多不同的參數(shù)設(shè)置方式,你怎么判斷這樣設(shè)置的性能的好壞?”MySQL:1.索引有哪些類型?2.主鍵索引和非主鍵索引的底層實(shí)現(xiàn)有什么不同?題目:給定一個(gè)純數(shù)字字符串,求可能的ip地址組合,例如10234166:10.2.34.166,&nbsp;102.3.4.166.........總結(jié)發(fā)現(xiàn)并不難,確實(shí)多線程那一塊深入思考的太少,停留在八股文(甚至都不太熟練)題主還是太菜,迷茫啊。。。。。。
美團(tuán)一面2074人在聊 查看11道真題和解析
點(diǎn)贊 評論 收藏
分享
評論
8
59
分享

創(chuàng)作者周榜

更多
正在熱議
更多
牛客網(wǎng)
??推髽I(yè)服務(wù)