国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ Java &#&面接の質(zhì)問 Javaインタビューロック

Javaインタビューロック

Jan 04, 2021 pm 05:32 PM
java ロック インタビュー

Javaインタビューロック

インタビューの質(zhì)問:

Java のロックについて何か知っていますか?ロックにはどのような種類がありますか?それらの違いは何ですか?教えて。

(學(xué)習(xí)ビデオ共有: Java ビデオ チュートリアル)

答え:

ロックとは何か、何に使うのか、ロックの種類、ロックの違いに大別できます。

1:ロックとは何ですか?また何に使用されますか?

ロックは主に、リソース共有の同期を?qū)g現(xiàn)するために使用されます。ロックを取得した後にのみ同期コードにアクセスできます。それ以外の場(chǎng)合は、他のスレッドがロックの使用を終了してロックを解放するのを待ちます。

2:どんな種類のロックがありますか?

ここでの主な焦點(diǎn)は、同期とロックです (インタビューではこの 2 つについて質(zhì)問しているため)。

synchronize: メソッドの前に配置することも、コード ブロックの前に配置することもできますが、ロックされたオブジェクトを指定する必要があります。通常は、wait、notify、notifyAll と一緒に使用されます。 wait: 保持されていたオブジェクトのロックを解除し、CPU を解放します。 sleep: CPU を解放しますが、占有されているオブジェクトのロックは解放しません。

notify: 待機(jī)キュー內(nèi)のスレッドを起動(dòng)して、アクセス用のロックを取得できるようにします。

notifyAll: 待機(jī)キュー內(nèi)のオブジェクト ロックを待っているすべてのスレッドを起動(dòng)し、ロックを取得するために競(jìng)合させます。

ロック: 同期と同じセマンティクスを持ちますが、割り込みロック待機(jī)や時(shí)限ロックなどの他の機(jī)能が追加されています。待機(jī)中なので、同期の代わりにロックを使用できます。提供されるメソッドは次のとおりです:

# (関連する面接の質(zhì)問に関する推奨事項(xiàng): Java 面接の質(zhì)問と回答)

lock(): ブロック方式でロックを取得します。ロックが取得されなくなるまで待機(jī)し、中斷されません。

tryLock(): 取得します。取得できれば true を返します。取得できなかった場(chǎng)合は返します。間違い。

tryLock(long timeout,TimeUnit単位): 取得された場(chǎng)合はtrueを返し、取得されなかった場(chǎng)合は指定された時(shí)間待機(jī)し、まだ取得されていない場(chǎng)合は、まだ取得されていない場(chǎng)合は false を返します。

lockInterruptibly(): ロックと似ていますが、ロックが取得されない場(chǎng)合は、ロックが取得されるまで休止?fàn)顟B(tài)に入ります。または現(xiàn)在のスレッドがブロックされているため、スレッドは中斷されます。 3:

この 2 つの違いは何ですか?

一貫性のないパフォーマンス: リソースの競(jìng)合が動(dòng)機(jī)付けられている場(chǎng)合、ロックのパフォーマンスは同期よりも優(yōu)れていますが、競(jìng)合が動(dòng)機(jī)付けられていない場(chǎng)合は、ロックよりも同期のパフォーマンスが優(yōu)れています。

ロック メカニズムは異なります。同期は JVM レベルで実裝され、システムはロックが解放されたかどうかを監(jiān)視します。ロックはコードに実裝されており、finally ブロックで手動(dòng)で解放する必要があります。ロックは非ブロック的な方法で取得できます。

使用法は異なります。同期はコード ブロックとメソッドで使用できます。ロックはコードを通じて実裝され、より正確なスレッド セマンティクスを持ちます。

関連する推奨事項(xiàng):

Java 入門チュートリアル

以上がJavaインタビューロックの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JDBCを使用してJavaのトランザクションを処理する方法は? JDBCを使用してJavaのトランザクションを処理する方法は? Aug 02, 2025 pm 12:29 PM

JDBCトランザクションを正しく処理するには、最初に自動(dòng)コミットモードをオフにし、次に複數(shù)の操作を?qū)g行し、結(jié)果に応じて最終的にコミットまたはロールバックする必要があります。 1。CONN.SETAUTOCOMMIT(FALSE)を呼び出して、トランザクションを開始します。 2。挿入や更新など、複數(shù)のSQL操作を?qū)g行します。 3。すべての操作が成功した場(chǎng)合はconn.commit()を呼び出し、データの一貫性を確保するために例外が発生した場(chǎng)合はconn.rollback()を呼び出します。同時(shí)に、リソースを使用してリソースを管理し、例外を適切に処理し、接続を密接に接続するために、接続の漏れを避けるために使用する必要があります。さらに、接続プールを使用してセーブポイントを設(shè)定して部分的なロールバックを達(dá)成し、パフォーマンスを改善するためにトランザクションを可能な限り短く保つことをお?jiǎng)幛幛筏蓼埂?/p>

