五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

線程通信/String相關

2022-07-29 01:19 作者:劍離我離  | 我要投稿

線程通信

wait() : 一旦執(zhí)行此方法,當前線程就進入阻塞狀態(tài),并釋放同步監(jiān)視器。

notify() : 一旦執(zhí)行此方法,就會喚醒被wait的一個線程。如果有多個線程被wait,就喚醒優(yōu)先級高的那個。

notifyAll() : 一旦執(zhí)行此方法,就會喚醒所有被wait的線程

說明:

  • wait()、notify()、notifyAll()三個方法必須使用在同步代碼塊或同步方法中。

  • 三個方法的調用者中必須是同步代碼塊或同步方法的同步監(jiān)視器

    • 否則,會出現IllegalMonitorStatteException 異常

面試題:

sleep() 和 wait() 的異同?

相同點:一旦執(zhí)行方法,都可以使得當前線程進入阻塞狀態(tài)。

不同點:1.兩個方法聲明的位置不同:Thread類中聲明sleep(),Object類中聲明wait()
2.調用的要求不同:sleep()可以在任何需要的場景下調用。wait()必須使用在同步代碼塊中。

3.關于是否釋放同步監(jiān)視器:如果兩個方法都使用在同步代碼塊或同步方法中,sleep()不釋放同步監(jiān)視器。

方式三:實現Callable接口

與實現Runnable相比:

  • 相比run() 方法,可以有返回值

  • 方法可以拋出異常

  • 支持泛型的返回值

  • 需要借助Future Task 類,比如獲取返回結果

方式四:使用線程池

  1. 提供指定線程數量的線程池

  2. 執(zhí)行指定的線程的操作,需要提供實現Runnable 接口或Callable接口實現類的對象

  3. 關閉連接池

好處:1.提高響應速度(減少了創(chuàng)建新線程的時間)

2.降低資源消耗:重復利用線程池中線程,不需要每次都創(chuàng)建

3.便于線程管理

corePoolSzie() : 核心池的大小

maximunPoolSize:最大線程數

keepAliveTime:線程沒有創(chuàng)建任何時最多保持多長時間后會終止

常用類

String

  1. 聲明為final的,不可被繼承

  2. String 實現了Serializable接口 : 表示字符串是支持序列化的

實現了Comparable接口:

  1. 內部定義了 final char[] value 用于存儲字符串數據,代表不可變的字符序列:不可變性;

  2. 通過字面量的方式給一個字符串賦值,此時的字符串值聲明在字符串常量池中,字符串常量池不會儲存相同內容的字符串。

通過自變量的方式進行賦值,存儲的是相同的地址。不管是字面量賦值的,還是new賦值的,其最終指向的都是方法區(qū)中的字符串常量池,但new的方式,其對象存的是堆空間中的地址,字面量的方式,直接指向了字符串常量池

面試題:String s = new String("abc"); 方式創(chuàng)建對象,創(chuàng)建了幾個對象?

兩個,堆空間一個,方法區(qū)一個。

  1. 常量與常量的拼接結果是在常量池的。且常量池中不會存在相同內容的常量。

只有其中有一個是變量,結果就在堆中(相當于new了對象)。

如果拼接的結果調用了inturn()方法,返回值就在常量池中。

常用方法

  1. compareTo(); //先的減后的 負數:當前對象小

  2. contains() ; ?// 包含子串

StringBuffer 和 StringBuilder

三者的異同:

String:不可變的字符序列,底層使用char[];

StringBuffer:可變的字符序列; 線程安全的,效率低。底層使用char[];

StringBuilder:可變的字符序列;線程不安全,效率高;底層使用char[];

append() ; 有返回值。可鏈式調用


線程通信/String相關的評論 (共 條)

分享到微博請遵守國家法律
沈阳市| 枣阳市| 凭祥市| 铜梁县| 托克逊县| 大悟县| 从江县| 盐津县| 黄大仙区| 佛冈县| 朝阳市| 连南| 玉山县| 惠水县| 禄丰县| 六枝特区| 北流市| 嘉义县| 汕头市| 黔西县| 调兵山市| 邵阳县| 永新县| 云梦县| 益阳市| 蕲春县| 惠东县| 长宁县| 沁阳市| 永年县| 德昌县| 南川市| 利辛县| 青河县| 桦南县| 平遥县| 扎鲁特旗| 蕉岭县| 邢台市| 五台县| 盖州市|