Java 9のパブリッシャーインターフェイスのルールは何ですか?
public interface Publisher<T> { public void subscribe(Subscriber<? super T> s); }
パブリッシャーインターフェースのルール:
- onNext()の総数 パブリッシャーによって通知されたメソッド サブスクライバーへ サブスクライバーのサブスクリプションによって要求された要素の総数以下である必要があります 常に。
- 発行者 onNext()の信号が少なくなる可能性があります 要求されたメソッドよりも多く、サブスクリプションを終了します onComplete()を呼び出す またはonError() メソッド。
- onSubscribe() 、 onNext() 、 onError() 、および onComplete() サブスクライバーに通知されたメソッド シリアルに通知する必要があります。
- パブリッシャーが失敗した場合は、 onError()を通知する必要があります メソッド。
- パブリッシャーが正常に終了した場合は、 onComplete()に通知する必要があります メソッド。
- パブリッシャーがonError()のいずれかを通知した場合 またはonComplete() サブスクライバーのメソッド 、その後、サブスクライバーのサブスクリプションをキャンセルする必要があります。
- 端末の状態が通知されたら( onError() 、 onComplete() )、それ以上の信号が発生しないようにする必要があります。
- サブスクリプションがキャンセルされた場合、そのサブスクライバーは通知を停止する必要があります。
- Publisher.subscribe() メソッドはonSubscribe()を呼び出す必要があります そのサブスクライバーへの他のシグナルの前に提供されたサブスクライバーのメソッド 提供されたサブスクライバーがnullの場合を除いて、通常どおりに戻ります。この場合、 NullPointerExceptionをスローする必要があります 発信者に。
- Publisher.subscribe() メソッドは、毎回異なるサブスクライバーで必要な回数だけ呼び出すことができます。
- 発行者 複数のサブスクライバーをサポートし、各サブスクリプションをユニキャストにすることができるかどうかを決定する場合があります またはマルチキャスト 。
-
Java 9での@Deprecatedアノテーションの改善点は何ですか?
@Deprecatedで注釈を付けることができる要素 この特定の要素が以下の理由で使用されなくなったことを意味します 使用するのは危険であり、エラーが発生する可能性があります。 将来のバージョンでは互換性がなくなる可能性があります。 将来のバージョンで削除される可能性があります。 より優れた、より効率的なソリューションがそれに取って代わりました。 Java 9には、次の2つの新しい要素が追加されています。以降 およびforRemoval 属性。 1)以降: この要素は、注釈付きAPI要素の非推奨バージョンを指定します。 2)forRemoval: 注釈付きのAPI要素を表す
-
JavaでのFocusListenerインターフェースの重要性は何ですか?
FocusListener フォーカスイベントは、コンポーネントがキーボードフォーカスを獲得または喪失するたびに生成されます。 。 フォーカスイベントを表すオブジェクトは、 FocusEventから作成されます クラス。 FocusEventに対応するリスナーインターフェイス クラスはFocusListener インターフェース。 FocusEventの各リスナー FocusListenerを実装できます インターフェイス。 FocusListener インターフェイスには2つのメソッドが含まれていますfocusGained(): リッスンされたコンポーネントがフォーカスを取