Java仮想マシン(JVM)內(nèi)部の理解 Java仮想マシン(JVM)內(nèi)部の理解 Aug 01, 2025 am 06:31 AM

thejvmenablesjavaの「writeonce、runany where "capabilitybyexcuting byteCodeThethermainComponents:1。theClassLoaderSubSystemloads、links、andinitializes.classfilesusingbootStrap、拡張、およびアプリケーションクラスローロー、

Javaでカレンダーを操作する方法は? Javaでカレンダーを操作する方法は? Aug 02, 2025 am 02:38 AM

Java.Timeパッケージのクラスを使用して、古い日付とカレンダーのクラスを置き換えます。 2。LocalDate、LocalDateTime、LocalTimeを通じて現(xiàn)在の日付と時(shí)刻を取得します。 3。of()メソッドを使用して特定の日付と時(shí)刻を作成します。 4.プラス/マイナスメソッドを使用して、時(shí)間を不正に増加させて短縮します。 5. ZonedDateTimeとZoneIDを使用して、タイムゾーンを処理します。 6。DateTimeFormatterを介したフォーマットおよび解析の文字列。 7.インスタントを使用して、必要に応じて古い日付型と互換性があります?,F(xiàn)代のJavaでの日付処理は、java.timeapiを使用することを優(yōu)先する必要があります。

Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Javaフレームワークの比較:Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pre-formanceTartuptimeMemoryusage、quarkusandmicronautleadduetocopile-timeprocessingingandgraalvsupport、withquarkusoftentylightbetterine serverlessシナリオ。

ネットワークポートとファイアウォールの理解 ネットワークポートとファイアウォールの理解 Aug 01, 2025 am 06:40 AM

ネットワークポートアンドファイアワルクトグテルトエナブルコマニケーションwhiledensuringsecurity.1.networksarevirtualendpointsnumbered0–655 35、withwell-knownportslike80(http)、443(https)、22(ssh)、および25(smtp)識(shí)別pecificservices.2.portsoperateovertcp(信頼できる、c

Garbage CollectionはJavaでどのように機(jī)能しますか? Garbage CollectionはJavaでどのように機(jī)能しますか? Aug 02, 2025 pm 01:55 PM

JavaのGarbage Collection(GC)は、メモリを自動(dòng)的に管理するメカニズムであり、到達(dá)不可能なオブジェクトを取り戻すことでメモリ漏れのリスクを軽減します。 1.GCルートオブジェクトからのオブジェクトのアクセシビリティ(スタック変數(shù)、アクティブスレッド、靜的フィールドなど)、および到達(dá)不可能なオブジェクトはゴミとしてマークされています。 2。マーククリアリングアルゴリズムに基づいて、すべての到達(dá)可能なオブジェクトをマークし、マークのないオブジェクトをクリアします。 3.世代の収集戦略を採用する:新世代(Eden、S0、S1)は頻繁にMinorGCを?qū)g行します。高齢者のパフォーマンスは少なくなりますが、MajorGCを?qū)g行するのに時(shí)間がかかります。 Metaspaceはクラスメタデータを保存します。 4。JVMはさまざまなGCデバイスを提供します。SerialGCは小さなアプリケーションに適しています。 ParallelGCはスループットを改善します。 CMSが減少します

Javaビルドツールの比較:Maven vs. Gradle Javaビルドツールの比較:Maven vs. Gradle Aug 03, 2025 pm 01:36 PM

gradleisthebetterchoiceformostnewprojectoitssuperorfficability、performance、andmoderntoolingsupport.1.gradle’sgroovy/kotlindslismoreconciseandexpressiveethanmaven’sverboseml.2.gradleorformsmavenbenbumebutedwitedwitedwitedspedexは

説明された延期聲明の例で進(jìn)みます 説明された延期聲明の例で進(jìn)みます Aug 02, 2025 am 06:26 AM

Deferは、クリーニングリソースなど、関數(shù)が戻る前に指定された操作を?qū)g行するために使用されます。パラメーターは、延期時(shí)にすぐに評(píng)価され、関數(shù)は最後のファーストアウト(LIFO)の順に実行されます。 1.複數(shù)の債務(wù)は、宣言の逆の順序で実行されます。 2.ファイルの閉鎖などの安全なクリーニングに一般的に使用されます。 3。指定された返品値を変更できます。 4.回復(fù)に適したパニックが発生した場(chǎng)合でも実行されます。 5。リソースの漏れを防ぐために、ループで延期の亂用を避けます。正しい使用により、コードのセキュリティと読みやすさが向上します。

See all articles