2023/5/10(水)に開催されたTechFeed Experts Night#18での登壇資料です。 https://techfeed.io/events/techfeed-experts-night-18
6. 歴史 Javaの歴史 • Sun Microsystemsが1995年に1.0を発表 »Sunは2010年にOracleに買収される • 標準仕様を策定して実装する、というオープンなプロセス »Java SE 12は「仕様」、OpenJDK 12は「実装」 »この時点では各実装はオープンソースではない • Java Community Process(1998年設⽴)を通じて策定 »当初はSunを中⼼にベンダー各社が標準仕様を策定 »正式製品になるためにはSunによる認定が必要 ▸Technology Compatibility Kit(TCK) 5 Java Community Process https://www.jcp.org/ 7. 歴史 Apache Software Foundation • 1999年設⽴された⾮営利団体 »NASAが開発していたHTTPDのサポートを
Oracle JDKを含むOpenJDKディストリビューション(以下、JavaまたはJDK)にはJFRを筆頭にさまざまな分析ツール/仕組みがあります。 JDK7からJDK12にかけてトレンドが変わった部分もあるので、少しサマったメモを書きます。 メトリクス取得のための仕組み Javaにはパフォーマンスメトリクスを取得するための方法がいくつかあります。代表的なのは下記の3つでしょう。 JMX ログ JPLIS(javaagent) JMX Java Management Extensions(JMX)はJavaのリソース監視および管理のためのプロトコルです。簡単にいえばJava版のSNMPです。 JSR-174としてJava 1.5より取り込まれています。 Managed Bean(MBean)を利用してCPUやメモリの情報を取得したり、特定のイベント(例えば強制GC)とかを実行することも可
2. ⾃⼰紹介 • CTCテクノロジー所属: マルチベンダーのミドルウェア技術サポート - Oracle Fusion Middleware - Red Hat JBoss Middleware - その他 Java を⼀部利⽤するミドルウェア製品 • コミュニティ - Twitter: @yamadamn - 元: Oracle ACE (Middleware) - 現在: ⽇本GlassFishユーザー会 監事 - 本⽇: OpenJDK警察 OpenJDKソムリエ #kanjava #okajug #jjug #OpenJDKソムリエ 3. 免責事項 • Oracle と Java は、Oracle Corporation およびその⼦会社・関連会社 の⽶国およびその他の国における登録商標です。⽂中の社名・商品名 などは、各社の商標または登録商標である場合があります。 • 発表する内
最近 JVM のヒープ領域とパラメータ、そしてコンテナの関係について調べてました。 案外まとまった情報が少なかったので簡単にまとめました。 Java のヒープサイズを設定 まずは Java のヒープサイズについて簡単なおさらいです。 本番環境で Java アプリケーションを運用する上で、JVM のヒープサイズを決定するのは非常に大事なポイントです。 ヒープ領域の最大サイズを大きくすればガベージコレクション (GC) の回数は減らすことができますが、 必要以上に大きくしすぎると無駄にリソースを消費したり、OOM killer で OS にプロセスを終了させられます。 JVM が使用できるヒープサイズは、Java API の Runtime.getRuntime().maxMemory() で確認できます。 また java の起動オプションに -XX:+PrintFlagsFinal オプショ
追記:対象としているJavaエンジニアの範囲を大袈裟にしすぎたかなと感じましたので、その辺を修正しました。 なぜ書いたのか タイトルの件ですが、有識者の方々が様々な媒体や場所で発信をされているおかげで、以前に比べて少なくなったと感じてはいるものの、まだ時々誤解を持たれている「Javaが有償化する」と呟かれているエンジニアの方もたまに見かけます。 Oracle JDK 8およびOpenJDK 11、それぞれ最後の無償アップデートがリリースされ、これから有償または無償のLTSでアップデートを受け続けるか、OpenJDK 12に移行するのかといった選択を決めていく状況になる時にまだこのような誤解を持ったままでいいのかなと感じました。 そこで自分の経験を基に誤解をする側の立場になって、なぜ「Javaが有償化する」という誤解が生まれたのかを考察してみようと思いました。 尚、この内容は個人の見解で、間
残念ながらしばらく誤解が続きそうなので、私以外の有識者からの発信を中心にまとめます。まず、Javaの中心的な用語については https://qiita.com/nowokay/items/c1de127354cd1b0ddc5e を参照ください。 また、Sun時代から延長アップデートを含む商用サポートは有償です。https://www.atmarkit.co.jp/ad/sun/0810javaseforb/0810javaseforb.html 次のブログからリンクされている記事もどれかだけでもよいので読むことをオススメします。http://tadashi.hatenablog.com/entry/2019/01/17/091324 セッション資料「これからのJDK 何を選ぶ?どう選ぶ?」https://www.slideshare.net/TakahiroYamada3/how-to-
Docker 環境上で Java のアプリを起動するのは遅いと思っていらっしゃる方は必見!! どうぞ下記の内容をご参照いただき、どうぞお試しください!! 先日、Red Hat から Quarkus (https://quarkus.io) という新しい技術が発表されました。こちらを実際に試して見ましたが、想定通りというか、まさにこれを待っていた!!という技術でした。今後、私の中で注目の技術の一つになりそうです。もし、Docker/k8s 上で Java アプリを動かす方は、こちらの方法をご覧いただき、ぜひ試しください。 Quarkus を簡単にご説明すると、Java のソースコードを GraalVM を利用して Linux の Native バイナリを作成し、その Linux バイナリをコンテナ上で起動することにより、今まで Java アプリの課題であった起動時間を大幅に短縮することができ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Oracle JDK/JRE 8のPublic Updates1が商用ユーザーに対しては2019年1月までで終了し、2019年4月のリリースからライセンスが変更されたため、別のJDKディストリビューションへの切り替えを考えている方も多いと思います。 しかし、特にOracle JDK 8までは、素のOpenJDKにはない2機能が多く存在します。 安易に切り替えてトラブルにならないように、Oracle JDK 8にはあるが、一般的なOpenJDKディストリビューション3にはない機能を無償・有償別にまとめてみます。 Oracle J
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事内容は古いので、下記リンク先の方の記事をご参照ください。 <2021/1追記> OpenJDKと各種JDKディストリビューションの情報源まとめ #minjava(@yamadamnさんより) <以下、記事本文:2018年ごろまでのまとめの参考ということで、残しておきますね> [免責] 可能な限り正確な情報を掲載するよう努めていますが、誤情報が入り込んだり、情報が古くなったりすることもあります。必ずしも正確性や合法性、安全性を保証するものではございません。(さすがに情報が多くなってきたので、書いておこうと思います。) (速記1)
この記事は、Spring WebFluxの前提である、ブロッキングやノンブロッキンクとは何か、Servlet3.0の Async Servletや Servlet3.1の NonblockingI/Oとは何か、を理解することが目的です。 検証バージョン > java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) > ver Microsoft Windows [Version 10.0.17134.165] @Slf4j public class BlockingAndSingleEchoServer implements EchoS
JDKの新しいリリース・モデ および提供ライセンスについて オラクルは2017年9月、JDKの提供サイクルとライセンス方式に関して、新たなリリース・モデルを発表しました。 これらはJDK 9より一部が適用され、2018年9月に公開されたJDK 11で完全移行しました。新リリース・モデルはJDKの過去のリリース・モデルの課題を解決したものであり、ユーザーにより多くのメリットをもたらします。本記事では、新たな提供サイクルとライセンス方式の概要、およびオラクルによるJDKの有償サポートについて説明します。 本記事で説明する新リリース・モデルのポイント 初めに、本記事で説明するJDKの新リリース・モデルに対応したオラクルのバイナリ・リリースの主なポイントを列挙します。 ●年6回の定期リリース・サイクル 新機能が追加される6カ月に1回(毎年3月と9月)のフィーチャー・リリースに加え、脆弱性対策などを
JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String
社内勉強会で、JVMのGCについて調べて話した時の資料を最低限の修正を加えて公開してます。寺田さん監訳の『Javaパフォーマンス』をベースにいろいろ調べてまとめました。Read less
Javaのサポートについてのまとめ Javaのライセンスやサポート状況について混乱が発生しているように思います。Javaのサポートを各団体がどのように行なっているかをまとめてみます。 知っておいてほしいのは、Javaの実装やサポートはOracle JDKかOpenJDKの二択、ではなくAdoptOpenJDKやAzul Zulu、Corretteなど多くの選択肢があるということです。 ここでサポートはバグやセキュリティに対応したパッチがリリースされることを表しています。 Javaのリリースサイクル これまで、Javaは3年ごとを目標に結局5年くらいかけて次のバージョンを出したりしていましたが、それでJavaはなかなかバージョンアップしなくて古いと言われていました。それが2017年9月、今後は6ヶ月ごとにフィーチャーリリースを行うというリリースモデルに変更されました。Java9が2017年9
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く