タグ

ブックマーク / blog1.mammb.com (3)

  • Java 19でようやくプレビュー版公開された JEP 425 Virtual Threads の要約 - A Memorandum

    はじめに 概要 目標 非目標 動機 1リクエスト-1スレッド方式 非同期方式 仮想スレッドによる1リクエスト-1スレッド方式 説明 仮想スレッドとプラットフォームスレッドの使い分け 仮想スレッドの有効化 仮想スレッドにスレッドプールは不要 仮想スレッドの監視 仮想スレッドのスケジューリング 仮想スレッドの実行 メモリの使用とガベージコレクションとの相互作用 変更点の詳細 java.lang.Thread Thread-local variables java.util.concurrent Networking java.io Java Native Interface (JNI) Debugging (JVM TI, JDWP, and JDI) JDK Flight Recorder (JFR) Java Management Extensions (JMX) java.lang.Th

    Java 19でようやくプレビュー版公開された JEP 425 Virtual Threads の要約 - A Memorandum
    krrrr
    krrrr 2022/06/19
  • Java スレッドダンプとの戯れ方 - A Memorandum

    プロセスIDの取得 スレッドダンプの取得 Windowsでプロセスをサービス起動している場合 スレッドダンプを読む プロセスIDの取得 まずは Java のプロセスIDを取得するところから始める。jps で取得できる。 $ <JAVA_HOME>/bin/jps -l 主要なオプションは以下の通り(SunVM)。 オプション 説明 -m main メソッドに渡される引数を出力 -l アプリケーションの主要なクラスのフルパッケージ名、またはアプリケーションの JAR ファイルへのフルパス名を出力 -v JVM に渡される引数を出力 JDK7 からは JRockit と統合されたため jcmd が使えるので以下でもプロセスIDを取得できる。 $ <JAVA_HOME>/bin/jcmd または、単に ps コマンドで取得するでもよい。 $ ps -ef | grep -v 'grep' | g

    Java スレッドダンプとの戯れ方 - A Memorandum
    krrrr
    krrrr 2015/10/11
  • 型パラメータの変位指定 - A Memorandum

    型パラメータの変位 型パラメータには + や - の変位アノテーションを付けることで変位指定ができる。型パラメータの変位には以下の3つがある。 不変(nonvariant) : [A] 共変(covariant) : [+A] 反変(contravariant) : [-A] 不変 不変とした場合、funcの引数には型パラメータで指定したものと同じものしか受け付けない。 object Sample001 { class Nonvariant[A] def func(arg:Nonvariant[Number]) {println(arg)} def main(args: Array[String]) { func(new Nonvariant[Any]) // エラー func(new Nonvariant[Number]) // OK func(new Nonvariant[Intege

    型パラメータの変位指定 - A Memorandum
    krrrr
    krrrr 2014/03/10
    “反変の例”
  • 1