Chihiro ItoOpenJDK Commiter, Application Services Solution Architect at Red Hat, ex-Oracle Groundbreaker Advocate
オラクルのエグゼクティブ・バイス・プレジデント、クレイ・マグワイクがOracle CloudWorldで発表した新しいクラウド・インフラストラクチャ・プラットフォームにより、プロバイダーは、自社のサービスと並行して、あらゆるクラウドサービスを顧客に提供できるようになります。
Table of Contents 1. 環境 2. JVMのスタック領域について 3. Javaスレッドのスタックページ構成 4. HotSpotの実装 4.1. glibc guard page 4.2. HotSpot Guard Pages 4.3. Normal Stack 5. スタックサイズの制御 6. ulimit -sの影響範囲 7. -Xssと-XX:ThreadStackSizeの違い 8. 参考 1 環境 本記事の内容は以下環境を前提としています。 GNU/Linux x86_64 OpenJDK 64-Bit 1.7.0_xx 2 JVMのスタック領域について -Xss 、 -XX:ThreadStackSize パラメータ値と ulimit -s リソースリミット制限値を混 乱している記事を見受けたため、HotSpotの中身を調べることにしました。 結論を先に、
この章では、Java Development Kit (JDK)で使用可能な診断および他のモニタリング・ツールを紹介します。その後で、JDK 9の診断ツールおよび各種オペレーティング・システム固有のトラブルシューティング・ツールについて詳しく説明します。この章の最後では、JDKが提供するアプリケーション・プログラミング・インタフェース(API)を使用してカスタム診断ツールを開発する方法について説明します。 この項で説明するコマンド行ユーティリティのほとんどは、JDKに含まれているか、オペレーティング・システムのネイティブなツールやユーティリティです。 JDKコマンド行ユーティリティはJDKのダウンロードに含まれていますが、Java Runtime Environment (JRE)にデプロイされたアプリケーションの問題の診断やモニターのためにそれらを使用できるかどうかを検討するのは重要なこ
2017年9月に登場したJava 9以降、Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるメジャーアップデートが行われています。Java 13は、今年3月に登場したJava 12に続くメジャーアップデートです。 Java 13のおもな新機能は、Application Class-Data Sharing機能を拡張した「Dynamic CDS Archives(JEP 350)」、ZGCガベージコレクタを改善し使われていないヒープメモリを返却する「ZGC: Uncommit Unused Memory(JEP 351)」、Project Loomの一部として既存のSocket APIを再実装した「Reimplement the Legacy Socket API(JEP 353)」、Switch式を可能にする「Switch Expressions(JEP 354)」(プレビュー)、J
最近 JVM のヒープ領域とパラメータ、そしてコンテナの関係について調べてました。 案外まとまった情報が少なかったので簡単にまとめました。 Java のヒープサイズを設定 まずは Java のヒープサイズについて簡単なおさらいです。 本番環境で Java アプリケーションを運用する上で、JVM のヒープサイズを決定するのは非常に大事なポイントです。 ヒープ領域の最大サイズを大きくすればガベージコレクション (GC) の回数は減らすことができますが、 必要以上に大きくしすぎると無駄にリソースを消費したり、OOM killer で OS にプロセスを終了させられます。 JVM が使用できるヒープサイズは、Java API の Runtime.getRuntime().maxMemory() で確認できます。 また java の起動オプションに -XX:+PrintFlagsFinal オプショ
出展: プログラム内のコメントの書き方 | 天才まくまくノート はじめに(モチベーション) こんな話があります。あるソフトウェア企業が一人の技術者の採用を決めました。その決め手となった理由は、「公開しているオープンソースソフトウェアのドキュメントが素晴らしかったから」です。彼らは、作成されたドキュメントを見ただけで、その人には技術力がある、一緒に働いて欲しいと判断したのです。 ある国の言語を学ぶために読み書きの練習が必要であるのと同様に、コーディング技術をつけるには、多くの良質なコードを読み、多くのコードを書くことが必要です。設計ドキュメントを書くのも同じことです。日頃から分かりやすいドキュメントを書く鍛錬を怠らず、長年の経験を積んでいかなければ、良質なドキュメントを書く力は身に付きません。今日からドキュメンテーションコメントをバリバリ書いて、ドキュメンテーション力を付けていきましょう。
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。私は、Service EngineeringチームでSRE(Service Reliability Engineer)の業務を担当しているYongChan Kwonです。チーム名や業務名から分かると思いますが、一つの業務を担当するよりは、サービスのライフサイクルにおいてインフラ、開発、サービス技術の間で発生しうる死角を補う役割を担っています。 2018年、オラクルのライセンス体系が変更され、2019年1月以降は無料でOracle JDKを使用できなくなりました。そこで、LINE内部ではOpenJDKへの移行に向けて必要事項や検討項目を事前にまとめるため、TF(task force)を立ち上げました。また、その作業内
Docker 環境上で Java のアプリを起動するのは遅いと思っていらっしゃる方は必見!! どうぞ下記の内容をご参照いただき、どうぞお試しください!! 先日、Red Hat から Quarkus (https://quarkus.io) という新しい技術が発表されました。こちらを実際に試して見ましたが、想定通りというか、まさにこれを待っていた!!という技術でした。今後、私の中で注目の技術の一つになりそうです。もし、Docker/k8s 上で Java アプリを動かす方は、こちらの方法をご覧いただき、ぜひ試しください。 Quarkus を簡単にご説明すると、Java のソースコードを GraalVM を利用して Linux の Native バイナリを作成し、その Linux バイナリをコンテナ上で起動することにより、今まで Java アプリの課題であった起動時間を大幅に短縮することができ
自分が使うコマンドをうっかり忘れるときがあるのでその備忘録のために、開発の流れとそこで使ってる内容をメモ。 公式のガイドはこちらを参考にしてください。The OpenJDK Developers' Guide – Index OpenJDK の開発は以下のような流れで行います。 バグを上げる 開発の準備 OpenJDKのソースをダウンロード jtregをダウンロード webrevをダウンロード パッチを書く ビルド jtreg のビルド OpenJDKのビルド テスト 自分が書いたテストを実行 レグレッションテスト レビューの作成 webレビューのアップロード レビュー依頼 コミット・プッシュ ユーザ情報を追加 コミット チェンジセット作成とアップロード 連絡 コミッターになったら Submitリポジトリからソースを取得 Submitリポジトリの設定を変更 SSH クライアントに鍵を登録
2018 年 9 月、 Java 11 がリリースされました。Java 10 までは開発用の JDK と実行環境の JRE、 2 つのパッケージが提供されていたのですが、 Java 11 から JDK のみとなり Java 実行環境 (JRE) は単体配布されなくなりました。 オラクルが配布している Oracle JDK、 Oracle OpenJDK だけでなく、 ほかの OpenJDK ビルド Zulu OpenJDK でも JRE は配布されていません。 2019-04-26 訂正AdoptOpenJDK では JRE も配布していました。どうして、 JRE が配布されなくなってしまったのでしょうか? 新たなアプリケーション配布方法の提案オラクルが JDK の新しいリリース ・ モデルおよび提供ライセンスについて発表しています。 前半はリリース ・ サイクルの変更や商用利用の有償化な
先週、@t_wadaさんと@yosuke_furukawaさんと議論した再入可能性に関する私の経験について書きました | ロック(ミューテックス)の再入可能性 https://t.co/j3xeOUxaWt— Yoshiki Shibata/柴田芳樹 (@yoshiki_shibata) October 22, 2018 突然のロックの話 いきなりロックの話をしましたが、10月に(なぜか)一緒に働いてるメンバーとの中で大盛り上がりした話題です。もともとはリクルートテクノロジーズで行われている、柴田芳樹さんのプログラミングGo勉強会で話題になった話です。 yshibata.blog.so-net.ne.jp ここにも書いてあるのですが、 Golang では sync.Mutex を使ったロックでは再入可能ではありません。 一方 Java のロックは再入可能です。 で、この設計に関しては合理的
AWS Open Source Blog Introducing Amazon Corretto, a No-Cost Distribution of OpenJDK with Long-Term Support Update! Amazon Corretto became Generally Available on January 31st, 2019. Java is one of the most popular languages in use by AWS customers, and we are committed to supporting Java and keeping it free. Many of our customers have become concerned that they would have to pay for a long-term sup
Oracle JDKの配布とサポートが少し前に変更され、Oracle JDKやオラクルのOpenJDKビルド、他プロバイダのOpenJDKビルドを利用する際の権利に関して不透明なところが少なからずあります。無償アップデートや (新規と既存の) 有償サポートモデルがさまざまなベンダから提供される予定もあり、検討の余地があります。このドキュメントには要約バージョン と全詳細がある詳細バージョンのセクションがあります。 要約バージョン今もOracle JDKやオラクルのOpenJDKビルド、他プロバイダのOpenJDKビルドを無償で取得できます (このニュアンスについては以下のコラムや以降のセクションを読んでください)。これは複数のプロバイダがJava SE仕様の実装を提供するからこそ可能となっているのです。 Java SE / OpenJDK / オラクルのOpenJDKビルド / Oracl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く