この記事内容は古いので、下記リンク先の方の記事をご参照ください。 <2021/1追記> OpenJDKと各種JDKディストリビューションの情報源まとめ #minjava(@yamadamnさんより) <以下、記事本文:2018年ごろまでのまとめの参考ということで、残しておきますね> [免責] 可能な限り正確な情報を掲載するよう努めていますが、誤情報が入り込んだり、情報が古くなったりすることもあります。必ずしも正確性や合法性、安全性を保証するものではございません。(さすがに情報が多くなってきたので、書いておこうと思います。) (速記1) ちょっと特殊なものとしてSpring Frameworkを提供しているPivotalもAdoptOpenJDKベースのJDKの提供を無償/有償サポートで提供をしていましたので、そちらの情報についても追記をしました(こちらは、まとめて有償サポートの項目の最後に
概要 2018年9月にリリース予定のOpenJDK 11に備えて、OpenJDKについてキャッチアップした結果のメモです。 OpenJDKについて 参考 OpenJDK ライフサイクルおよびサポートポリシー OpenJDK 参加入門 [JJUG CCC 2017 Fall E2] JDK: 新しいリリースモデル解説(ver.2.0) ライセンス GNU General Public License, version 2, with the Classpath Exception GPLリンク例外を持つGNU General Public License (GNU GPL 2および2+) OpenJDK FAQ Licensing What open-source license is OpenJDK published under? GPL v2 for almost all of the
スレッドについて 前頁までOSのスレッドの概念やJVMの概要をご理解頂けたかと思います。 スレッドとは、OSのJavaコマンドなどのプロセスをCPUのコアに要求する最小の処理要求です。 Javaのスレッドは、OSのマルチスレッド(複数のスレッドによる並列処理)を実現するために、 JDK1.0からRunnableインターフェイス、ThreadクラスがJavaAPIが用意されています。 Java5からjava.util.concurrentパッケージとして、並列処理を管理及び実装し易いAPIがリリースされました。 まずは、Runnableインターフェイス、Threadクラスを学び、最終的にはconcurrentパッケージを利用した並列処理を学習します。 スレッドのライフサイクル スレッドの状態遷移について説明します。 Threadクラスの状態遷移は、java5よりThread.State列挙型
2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基本的にJava 8以降での開発を想定しています。 OpenJDK/OracleJDK上での開発を想定しています。 Android開発の場合は一部適用できない可能性あり。 英語のIDE、ツール等は積極的に使用します。 英語嫌いだとモダン化は難しい。 Java開発全般を前提としているた
本書はOpenJDK7のG1GCの実装と、それに関連する技術を解説します。 目次 スポンサーのみなさま はじめに 1.準備 2.オブジェクト管理機能 3.アロケータ 4.ヒープ構造 5.オブジェクト構造 6.HotspotVMのスレッド管理 7.スレッドの排他制御 8.GCスレッド(並列編) 9.GCスレッド(並行編) 10.並行マーキング 11.退避 12.予測とスケジューリング 13.正確なGCへの道 14.ライトバリアのコスト さらに勉強したい人へ その他参考文献 以下から(ある時点で)最新のebookをダウンロードできます。 徹底解剖「G1GC」実装編-20120915.epub 徹底解剖「G1GC」実装編-20120914.mobi 徹底解剖「G1GC」実装編-20120914.pdf 謝辞 本書はスポンサーのみなさまの金銭的支援によって執筆されました。 スポンサーのみなさま あ
内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJava エンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊するくらいHello Worldは書きましょう。 最初のうちはstatic void mainの意味も分からなくて大丈夫です。徐々に理解できるはずです。 2.基本を学ぶ 以下のサイトや書籍を使用してプログラミングの基礎を知りましょう。 文法の書き方やメソッドの使い方、アク
After three years, I have decided to update my GC cheat sheet. New version finally includes G1 options, thankfully there are not very many of them. There are also few useful options introduced to CMS including parallel inital mark and initiating concurrent cycles by timer. Finally, I made separate cheat sheet versions for Java 7 and Java 8. Below are links to PDF versions Hotspot JVM GC options ch
2010年06月02日11:28 カテゴリperformancetool blktraceによるI/Oトレース こんにちは. adingoで検索周りの仕事をしているHと申します. 検索エンジンやデータベースなどのディスクI/Oが多いアプリケーションでは, いかにI/Oを抑えるかがパフォーマンスの決め手になります. 今回はアプリケーションが出したI/Oリクエスト一つ一つがどのようにデバイスドライバに渡るかをトレースするblktraceというツールを簡単に紹介します. blktraceはlinux kernel 2.6におけるツールとなっており, 2.6.17-rc1以降ではカーネルにパッチを当てることなく利用可能です. (ツール自体はインストールする必要があります.) 何がトレースされる?linuxカーネルではI/Oリクエストは多数のレイヤーを通じて実際にデバイスに要求が出されます. ざっく
JVMにチューニング項目は多々あれど、プロダクションで運用する際に予めおさえておきたい項目をまとめてみるエントリです。*1 勿論、OSもJVMもデフォルトである程度のパフォーマンスは発揮でき、計測を伴わないチューニングは悪手であることはよく知られています。 しかし、設定しておかないとパフォーマンスにそのまま影響すると分かるものを調べないのは裸で戦場に赴くようなものです。*2 どんな項目をどう変更すれば良いのか知っていることは重要な武器なのです。 なぜ調べるのか 今回、チューニングポイントを調べるにあたって、私のモチベーションはどこにあるのかを考えると、以下の要件を満たしたいということがあげられます。 アプリケーションとして求められる品質水準として動作する → 性能目標 異常時に事象を追うことができる ここでいう品質水準・異常とは、パフォーマンスが明らかに低い、アプリケーションがクラッシュす
Learn to create RESTful Java microservices using Spring Boot and deploy them to the Cloud. In this new Java microservices massive open online course (MOOC), you will create your own microservices using Spring Boot. With Spring Boot, you will be able to develop a stand-alone, production grade application, in easy to deploy JAR or WAR formats. Microservices are a compilation of independently deploya
GCの種類と方式について [2013-08-23] GCとメモリ情報の出力 [2013-07-10] HotSpot関連 [2013-01-31] チューニング(性能改善)関連 [2016-07-14] new GC overhead limit exceeded [2013-01-31] -XXオプションについて、有効は「+」、無効は「-」と指定する。 自分がどのVMで起動しているか確認する場合は「java -version」コマンド。 Java VMのデフォルト値はJava HotSpot VM Optionsを参考に。 また、JVM は「クライアントVM」か「サーバVM」かを実行時に指定できる。 上記は指定しなかった場合、OSによってデフォルト値が異なるので、デフォルト値がどうなっているかは以下を参照する。 ・サーバークラスマシンの検出 GCの種類と方式について JVMでは、「Sca
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く