Java SE SubScription、他の追記を行ったver.2.0です。 7/17 JJUGナイトセミナー、7/18 Java Doセミナーで使用したスライドです。
日付があしただけど気にするな。 (今は11/23) JDK6にHTTPサーバークラスが用意されてるということで、これを使って静的ファイル専用の簡単なWebサーバー作ってみました。 package webserver; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpServer; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWrit
オラクル、Javaの新機能アップデートを6カ月ごとに行うタイムベースへ提案。さらにJDK 9でOpenJDKビルドをGPLで提供し、アプリなどと一緒に配布することを容易に Java 9の正式リリースが2週間後に迫っているなかで、オラクルが今後のJavaに関する新たな提案を行っています。 提案のポイントは2つ。1つは、Java SEのリリースサイクルをタイムベースに変更し、6カ月ごとにアップデートする提案。もう1つはOpenJDKのビルドをGPLv2 with the Classpath Exceptionのライセンスで提供することで、フレームワークやアプリケーションと一緒に容易に配布できるようにする、というものです。 オフィシャルな発表は、OracleのJava Platfrom Groupのブログに投稿された記事で公開されました。 Faster and Easier Use and Re
JavaOne2017を前にして、待望のJava9が遂にリリースしましたね! さて、Java9といえばやはり気になるのはjigsawによるモジュール機能です。モジュールの使い方までは良く見ますが、jlinkが個人的には気になってたので試した結果をまとめました。 はじめに Jigsawに関してですが少なくとも現時点では、fat-jarやgo言語のようなシングルバイナリを代替するようなことは単独ではできません。 ただ、モジュールとjlinkを使うことでアプリケーションを含んだ配布用のJVMを生成することが可能で、今回はそれについての説明になります。 モジュールで公開範囲の改善や依存の早期発見ができるようになったことは特に触れないので、その辺はこの記事とかを参考にされると良いと思います。 コードの準備 まずは、コードの準備です。 下記のような感じでアプリからライブラリが三階層で呼ばれてるようなサ
日本ファルコム株式会社は1月11日、ライブイベント「Falcom jdk BAND LIVE 2024」の東京公演を開催中止すると発表した。同イベントは1月13日に東京「吉祥寺 CLUB SEATA」で開催予定であった。今回、同会場に向けて爆破予告メールがあったため急遽開催中止となったことが伝えられている。 日本ファルコムによる発表によれば、1月6日に吉祥寺 CLUB SEATA側から爆破予告メールが問い合わせに届いているとの連絡を受けたという。メールは「特定の期間内に吉祥寺 CLUB SEATA にて会場を爆破し、来場者およびスタッフに危害を加える」との内容であったとされる。そしてこの特定の期間に「Falcom jdk BAND LIVE 2024」の開催日である1月13日が含まれていたそうだ。 爆破予告メールについて吉祥寺 CLUB SEATA側は即座に警察署に被害届を出し、相談をおこ
Javaをモジュール化する「Project Jigsaw」、ついに開発中のJDK 9メインラインに統合へ Javaをモジュール化することで、モノリシックな構造で巨大化してきたJavaを必要な部分だけにスリムダウンして使えるようにする機能「Project Jigsaw」。この機能は、2011年にリリースされたJava 7に組み込まれる予定でしたが、開発の遅れで入らず、2014年にリリースされたJava 8からもこぼれて、2017年に登場予定のJava 9で組み込まれる予定です。 そして現在開発中のJDK 9のメインラインに、とうとうProject Jigsawを統合することを提案するアナウンスがJDK 9のメーリングリストで3月11日に行われました。 InfoQが記事「Jigsaw Finally Arrives in JDK 9」で報じています。 米オラクルのALan Bateman氏は、
米オラクルは2016年1月27日(米国時間)、Javaプラットフォームグループのブログで、JDK 9からJavaブラウザプラグインを非推奨にすると発表した。今後のJava SEのリリースではOracle JDK、JREには含まれなくなる。 この発表の背景として、オラクルでは主要ブラウザベンダーがプラグインの標準サポートを廃止ないしは廃止すると表明したことを挙げている。Javaに限らず、FlashやSilverlightなども同様に標準ではサポートされないオプションとなる予定だ。 こうしたことから、オラクルでは「プラグインフリー」な実装を推奨していくとし、Javaプラグインを前提とした既存アプリケーションについては、2001年から提供し続けている「Java Web Start」テクノロジーに移行し、Webブラウザに依存しない実装にすることを推奨している。 既存のJavaアプレットをJava
Oracle Blogsの主としてテクノロジー製品のエントリを日本語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d
背景 2017年の9月にOracleがJDKの新たなリリース・モデルを発表して以降、Javaユーザーを中心として、新たな短いリリースサイクルに追従できるのか、現在のOracle JDKに代わって配布されるOpenJDKにはLTS(長期サポート)が用意されるのかといったことを含めて不安に思っている方が多いようです。OpenJDKのバイナリをリリースしてサポートを提供しているのはOracle一社ではないですし、Java 11 LTSが提供される予定のAdoptOpenJDKに最悪逃げればいいかなと個人的には思っています(AdoptOpenJDKのサポートについて完全に理解しているわけではないので、これはあくまで印象です)。ただ、OpenJDK LTSが提供されればそれに越したことはないので、OpenJDK LTSが提供されることを願いたいです。 ただ、それは別にして、JVM言語が新しいJDKの
JDKには、Java標準ライブラリのソースファイル一式(src.zip)が付属しています。しかし、これは標準ライブラリのソースコードの一部に過ぎず、「sun.misc.Launcher」をはじめとする、一部のパッケージのソースファイルは含まれていません。 今回は、それによって表示されるエラーや対策、について解説します。JDK7が対象なので、JDK6未満の場合は適用できません。 目次 1. 「src.zip」のよくある利用法2. JDK付属の「src.zip」だけでは見れないソースコードがある!2.1. Class File Editor2.2. 「sun.*」など一部のソースコードが非公開だったから2.3. OpenJDK→JDK7へ2.4. OpenJDKのライセンス的にソースコードは無理?3. jdk7src「src.zipに足りないものをOpenJDKから持ってきました」4. jdk
はい、どーも。モバイルアプリサービス部の吉田です。 今回は、Oracle JDK8のサポート状況について、少し調べる必要があったのでこれについて調べてみました。 Oracle JDK8にはいつまでパッチが提供されるの? おそらく皆さんが使ってるJDK8は、Oracle JDK8が多いものと思います。 Oracle JDKに対する、バグ・セキュリティに関するパッチは、Oracleから無償で提供されています。 これが 2019年1月 までです。 ソースとしては こちらのページに オラクルは Java SE 8 の公式アップデートの提供と自動更新(auto update)を、個人ユーザーには2020年12月まで、商用ユーザーには2019年1月まで、引き続き提供します。 とあります。ですので、2019年1月末以降、Oracle JDK8に対するバグ・セキュリティパッチは提供されなくなります。 有償
Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.
JDK9でいくつかImcompatibleな問題に直面したので、ここにGitHubのIssueから、各プロダクトで挙がっているJDK9の不具合ポイントをまとめていきます。 java.specification.versionの体系変更 JDK9からは、JEP 223にともない、バージョン番号の表記が変わりました。そして、システムプロパティjava.specification.versionの返す値も従来の「1.8」みたいな値から「9-ea」が返ってくるようになっています。 このため、HibernateValidatorでは、以下の箇所でArrayIndexOutOfRangeExceptionが出てしまっていました。 String[] specificationVersion = System.getProperty( "java.specification.version" ).spli
TL;DR 自動インストールでインストールされるJDKのアーキテクチャは、各Nodeを登録するために起動するslave.jarのJREのアーキテクチャだよ Jenkinsのソースコードは構造のバランスがいい Jenkinsは週次リリースできるソフトウェアのアーキテクチャを学ぶ題材として最適 きっかけ Jenkinsの便利な機能に、JDKの自動インストールがある。プロジェクトに利用するJDKを設定すれば、実行するノードに自動でJDKをインストールしてくれる、という素晴らしい機能だ。WindowsやLinuxだと32bit、64bitのJDKが配布されているので、どうやってインストールするJDKを判定してるんだろう、と思ってコードを読み始めた。 ゴール 自動インストールを実装しているクラスを見つけ、どのように実装されているか理解すること 実装クラスを見つける 実装を見つけるときは、ログを出力し
jdk9 で HTTP/2 に対応した新しい HttpClient が提供される。これは待望の新機能である。 Java には標準で java.net.httpurlconnection という http client が付属しているが、低機能で、とてもじゃないが実用には耐えない。 そこで Apache HttpClient がデファクトスタンダードっぽくなっているのだが、これまたあまり使いやすくはない。。wirelog が見づらいし。。 OkHttp というクライアントライブラリもあり、これは使いやすいが、なんか apache httpclient 信者の人に導入を阻まれがち。 そんな中で、HTTP/2 に対応した http client が jdk9 ではついてくるということで、ドキュメントを読んだり、jshell で動かしたりして遊んでみた。 [12:43 PM] tokuhirom
JDK9でincubatedでJDK10でもincubatedなHTTP Clientが、ようやくJDK11でjava.net.httpパッケージで入るらしい。 JDK HTTP Client - JEP 321 - Update あと、 1.2からDeplicatedだったrunFinalizersOnExitメソッドが削除される。Runtime.runFinalizersOnExitとSystem.runFinalizersOnExit。 (11) RFR JDK-8198249: Remove deprecated Runtime::runFinalizersOnExit and System::runFinalizersOnExit Java 9でforRemoval=trueになってますね。 https://docs.oracle.com/javase/jp/9/docs/api
Ubuntuを10.04にしたのですが、 $ sudo apt-get install sun-java6-jdk パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 パッケージ sun-java6-jdk はデータベースには存在しますが、利用できません。 おそらく、そのパッケージが見つからないか、もう古くなっているか、 あるいは別のソースからのみしか利用できないという状況が考えられます E: パッケージ sun-java6-jdk にはインストール候補がありません え!? ちょっ!? 何事!? java6で探してみるも…… $ apt-cache search java6 default-jdk - Standard Java or Java compatible Development Kit default-jre
Java SE 6の最新版となるJDK 6 Update 7が公開されている。JDK 6 Update 7では13のバグが修正されているほかOlsonタイムゾーンデータバージョン2008bの同梱が実施されている。ただし、もっとも注目すべきはほかにある。JDK 6 Update 7からはじめてJava VisualVMが配布物に同梱されるようになったことだ。 VisualVM 1.0 Java VisualVMはJava仮想マシンで動作しているJavaアプリケーションの情報を視覚化するためのツールアプリケーション。Java仮想マシンが提供するデータを集約し再構築してユーザに対してさまざまな角度から情報を視覚化してくれる。アプリケーションのプロファイリングやトラブルシューティングに活用できるアプリケーションだ。プラグインを開発することでさらに機能を拡張できるという特徴もある。 VisualVM
Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.
私は今回の件より前から CircleCI を使っておらず、最近は主に GitHub Actions でCIを構築していてこの件で被害は被っていないのだけど、軽く調べてみたところ Android project を JDK 9+ でビルドすることに強い興味をを持っている自分には結構興味深いことがわかったのでもう少し詳細に調べてまとめることにした。 何があったの 日本時間で 2020-08-18 のお話 CircleCI の Android Docker Image が更新され、JDK 8 ベースから JDK 11 ベースになった*1 これらの image を使ってCIを行っている Android project でビルドが失敗するものが発生した Twitter が少し賑やかになった 原因1: なぜビルドが失敗するようになったの この blog を書き始めてから調べて知った付け焼き刃な部分もあ
WindowsでJDK 7とJDK 8を切り替えて開発する場合、環境変数JAVA_HOMEを変更するだけではうまくいかない(かもしれない)よ、という話。 Abstract 理由 Java SE 8以降のパブリックJREで、環境変数PATHの設定を自分で行なわない(行なえない)レベルのユーザーへの対策が変わったため 対策 パブリックJREのjava.exeが優先的に実行される状態を回避して、環境変数JAVA_HOMEの変更のみでJDKを切り替えられる状態に戻す 解説 理由 Windowsに複数バージョンのJava開発環境(JDK)をインストールするレベルのユーザーなら、環境変数JAVA_HOMEにJDKのインストール先フォルダーを設定し、環境変数PATHに%JAVA_HOME%\binを含める、という手法はおなじみのものだろう。これにより、JAVA_HOMEの内容を変更するだけで、複数バージ
Java Programming Language Javaプラットフォームグループでチーフアーキテクトを務めるOracleのMark Reinhold氏がRe-thinking JDK 7 - Mark Reinhold’s Blogにおいて、JDK7およびJDK8の新しいリリース計画案を発表した。Sun MicrosystemsがOracleに買収される以前の計画では、JDK7は2009年後期にリリースされる予定になっていたが、ご覧のとおりこの計画通りには進まなかった。JDK6がリリースされて以来、Javaは開発段階にあり次のメジャーバージョンをリリースできないでいる。 こうした状況を受け、Mark Reinhold氏は次の2つのプランを提案。 プランA: 現行のJDK7案をそのまま進める。2012年中期でのリリースが見込まれる。 プランB: 現行のJDK7案からまだ開発に時間が必要と
さて、Java is still freeなわけですが https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244 https://www.sakatakoichi.com/entry/javaisstillfree どのJDKをどのバージョンで使うかねぇという話がありますよね。 JDK 8を使い続けるという選択肢もあります。 いろんなベンダーがLTS(long term support)としているJDK 11を使うということも出来ます。 色々考えてみましょう。 ※ JDKも色々種類があったりで迷ったんですが、一旦バージョンを区別するだけのためにJDK 8などと表記しています。(Java SEとかいう言葉を使うかどうかも迷った) ※ 分かってる人は読まないで良い内容を書きます。 ※ 分かってるけどお時間ある
switch式の結果javapしたらhttps://t.co/xMc0YEYsrg java.lang.runtime.SwitchBootstraps と tableswitch が使われることに気がついたが、これ巨大なswitch式をJDK 21以降で書いた場合、同等の巨大なmatch式をScalaで書くよりも速度が速い可能性があるのでは??? これScalaで活用できるか?というと— Kenji Yoshida (@xuwei_k) September 25, 2023 switch式の結果javapしたら https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/runtime/SwitchBootstraps.html java.lang.runtime.SwitchBootstraps と ta
Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.
Sun Microsystemsは、GNU/LinuxおよびOpenSolarisにJava SE 5(Java Platform, Standard Edition 5)を同梱して再配布することを可能にする"Operating System Distributor's License"(JDL)を発表した。米国で開催中のthe JavaOne Conference 2006にて発表されたもの。Java SE 5のJDK(Java Development Kit)やJRE(Java Runtime Environment)をインストール可能なパッケージをOSのディストリビュータが作成・配布することが出来るようになる。すでに、Debian、そしてDebianに近いUbunts、また、Gentooといったディストリビュータと合意、それぞれがJDLのもとでパッケージを作成、配布する。 これまでJ
業務でAndroidアプリを作ることになったということもあり、Androidの勉強をしています。Java , Eclipseも初めてなので、色々苦労しながらやっております。 JDKのインストールから、AndroidでHelloWolrdを表示するまでのメモです。 参考書籍は「Android2.1プログラミングバイブル」 JDKのインストール JDKを以下のサイトからダウンロード http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html jdk-6u21-windows-i586.exeを実行してインストール Eclipseのインストール Eclipseを以下のサイトからダウンロード http://www.eclipse.org/downloads/ 「Eclipse IDE for Java D
JDK 10 will be released on March 20, 2018 with 12 new features. Key changes include a new 6-month release cycle, modularization of the garbage collector, experimental Java-based JIT compiler, local variable type inference, parallel full GC for G1, application class-data sharing between JVMs, ability to stop individual threads, and support for alternative memory devices like non-volatile RAM. JDK 1
Macで複数バージョンのJavaをインストールして切り替える方法です。ちょっとわかりにくかったので調べて試した事をまとめておきます。 Javaのダウンロードとインストール Oracleのホームページからダウンロードしてもいいんですが、面倒なので brew cask と brew-versions を使用します。 $ brew cask search java ==> Exact match java ==> Partial matches eclipse-java java6 java7 javafx-scene-builder yourkit-java-profiler $ brew cask install java7 ==> Caveats This Cask makes minor modifications to the JRE to prevent any packaged
国内最大のJavaのイベント「Java Day Tokyo 2015」が4月8日、都内で開催されました。2011年にJava 7が、昨年3月に最新版のJava 8が登場したことで、一時期は進化が停滞しているのではないかとも言われていたJavaは、再び勢いを取り戻したように見えます。 今年はちょうどJavaが20周年を迎えた年でもあり、Java Day Tokyo 2015の基調講演でもそのことを祝う催しも行われました。Java SE、Java EEを中心にJavaの最新動向と今後のロードマップを示した基調講演の内容をダイジェストで紹介します。 Java20周年 日本オラクル社長兼CEO 杉原博茂氏の挨拶のあと、舞台上にはJava20周年を祝うバースデーケーキとデューク、Java関係者が登場。会場の参加者と一緒にハッピーバースデイを歌う。 Javaの生みの親であるジェームズ・ゴスリング氏もビ
Windowsとは異なりMac(OS X)ではJDKの管理(インストール、アンインストール)が難しいと感じます。 本エントリーではこの方法に関して記載させていただきます。 本エントリーの内容は以下の通りです。 Java関係のインストール状況の確認方法 Java8のアンインストール方法 Java8のインストール方法 利用するJavaの切り替え方法 1 Java関係のインストール状況の確認方法 デフォルトで動作するjava、javacのバージョンの確認方法 ターミナルでjavaもしくはjavacコマンドを実行した時に動作するJDK、JREのバージョンの確認方法を説明させていただきます。 javaの確認方法 ターミナルでjava -versionを実行します。 macmini:~ user$ java -version java version "1.8.0_25" Java(TM) SE Ru
JJUG ナイト・セミナー 「ビール片手にLT&納涼会」で、来年出る予定のJDK9の新機能(2015/7/31時点)について喋ってきました。JDK9の機能が全て出揃う(Feature Complete)のは 2015/12/10 ですが、これから大量に出てくるのも考えにくいので LT の時点で出ている分をまとめました。 JDK8 で導入された機能についても過去にまとめてあります 新たな JDK で導入される機能について Java 関連の周辺技術標準化は JCP(Java Community Process) によって行われ、新しい技術仕様や改訂仕様(既存技術仕様の改訂)は JSR (Java Specification Request) として提案され、標準化に関する作業が管理されます。 では、JSR を追って行けば JDK の新機能が解るのか?実はそれは違っていて、JDK で何かしらの新
BigDecimalの値保持について BigDecimalから値の抽出 誤った表記変換方法 正しい文字列を取得する方法 まとめ お金の計算など正確にJavaで計算をするうえで欠かせないBigDecimalですが、 一部JDKバージョンで挙動に変更が入っていました。 この改修により問題に直面してしまったため備忘録がてら挙動をまとめることにしました。 BigDecimalの値保持について まず、本題に入る前にBigDecimalはどのように値を保持しているかを見てみましょう。 BigDecimalは以下の要素を保持しています。 intCompact 数値の仮数部を保持する intVal BigDecimalのスケーリングされていない値 precision 保持している仮数部の桁数 scale 少数のスケール では実際に見てみましょう。 BigDecimal bigDecimal1 = new
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く