タグ

JavaVMに関するclavierのブックマーク (4)

  • C/C++からJavaのライブラリを呼ぶ with JNI - #define NO_MONEY 0

    JavaのライブラリをC/C++から呼ぶ方法のメモ. フルのソースコートはこちら 参考にしたページ: シンプルな C言語からJava言語を呼び出すJNIサンプル ここでは以下のようなJavaのクラスをC++から利用することを想定する. package my.hoge; public class Hoge { public Hoge() { } public void printHoge(){ System.out.println("Hoge!"); } public String getHoge(){ return new String("Hoge"); } public int add(int i, int j) { return i + j; } public String getMsg(String msg){ return new String("Hoget is " + msg)

    C/C++からJavaのライブラリを呼ぶ with JNI - #define NO_MONEY 0
  • 知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう

    避けるべき状況ですが、残念なことにこのようなことは珍しくありません。解析に必要な情報を漏らさず取得するためには、サービス開始前に入念な準備が必要ですが、現実にはそこまで時間をかけられない場合もあり、往々にして準備不足となる場合があるからです。 こういった不幸な状況を防ぐ手段の1つとして、稿では「HeapStats」というツールを利用した障害解析方法を紹介します。 HeapStatsとは 「HeapStats」は、NTT OSSセンタが開発を行い2013年にOSS(オープンソースソフトウェア)として公開したJavaVM障害解析支援ツールです。 Javaアプリケーションにおけるメモリ不足(OutOfMemoryError)やデッドロックといった障害を素早く解決することを目的として開発されました。特に、Javaヒープメモリ内の状態など、従来は高い負荷をかけて取得する必要があった情報を、低オーバ

    知らないなんてもったいない! 障害発生の原因を洗い出すOSSのJavaVM解析支援ツール「HeapStats」を使ってみよう
  • Elasticsearchのインデキシングに関するパフォーマンス検討

    Elasticsearchのインデキシングに関するパフォーマンス検討 原文:performance considerations for elasticsearch indexing Elasticsearchユーザは様々な楽しいユースケースを持っています。小さなログを追加することから、Webスケールの大きなドキュメントの集合をインデキシングするようなことまでです。また、インデキシングのスループットを最大化することが重要で一般的な目標となります。 「典型的な」アプリケーションに対して良いデフォルト値を設定するようにしていますが、次のちょっとした簡単なベストプラクティスによってインデキシングのパフォーマンスをすぐに改善することができます。それらについて記述します。 第一に、制御できないならば、巨大なJavaヒープを使用しない:必要なサイズ(マシンの持つRAMの半分以下)のheapだけを設定し

    Elasticsearchのインデキシングに関するパフォーマンス検討
  • Javaでトランザクショナルメモリを使う

    2. 目次  JavaVM におけるロックの進化  トランザクショナルメモリ( TM )とは  Haswell でのトランザクショナルメモリ  Java でトランザクショナルメモリを使う  JDK8/9 の動向  まとめ 2 Copyright 2014 FUJITSU LIMITED 3. 3 Copyright 2014 FUJITSU LIMITED JavaVM ロック機構の進化 第一世代 ヘビーロック 第二世代 シンロック 第三世代 バイアスロック 第四世代 ??? JDK1.0-1.2 JDK1.3.1 HotSpot VM JDK5.0 HotSpot VM 4. 競合と共有(定義)  ロック競合とは 複数のスレッドが同時 に同じロックを取る  ロック共有とは 複数のスレッドが同じ ロックを使用する 4 Copyright 2014 FUJITSU LIM

    Javaでトランザクショナルメモリを使う
  • 1