-
Javaでの静的バインディングと動的バインディングの違い
バインディングは、メソッド呼び出しとメソッドの実際の実装の間にリンクを作成するメカニズムです。 Javaのポリモーフィズムの概念に従って、オブジェクトは多くの異なる形式を持つことができます。オブジェクトフォームは、コンパイル時と実行時に解決できます。メソッド呼び出しとメソッド実装の間のリンクがコンパイル時に解決される場合は静的バインディングと呼ばれ、実行時に解決される場合は動的バインディングと呼ばれます。動的バインディングはオブジェクトを使用してバインディングを解決しますが、静的バインディングはクラスとフィールドのタイプを使用します。 Sr。いいえ。 キー 静的バインディング
-
Javaのオブジェクトレベルロックとクラスレベルロックの違い
マルチスレッド環境では、2つ以上のスレッドが共有リソースに同時にアクセスする可能性があり、システムの動作に一貫性がなくなる可能性があります。 Javaは、ロックの概念を使用して、共有リソースまたはオブジェクトの同時アクセスを制限します。ロックは2つのレベルで適用できます- オブジェクトレベルのロック-非静的メソッドが必要な場合、またはコードの非静的ブロックに1つのスレッドのみがアクセスする必要がある場合に使用できます。 クラスレベルのロック-実行時に使用可能なすべてのインスタンスで複数のスレッドが同期ブロックに入らないようにする場合に使用できます。静的データスレッドを安全にするために常に使用
-
AptでJavaをインストールする方法-Ubuntu16.04で入手
Javaプログラミング言語は元々SunMicrosystemsによって開発され、James Goslingによって開始され、1995年にSunMicrosystemsのJavaプラットフォーム(Java 1.0 [J2SE])のコアコンポーネントとしてリリースされました。 JavaStandardEditionの最新リリースはJavaSE8です。Javaの進歩とその普及に伴い、さまざまなタイプのプラットフォームに適合するように複数の構成が構築されました。例-エンタープライズアプリケーションの場合はJ2EE、モバイルアプリケーションの場合はJ2ME。 新しいJ2バージョンは、それぞれJava
-
RundeckをDebian8(Jessie)サーバーにインストールする方法
Rundeckを使用すると、リモートコンピューターでコマンド/スクリプトを実行できます。これは、任意の数のローカルノードまたはリモートノードで任意のコマンド、スクリプト、またはツールのセットを実行できる単一のステップまたはワークフローを定義することにより、ジョブを作成するために使用されます。ジョブは、スケジューラーによってトリガーすることも、WebインターフェースまたはAPIを介してオンデマンドでトリガーすることもできます。この記事では、「Debian8サーバーにRundeskをインストールする方法」について説明しています RundeckはJavaプログラミング言語で記述されているため、マシ
-
OpenIdとOAuthの違い
OAuthは、パスワードを提供せずにサードパーティの承認を提供するように設計されています。 httpベースです。 OAuthは、APIを介してサポートされているアサーションと交換できるアクセストークンを提供します。 OpenIdは認証用に設計されています。 openIdサードパーティでは、ユーザーが既に持っているアカウントを使用して、ユーザーを認証します。シングルサインオンIDを認証するために使用されます Sr。いいえ。 キー OAuth OpenId 1 基本 OAuthは、パスワードを提供せずにサードパーティの認証を提供するように設計されています O
-
ArrayBlockingQueueとLinkedBlockingQueueの違い
ブロッキングキューインターフェイスは、Java.util.concurrentパッケージの一部です。ブロッキングキューは、プロデューサーコンシューマーキュー用に特別に設計されており、収集もサポートしています。このインターフェースは、キューを介して実行できるすべてのタイプの操作をサポートするために、メソッドの4つの部分に分割されています。 nullキーは受け入れません。 ArrayBlockingQueueとLinkedBlockingQueueはどちらもブロッキングキューインターフェイスを実装しています ArrayBlockingQueueとLinkedBlockingQueueは、どちらも
-
ArrayBlockingQueueとArrayDequeの違い
ArrayBlockingQueueは、FIFO順に要素を格納します。要素の挿入は常にキューの末尾で行われ、要素の削除は常にキューの先頭から行われました。スレッドセーフであり、制限付き配列キューであるため、一度作成すると容量を変更できません。これは、ブロッキングキューの実装です。 Javaドキュメントによる- Dequeインターフェースのサイズ変更可能な配列の実装。配列両端キューには容量制限はありません。それらは使用法をサポートするために必要に応じて成長します。それらはスレッドセーフではありません。外部同期がない場合、複数のスレッドによる同時アクセスはサポートされません。ヌル要素は禁止され
-
Java 9で導入された主な機能と拡張機能は何ですか?
OracleはJをリリースしました ava 9 新しい機能の豊富なセットを備えたバージョン そして、多くの新しい拡張機能をもたらします 。 以下は、Java9で導入されたいくつかの重要な機能と拡張機能です。 収集のためのファクトリメソッド s :ファクトリメソッド は、コレクションの変更不可能なインスタンスを作成するために使用できる特殊な種類の静的メソッドです。つまり、これらのメソッドを使用してリストを作成できます。 、セット 、およびマップ 。 Javaプラットフォームモジュールシステム(JPMS): Javaモジュールは、JavaアプリケーションとJavaパッケージをJav
-
Java 9のインターフェースでのプライベートメソッドのルールは何ですか?
Java9にプライベートの新機能が追加されました 方法 インターフェースへ 。プライベートメソッドは、プライベートを使用して定義できます 修飾子。両方のプライベートを追加できます およびプライベート 静的 方法 Java 9のインターフェースで 以降。 インターフェースのプライベートメソッドのルール: プライベートメソッドはインターフェースに本体があります。つまり、インターフェースで通常行われるように、通常の抽象メソッドとして宣言することはできません。本文のないプライベートメソッドを宣言しようとすると、「このメソッドにはセミコロンではなく本文が必要です」というエラーがスローされる可能性
-
Java 9のコレクションに追加されたファクトリメソッドはどれですか?
ファクトリメソッド s 変更不可能なを作成するために使用できる特殊なタイプの静的メソッドです。 コレクションのインスタンス。これは、これらのメソッドを使用してリストを作成できることを意味します 、セット 、およびマップ 少数の要素の。 List.of() List.of() は、不変を作成するための便利な方法を提供する静的ファクトリメソッドです。 リスト 。 構文 List.of(elements...) 例 import java.util.List; public class ListTest { public static void main(Stri
-
Java 9のOptionalクラスに追加された新しいメソッドは何ですか?
オプションのクラス 非nullを含む場合と含まない場合があるコンテナを提供します 価値。 NullPointerException が発生するコード内の場所の数を減らすために、Java8で導入されたこのオプションのクラス 生成することができます。 Java 9は、オプションクラスに3つの新しいメソッドを追加しました: or() 、 ifPresentOrElse() およびstream() デフォルトに対処するのに役立ちます 値。 Optional.or() または() Java 9で導入されたメソッドであり、このメソッドのパラメーターは機能インターフェースサプライヤー 。この方法では、常
-
Java9のStreamAPIに追加された新機能は何ですか?
Java 9では、OracleCorporationがStreamに4つの便利な新しいメソッドを追加しました。 API 。これらのメソッドはiterate() 、 ofNullable() 、 takeWhile() およびdropWhile( 。 iterate() iterate() 従来のforループのストリームバージョンの置き換えとして使用できます 。このメソッドは、別のパラメーター述語を追加することで改善されました。 述語で定義された条件に基づいてこれらの無限の数を停止できるインターフェース インターフェース。 例 import java.util.stream.Strea
-
ダイヤモンド演算子は、Java 9の匿名内部クラスで使用できますか?
はい、 Java 9 以降、匿名の内部クラスでダイヤモンド演算子を使用できます。 。 ダイヤモンド演算子を使用する目的は、冗長を回避することです。 コード 一般的なを使用しないことで読みやすくします タイプ 式の右側にあります。 ダイヤモンドオペレーター 通常にのみ使用されます クラス ただし、匿名は対象外です 内側 クラス Java 7で。匿名の内部クラスに使用しようとすると、コンパイラがエラーをスローします 。 以下の例では、匿名の内部クラスを持つダイヤモンド演算子を使用しています。 例 import java.util.*; public class DiamondOperatorTes
-
Java 9でのtry-with-resourcesの改善点は何ですか?
リソースを試す Java 7で導入されました。これを使用する目的は、リソースを閉じることです。 使用後は自動的に。制限は、リソースがtryの前またはtryステートメント内で宣言される必要があることです。そうでない場合は、コンパイルがスローされます。 エラー 。 Java9はtry-with-resourcesを改善しました そして、tryステートメント内でオブジェクトを宣言する必要がなくなりました。 以下の例では、 try-with-resourcesを実装しています。 コンセプト。 例 import java.io.*; public class TryWithResourceTest {
-
Java 9でのアンダースコアキーワードの使用は何ですか?
以前のバージョンのJavaでは、アンダースコア ( _ )は識別子として使用されています または変数を作成します 名前 。 Java 9以降、アンダースコア 文字は予約キーワードです 識別子または変数名として使用することはできません。単一のアンダースコアを使用する場合 キャラクター 識別子として、プログラムはコンパイルに失敗し、コンパイル時エラーをスローします 今はキーワードだからです Java 9では変数名として使用できません 以降のバージョン。 例 public class UnderscoreKeywordTest { public static void
-
Java 9のプライベートメソッドの@SafeVarargsアノテーション?
@SafeVarargs アノテーションはJava7で導入されました。このアノテーションは最終の両方に適用されます および静的 方法 またはコンストラクター varargsパラメータを取ります。このアノテーションは、メソッドがvarargsパラメーターに対して安全でない操作を実行しないようにするために使用されます。 Java 9以降、 @SafeVarargs アノテーションはプライベートにも適用されます インスタンス 方法 。 構文 @SafeVarargs private void methodName(...) { // some statements }
-
Java9でのCompletableFutureAPIの改善点は何ですか?
CompleteableFuture APIは非同期に使用されます プログラミング Javaで。これは、ノンブロッキングを記述できることを意味します コード main()とは別のスレッドでタスクを実行する スレッド化してmain()に通知します その進行状況、完了、または失敗についてのスレッド。 Java 9では、 CompleteableFutureにいくつかの改善が導入されています。 API、 それらは、「タイムアウトと遅延のサポート」、「サブクラス化のサポートの改善」、「新しいファクトリメソッドの追加」です。 タイムアウトと遅延のサポート public Completable
-
Java 9の@Deprecatedアノテーションに追加された属性はどれですか?
@非推奨のアノテーションに2つの新しいパラメータまたは属性が追加されました Java9の場合。これらのパラメータは以降です。 およびforRemoval 、これら2つのパラメータはどちらもオプションであり、デフォルト値があります。 指定できない場合。 以降 この文字列 パラメータはバージョンを指定します APIが非推奨になりました。この要素のデフォルト値は空です 文字列 。 構文 @Deprecated(since="<version>") forRemoval このブール値 パラメータは、APIが将来のリリースで削除されることを意図しているかどうかを指
-
Java 9のJShell?
JShell Java9バージョンで導入された新しい概念です。 JavaにREPLを提供します (Read-Eval-Print-Loop)能力。 JShellを使用することで、Javaベースのロジックをテストできます。 および式 コンパイルせずに。 REPLは即時のフィードバックループとして機能し、その特定の言語の生産性に大きな影響を与えます。 ステップ1 :コマンドプロンプトを開き、 JShellと入力します 。 Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserve
-
Java 9のtakewhile()メソッドとdropWhile()メソッドの違いは?
t akewhile() ストリームの方法 APIは、述語まですべての値を受け入れます dropWhile()に対してfalseを返します ストリームの方法 APIは、述語と一致するまですべての値を削除します 。ストリームが注文された場合、 takewhile() メソッドは、最長のプレフィックスで構成されるストリームを返します 述語に一致するこのストリームから取得された要素の数 一方、 dropWhile() メソッドは、述語と一致した後、残りのストリームを返します。ストリームが順序付けされていない場合、 takewhile() メソッドは、指定された述語に一致するストリームから抽出され