タグ

javaとJDKに関するdecoy2004のブックマーク (20)

  • 3/13出版予定の共著『みんなのJava』でJDKディストリビューションについて書きました #minjava - yamadamn’s blog

    Twitterで既に告知しましたが、共著『みんなのJava』が3/13に発売予定となりました。 みんなのJava OpenJDKから始まる大変革期! 作者:きしだ なおき,吉田 真也,山田 貴裕,蓮沼 賢志,阪田 浩一,前多 賢太郎発売日: 2020/03/13メディア: 単行(ソフトカバー) 蓮沼さんによるJava EE/Jakarta EE, MicroProfile関連の記事はこちら 阪田さんによるGraalVM関連の記事はこちら 前多さんによる軽量フレームワーク関連の記事はこちら 著者6名のうち、いわゆるSIerに勤務しているのは私だけで、Javaが様々なところで使われており、改めて非常に大きな存在であると思います。 私は2章の「JDKディストリビューション徹底解説」を担当させていただきました。 今まではOracle JDK/JREのみを使っていた方も多いと思いますが、OpenJ

    3/13出版予定の共著『みんなのJava』でJDKディストリビューションについて書きました #minjava - yamadamn’s blog
  • SpringBootのdockerイメージを必要最小限に絞りたい(2019年9月版) - エムスリーテックブログ

    こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 先日の中村の記事で宣言してしまったので、 今回は「医師版Stack Overflow」(仮名) のSpringBootのdockerイメージを 必要最小限にまで小さくする際に試したことをまとめました。 なお、ちょっと検索すると先人の記事が色々出てきますが、 当時はまだなかったdockerイメージや、JDKの機能の違いにより、今ではちょっと古い部分もあります。 今回の記事も、半年もしないうちに古くなると思うので、2019年9月時点での方法だと思って読んでいただけると幸いです。 メットライフドームは埼玉県所沢市にあるドーム球場。文には特に関係ありません。 小さいdockerイメージのメリット イメージのサイズを小さくしたいと書きましたが、 そもそも、そのメリットをネットで調べてみてもあまり明確な答えは見つか

    SpringBootのdockerイメージを必要最小限に絞りたい(2019年9月版) - エムスリーテックブログ
    decoy2004
    decoy2004 2019/09/14
    “--print-module-deps や --ignore-missing-deps などの一部のオプションが Java11の jdeps には存在せず、上記で紹介したスクリプトがJava11では動かないからです。”
  • Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C

    Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ
  • WindowsでJavaな人に捧げる素敵なスクリプティングツール jrunscriptの使い方

    これは Java Advent Calendar 2015 の3日目です。昨日は@kawasima さんの「Webアプリ開発/テストのお供に『WAITT』」で、明日は @akihyro さんです。 もしもLLが使えたなら 業務にWindowsを使用していて、開発言語はもっぱらJava、LLを使えたらかっこいいと思うけど、Windowsだし。。。。Powershellとかよく知らないしでもっぱらサクラエディタ、、、そんな方はいらっしゃいませんか? 僕は、そんなあなたを応援します!なぜなら僕がそうだからです! 僕は大量のファイルを作ったり、複雑なファイル検索をしたいなどのデータ処理に、よくJDK付属のjrunscriptコマンドを使っています。例えばこの記事でも使っています。 jrunscriptとは jrunscriptはJDK6以上に付属しているコマンドで、JVM上でJavaScript

  • JDK9 新機能 (日本語&ショートバージョン) #jjug

    4. What features will come? 102: Process API Updates 110: HTTP 2 Client 143: Improve Contended Locking 158: Unified JVM Logging 165: Compiler Control 193: Variable Handles 197: Segmented Code Cache 199: Smart Java Compilation, Phase Two 201: Modular Source Code 211: Elide Deprecation Warnings on Import Statements 212: Resolve Lint and Doclint Warnings 213: Milling Project Coin 214: Remove GC Combi

    JDK9 新機能 (日本語&ショートバージョン) #jjug
  • Jenkinsコードリーディング - JDK自動インストールの謎を追え - Qiita

    TL;DR 自動インストールでインストールされるJDKのアーキテクチャは、各Nodeを登録するために起動するslave.jarのJREのアーキテクチャだよ Jenkinsのソースコードは構造のバランスがいい Jenkinsは週次リリースできるソフトウェアのアーキテクチャを学ぶ題材として最適 きっかけ Jenkinsの便利な機能に、JDKの自動インストールがある。プロジェクトに利用するJDKを設定すれば、実行するノードに自動でJDKをインストールしてくれる、という素晴らしい機能だ。WindowsLinuxだと32bit、64bitのJDKが配布されているので、どうやってインストールするJDKを判定してるんだろう、と思ってコードを読み始めた。 ゴール 自動インストールを実装しているクラスを見つけ、どのように実装されているか理解すること 実装クラスを見つける 実装を見つけるときは、ログを出力し

    Jenkinsコードリーディング - JDK自動インストールの謎を追え - Qiita
  • jdk8-threeten

    jdk8-threeten by Kenji Hasunuma, Working at GlassFish Community on Mar 20, 2014

    jdk8-threeten
    decoy2004
    decoy2004 2015/05/09
    Java date time API
  • Java SE 7のサポート終了に向けて - 水まんじゅう2

    Java SE 7のサポート終了します。と、Oracleさんは言ってますが、実はまだ終了しません。 終了するのはOracleJava SE 7の無償でのサポート期間です。 Java SE自体は、多数の会社が出荷しています。 Oracle JDK(無償版)、Oracle JDK(有償版)、Open JDK、IBM JDK、Hitachi JDK・・・・・・・ そのなかで、Oracle製のJDKのみ無償でのサポート期間が今月終了しますが、それ以外のJavaについてはまだまだサポートがされています。 Java SE 7どころかJava SE 6についてもサポートされています。 Oracleさんや、それに便乗した人たちが煽りまくっていて、Javaのユーザーの中には安定稼働している(セキュリティ上も問題がない)システムを無理してアップグレードしなければならないのではないかということを考えるユーザー

    Java SE 7のサポート終了に向けて - 水まんじゅう2
  • 渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと

    (セッション概要より) Adam Wiggins氏(元Heroku CTO)が2012年に提唱した””The Twelve-Factor App””。JavaのWebアプリケーションでこれを実践するにはどう設計すべきなのでしょうか。Maven、Logback、Java Service Wrapper、バイナリパッケージリポジトリ(NEXUS)、組み込みTomcat、そしてSpring Framework。 一見バラバラな技術要素を組み合わせてゆくと、12-factor Appが現れます。

    渋谷java−あなたのプロジェクトで気軽にjavaをバージョンアップするために必要なこと
    decoy2004
    decoy2004 2015/03/09
    アプリケーションに JDK; Tomcat を含めると交換しやすい。とはいえ、毎回含めるとサイズが大きいし、転送に時間かかる。 Maven みたいなバイナリリポジトリに貯めて再利用しないときついか?
  • @DelegateでJavaバージョンの差異が顕在化するケース - GeekFactory

    JDK 8でビルドしたクラスファイルをJDK 7で実行するとClassNotFoundExceptionが発生する事象でハマったのでメモ。結論からいうと、ソースコードでJava 8に固有のクラスを直接参照していなくても、@Delegateによって間接的に参照されるケースがあります。 前提 JDK 8でのコンパイル時にsource, targetのバージョンを指定しているものとします。 そうしないと、JDK 7でクラスファイルを読み込んだ時に以下のエラーが発生します。 Exception in thread "main" java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 52.0 Gradleでは以下の2行を書くだけでOKです。 sourceCompatibility = JavaVe

    @DelegateでJavaバージョンの差異が顕在化するケース - GeekFactory
  • JDK8からあるちょっと嬉しいGCログオプション - n-agetsumaの日記

    JDK8およびJDK8u20では、GCログに関連する2つの便利な機能が追加されている。いずれの機能も2014/8現在最新のJDK7 update 67 には含まれていないが、JDK7u80にてバックポートされる予定。 GCログにpidと日付を含める (JDK8より) JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/wildfly/gc_%p_%t.log" => 実際のファイル名例 : gc_pid31455_2014-08-31_14-20-16.log.0GCログのフォーマットに%pを入れるとpid形式のプロセスIDが付与される。また%tを付与すると"_2014-08-31_14-20-16"のようにGCログファイルを作成した日付時分秒が追加される。かつてGCログはJavaを再起動すると同じファイルが上書きされて消えてしまうため、出力先を-Xloggc:g

    JDK8からあるちょっと嬉しいGCログオプション - n-agetsumaの日記
    decoy2004
    decoy2004 2014/09/01
    『JDK8よりGCログフォーマットに%p(pid)や%t(時間)が含められる。 JDK8u20よりjcmd GC.rotate_logでGCログローテションできる。JDK7u80 にバックポート予定』
  • Java Platform SE 8 API仕様

    The documentation for JDK 24 includes developer guides, API documentation, and release notes.

  • GuavaとJava7 - Qiita

    はじめに ちょっと前になりますが、ADTが一部を除いてJava7に対応しましたね。 (try-with-resourcesはminSdkVersionの19のようですね。) ADTプラグインの説明の22.6.0の説明 こちらのブログがとても分かりやすく書かれています。(切り身こわい) さて、話は変わってGoogle製のJavaライブラリ、Guava。 Androidでも、Android以外でもJavaでの開発に使っている方も多いのではないでしょうか? 先日、Google+のGuava公式アカウントがGuava APIs obsoleted by JDK7というタイトルで投稿をしていました。 以下、Guava APIs obsoleted by JDK7より While Guava doesn't require JDK7, there are a bunch of Guava APIs t

    GuavaとJava7 - Qiita
    decoy2004
    decoy2004 2014/08/17
    『c.g.c.base.Charsetsとjava.nio.charset.StandardCharsets InputStreamReaderクラスなどの初期化に用いるCharset型の定数です。』
  • Java Logging API

    JDK1.4から導入されたロギングAPIを使って、クールな開発を行いましょう。ロギングAPIには、既にlog4jやJLogといった有名どころがあります。log4jは、元IBM Alphaworksで現Apacheプロジェクトの一つとして公開されています。また、log4j創始者がlog4jと決別し新たにlogback(+slf4j)を開発し公開しています。どちらも高機能で優れたロギングAPIなのですが、これから覚えるならば、まずはJDK標準APIであるJava Loggin APIがいいでしょう。Java Logging APIは機能面では他のロギングAPIより劣っている点もありますが、ロギングのようにプログラミングを助けるヘルパー機構は高機能でなくてもシンプルで簡単に使えるのが一番。標準APIならクラスパス設定不要です。なんたってプログラマーには他に覚えなければいけないことが山のようにある

    decoy2004
    decoy2004 2014/07/05
    『プロパティファイルの設定で、出力形式をカスタマイズすることができます。』
  • javac コマンドの-source, -target オプションのルール変更について

    javac コマンドの-source, -target オプションのルール変更について 2014年7月2日 at 12:55 午後 1件のコメント Java SE 5 以前の Java のソース・コードを Java SE 7, Java SE 8 の環境でご利用頂いている皆様に、今後の JDK における仕様変更(予定)のご案内をさしあげます。 ※ この情報は 2013 年 4 月 14 日に開発者 (Joseph D. Darcy) からアナウンスされた情報です(ご参照:Changing Sources and Moving Targets: Evolving the javac command line )。また、JEP(JDK Enhancement Proposal) 182 としてリストされている内容です。 今まで、javac のコンパイラ・オプションで “-source”, “-

    javac コマンドの-source, -target オプションのルール変更について
    decoy2004
    decoy2004 2014/07/02
    『● Java SE 9 リリース時に指定可能な値: 9/1.9, 8/1.8, 7/1.7, 6/1.6 ● Java SE 10 リリース時に指定可能な値: 10/1.10 9/1.9, 8/1.8, 7/1.7』
  • Javaでトランザクショナルメモリを使う

    Javaをお使いの方向けに最近のバズワード的になりつつあるFPGA(専用ハードウェア)の話を厚めにしつつ,後半はJavaCompiler.javaの話を少しまとめてみました. > アーキテクチャ専門家,HW専門家の方へ Javaユーザ向けに,ちょっと吹いた内容になっています.口頭発表時には,かなりエクスキューズしますので,おこらないでください...

    Javaでトランザクショナルメモリを使う
    decoy2004
    decoy2004 2014/06/14
    『-XX:UseRTMLock JDK8/9』
  • JavaのJDK/JRE/Server JREの使い分け - ろば電子が詰まつてゐる

    先日、OracleのWebページからJDKとJREをダウンロードしようとしたら、「Server JRE」というのが用意されていることに気がついた。 このServer JREとは、いったい何じゃらほい? というのが今回のテーマ。なお基的にLinuxサーバ環境で考えます(Windows, Solarisは無視)。 JDKとJRE はじめに、複雑怪奇なJavaパッケージについて少し解説しておく。「Javaをインストール」という場合には、開発キットであるJDKとランタイムであるJRE、どちらをインストールするかが問題になる。しかしこの日記を読んでいるような人ならばJava開発者であろうから、JDKを入れてしまえばほぼ間違いなく問題は解決する。 なぜなら、JDKはJREを内包しているので、JDKをインストールすれば自動的にJREも入るからである。というわけで開発者なら、何も考えずにJDKを入れてし

    JavaのJDK/JRE/Server JREの使い分け - ろば電子が詰まつてゐる
    decoy2004
    decoy2004 2014/04/14
    『Webブラウザ向けプラグイン絡みのライブラリが削除されている。jpsコマンドやjstatコマンドが入っている。RPMパッケージが提供されない32bit版が提供されない同梱ライブラリが不明瞭』
  • トラブルに備えるJVMオプション - n-agetsumaの日記

    以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -

    トラブルに備えるJVMオプション - n-agetsumaの日記
  • Linuxでjdkをwgetする方法 - Qiita

    JDKのダウンロードは、普段ここから行いますが、ダウンロードにはOracleのLicenceの同意にチェックする必要があります。 同意はしているのですが、ansibleやchefなどで同意チェックを画面からせずに直接wgetしたい時の方法です。 仕組みは単純でAcceptしたというCookieがリクエストに含まれていれば同意したとみなされ、URL直指定でもダウンロードできます。 以下のコマンドはそのCookieを含むリクエストを送りますので、利用する場合はOracleのLicenseに同意した上で利用して下さい。 下記にないURLは、サイト上で"Accept"した後、ダウンロードしたいファイルを右クリックして確認できます。 コピペして実行出来るものを置いておきます。 (※ダウンロードは自己責任でお願いします) (※2015/11/2変更:最新バージョンに変更) ※注意: 古いバージョンはア

    Linuxでjdkをwgetする方法 - Qiita
  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち
    decoy2004
    decoy2004 2008/11/15
     「jrunscript」は、「jrunscript -e "print('hello world')"」という使い方で、JavaScriptのプログラムを直接実行したり、インタラクティブモードで逐一プログラムを実行できる環境です。
  • 1