AWS Dev Day 2022 で発表したJava アプリケーションの起動速度のアプローチの資料
JVM (Java 仮想マシン) には DNS の名前解決の結果をキャッシュする挙動が備わっている。キャッシュするだけならいいのだけれど、このキャッシュでは DNS の TTL を無視してキャッシュするため、名前解決の結果が変わっても JVM からの接続先が切り替わるまでに(TTL から想定される時間以上に)時間がかかる、あるいは全く切り替わらないということがある。この挙動やその制御について調べたので、その話をする。 (以下の話題では Oracle JDK および OpenJDK を対象にして論じるので、それ以外の JVM 実装でどうなってるかは調べていない。適用できる箇所もあればそうでない箇所もありそう) 背景・解説 これらのデフォルト値は名前解決成功時は セキュリティーマネージャーがインストールされている場合のデフォルト値は -1 (ずっと) で、セキュリティーマネージャーがインストー
1. 2016年9月6日 石崎 一明 http://ibm.biz/ishizaki kiszk@acm.org 日本アイ・ビー・エム(株) 東京基礎研究所 (資料作成協力:井上拓、大平怜、小笠原武史、菅沼俊夫、仲池卓也) PPLサマースクール2016「商用Java処理系の研究開発」 Java Just-In-Timeコンパイラの実装技術 1 Java Just-In-Timeコンパイラの実装技術 / 石崎 一明 JavaTMおよびすべてのJava関連の 商標およびロゴはOracleやその関連 会社の米国およびその他の国にお ける商標または登録商標です 2. © 2016 IBM Corporation 商用Java処理系の研究開発 2 Java Just-In-Timeコンパイラの実装技術 / 石崎 一明2016/09/06 概要:日本アイ・ビー・エム(株)東京基礎研究所はJava言語の
All slide content and descriptions are owned by their creators.
テクブの夏コミ(C90)のアンドロイドアカデミアに書いた解剖 Kotlin ~バイトコードを読み解く~をGitBookにて公開しました。 GitBook こちらから読めます 解剖 Kotlin ~バイトコードを読み解く~ 概要 解剖 Kotlin ~バイトコードを読み解く~はKotlinで書いたプログラムを逆アセンブルすることで、Kotlinが提供している特徴的な機能がJavaでどのように表現されているかを読み解いていきます。Kotlinの特徴的な機能たちもJavaになってしまえばこっちのもの。なーんだKotlinもJavaなんだね。 目次 Introduction KotlinとJava 本書のアプローチ 1. null許容型の正体 2. 関数型とラムダ式の正体 3. インライン関数の正体 4. 拡張関数の正体 5. プロパティの正体 6. デリゲートプロパティの正体 7. 末尾再帰最適
With a plethora of new languages coming and going, people frequently try to do the cross-language performance comparisons. In most cases, that’s a strange thing to do, because even the minute differences in implementations can drive the benchmark scores off the cliff. It’s difficult even to compare a single small change in the otherwise stable environment. Trying to do the same when language compi
こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、
In developing a new feature for dataTXT, we came across a performance issue due to a long regex that we should apply to input text. We couldn’t deliver this new feature, because the performance penalty we pay is too large with respect to the pros of the feature. You know, if you measure latency of a single query, it’s hard to spot the issue, but when you deliver a SaaS, any delay could significant
Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く