1. 並列処理と同時(shí)実行の違いは何ですか?
並列とは、同時(shí)に発生する 2 つ以上のイベントを指します。同時(shí)実行とは、同じ時(shí)間間隔で発生する 2 つ以上のイベントを指します。
並列処理は、異なるエンティティ上の複數(shù)のイベントであり、同時(shí)実行性は、同じエンティティ上の複數(shù)のイベントです。
並列処理は 1 つのプロセッサ上で複數(shù)のタスクを「同時(shí)に」処理することであり、同時(shí)実行性は複數(shù)のプロセッサ上で複數(shù)のタスクを同時(shí)に処理することです。 Hadoop分散クラスタなど。
したがって、同時(shí)プログラミングの目標(biāo)は、プロセッサの各コアを最大限に活用して最高の処理パフォーマンスを達(dá)成することです。
(推奨される関連ビデオ チュートリアル: java ビデオ )
2. スレッドとプロセスの違いは何ですか?
つまり、プロセスはプログラムの実行とリソース割り當(dāng)ての基本単位であり、プログラムには少なくとも 1 つのプロセスがあり、プロセスには少なくとも 1 つのスレッドがあります。プロセスには実行中に獨(dú)立したメモリ ユニットがあり、複數(shù)のスレッドがメモリ リソースを共有するため、切り替え回?cái)?shù)が削減され、効率が向上します。スレッドはプロセスの実體であり、CPU のスケジューリングとディスパッチの基本単位であり、プログラムよりも小さく獨(dú)立して実行できる基本単位です。同じプロセス內(nèi)の複數(shù)のスレッドは同時(shí)に実行できます。
3. デーモン スレッドとは何ですか?
デーモン スレッド (デーモン スレッド) はサービス スレッドであり、正確には他のスレッドにサービスを提供します。
4. スレッドを作成するにはどのような方法がありますか?
(1) Thread クラスを継承してスレッド クラスを作成する
Thread クラスのサブクラスを定義し、クラスの run メソッドをオーバーライドします。run メソッドのメソッド本體は、その內(nèi)容を表します。スレッドは完了を望んでいます。タスク。したがって、run() メソッドは実行本體と呼ばれます。
Thread サブクラスのインスタンスを作成します。つまり、スレッド オブジェクトを作成します。
スレッド オブジェクトの start() メソッドを呼び出してスレッドを開始します。
(推奨チュートリアル: java 入門プログラム )
(2) Runnable インターフェイスを使用してスレッド クラスを作成する
Runnable の実裝クラスを定義するrun() メソッドのメソッド本體は、スレッドのスレッド実行本體でもあります。
Runnable 実裝クラスのインスタンスを作成し、このインスタンスを Thread のターゲットとして使用して Thread オブジェクトを作成します。この Thread オブジェクトが実際のスレッド オブジェクトです。
スレッド オブジェクトの start() メソッドを呼び出してスレッドを開始します。
(3) CallableとFutureによるスレッドの作成
Callableインタフェースの実裝クラスを作成し、スレッドの実行本體となるcall()メソッドを?qū)g裝します。戻り値を持ちます。
Callable 実裝クラスのインスタンスを作成し、FutureTask クラスを使用して Callable オブジェクトをラップします。FutureTask オブジェクトは、Callable オブジェクトの call() メソッドの戻り値をカプセル化します。
FutureTask オブジェクトを Thread オブジェクトのターゲットとして使用して、新しいスレッドを作成して開始します。
子スレッドの実行終了後に、FutureTask オブジェクトの get() メソッドを呼び出して戻り値を取得します。
5. 実行可能と呼び出し可能の違いは何ですか?
これは少し深い質(zhì)問であり、Java プログラマーが取得できる知識(shí)の広さを示しています。
Runnable インターフェイスの run() メソッドの戻り値は void であり、その動(dòng)作は純粋に run() メソッドのコードを?qū)g行することだけです。 Callable インターフェイス ) メソッドは戻り値を持ち、ジェネリック型であり、Future および FutureTask と組み合わせて非同期実行の結(jié)果を取得するために使用できます。
Java の面接の質(zhì)問をさらに詳しく知りたい場(chǎng)合は、
Java の高度な面接の質(zhì)問以上が2020 年の新しい Java 面接の質(zhì)問 - マルチスレッド (1)の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

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

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

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國(guó)語版
中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

settings.jsonファイルは、ユーザーレベルまたはワークスペースレベルのパスにあり、VSCODE設(shè)定のカスタマイズに使用されます。 1。ユーザーレベルのパス:WindowsはC:\ users \\ appdata \ roaming \ code \ user \ settings.json、macos is/users //settings.json、linux is /home/.config/code/user/settings.json; 2。Workspace-Level Path:.vscode/settings Project Root Directoryの設(shè)定

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>

依存関係の指示(di)isadesignpatternwhere objectsreceivedenciesiesedternally、setter、orfieldinoffiction.2.springframeworkusessaNnotationslike@component、@service、@autowiredwithjava Basedconfi

itertools.combinationsは、反復(fù)可能なオブジェクトから指定された數(shù)の要素を選択するすべての非反復(fù)的な組み合わせ(無関係な順序)を生成するために使用されます。その使用には、次のものが含まれます。1。繰り返しの順序を避けるために、( 'a'、 'b')、 'a'、 'c')など、リストから2つの要素の組み合わせを選択します。 2。「ABC」や「ABD」などの文字列の3文字の組み合わせを取り、サブシーケンス生成に適しています。 3。2つの數(shù)値の合計(jì)が1 5 = 6などのターゲット値に等しい組み合わせを見つけ、ダブルループロジックを簡(jiǎn)素化します。組み合わせと配置の違いは、順序が重要かどうかにあります。組み合わせはABとBAを同じと見なし、順列は異なると見なされます。

フィクスチャは、テスト用のプリセット環(huán)境またはデータを提供するために使用される関數(shù)です。 1. @pytest.fixtureデコレータを使用して、フィクスチャを定義します。 2。テスト関數(shù)にパラメーター形式にフィクスチャを注入します。 3。降伏前にセットアップを?qū)g行してから斷片を?qū)g行します。 4。関數(shù)、モジュールなどのスコープパラメーターを介して範(fàn)囲を制御します。 5.共有フィクスチャをconftest.pyに配置して、クロスファイル共有を達(dá)成し、それによってテストの保守性と再利用性を改善します。

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

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)先する必要があります。

chromecanopenlocalfileslikehtmlandpdfsbyusing "openfile" ordraggingthemintotheblowser;
