java
前回はGraalのグラフを見ました。 jyukutyo.hatenablog.com 実際にどのようにグラフを作るかという謎はありますが、視点を変えて実際にJavaバイトコードをマシンコードに変換する部分を見てみます。 Chris Seatonさんの記事に沿ってGraalの理解を深めます。 …
こちらの内容に沿って、Graalの理解を深めています。 Understanding How Graal Works - a Java JIT Compiler Written in Java 前回はGraalにJITコンパイルをさせました。 jyukutyo.hatenablog.com 今回はGraalのグラフについてです。いわゆるプログラム依存…
前回ではGraalをJITコンパイラとして使うため、EnableJVMCIでJVMCIを有効にしました。 jyukutyo.hatenablog.com 引き続き Understanding How Graal Works - a Java JIT Compiler Written in Java を参考に、Graalの理解を深めます。 ところでJVMCIとは何なの…
きしださんに教えていただいた、Graalについての非常によい入門記事があります。 Understanding How Graal Works - a Java JIT Compiler Written in Java Graalの上のTruffleでのRuby実装であるTruffleRubyを開発しているChris Seatonさんのブログです。この…
Java 9とJava 8では-XX:CompileOnlyでの出力が異なってる…すごく大量に出力されるようになってる。 理由やここに仕様が載ってるよ、という方がいればぜひ教えてください!! 対象クラス class Demo { public static void main(String[] args) { while (true)…
Graalはこちらからダウンロードできるのですが、 Oracle Labs GraalVM: Download ソースを読むついでにビルドしました。 Graalとmxが要ります。Graalはバージョン0.29を使います。 $ git clone https://github.com/graalvm/graal.git $ cd ../graal $ git ch…
OpenJDKビルドの前回のエントリ jyukutyo.hatenablog.com で、--disable-warnings-as-errorsについて、 このオプションの公式な説明を検索しましたがうまくヒットせず と書いたところ、OpenJDK Authorの久保田さんから教えていただけました! https://t.co/K…
前回panamaビルド時にいろいろとオプションを設定しました。 jyukutyo.hatenablog.com が、よりよい方法をOpenJDK Reviewerである末永さんに教えていただきました!--disable-warnings-as-errorsをつければOKです。 bash ./configure --disable-warnings-as-…
前回amberはビルドできたのですが、panamaはmakeでエラーになりました。 jyukutyo.hatenablog.com 今回panamaもビルドしてVector APIを試すことができました。 結論 configureでオプションを付ける。つまり、エラーを無視しているだけである。 $ bash ./conf…
OpenJDKのビルド方法そのものはきしださんのブログをご覧ください。 d.hatena.ne.jp JavaOneから帰国後、僕も最新のOpenJDKビルドするぞ!とmakeしてたのですが、エラーが出てちょっと挫折していました。 /Users/jyukutyo/code/amber/src/hotspot/share/logg…
まだProposalなので、正式決定ではありません。 2018年3月リリースのJavaが10、18年9月が11と半年ごとのリリースでインクリメントしていく。 Javaのチーフアーキテクトである、Mark Reinholdさんがツイートしています。 Proposal: Newer version-string sche…
2015年から3年連続JavaOneに参加しています。これから参加してみたいという方の役に立てばと思い、情報をまとめます。 ホテル 今年2017年から、JavaOneの会場がモスコーニに戻りました(モスコーニ・ウエスト。モスコーニはノース、サウスもありそちらではOr…
Java Community Keynote コミュニティキーノートは、技術的な内容ではありません。Javaコミュニティのメンバーによる演劇ですが、これがまたおもしろい!!Javaに関するウィットに富んだ内容となっています。今年はマトリックスがモチーフでした(昨年はスタ…
Java Keynote 昨年のキーノートでは"火星の悪夢"があったことをご存知の方も多いでしょう。Javaと関係のない火星の話が1時間もあるという悪夢のキーノートでした。 今年は、そつなくまとまっていて合格点はある気がします。3年連続3度目のJavaOneでしたが、…
10/1-5までサンフランシスコで開催される、JavaOne 2017に参加しています。 1日目はコミュニティセッション、Java User Group (JUG)やJCPのセッションです。本格的な技術セッションは2日目から5日目の昼過ぎまで、というのが例年の流れです。1日目は英語セッ…
kanjava.connpass.com 私が代表を務めている関西Javaエンジニアの会(関ジャバ)の、過去最大規模のイベント"KANJAVA PARTY 2017"を開催し、無事終了することができました! 参加者のみなさん、スピーカーのみなさん、そして運営メンバー陣、ありがとうござ…
前回はJCPそのものについて解説しました。 jyukutyo.hatenablog.com 今回はみなさん自身がJCPメンバーになるメリットやメンバーの種類、具体的な手順を解説します。 個人でJCPメンバーになって何がいいのか JCPメンバーには企業や非営利団体、JUGだけでなく…
このブログを読んでいただいているということは、Javaを少なくとも使っているという状況と想像します。それでは、JCPのことはご存知でしょうか? JCPとは JCPとはJava Community Processのことです。公式サイトはこちらです。 The Java Community Process(SM…
スポンサーセッション 今まで3回CCCではセッションをCfPを出して担当しました。私が所属するフリュー株式会社は、前回2016 Fallからスポンサーになっています。今回は僕がスポンサーセッションを担当しました。 ですが、スポンサーだからといって何を宣伝す…
2016年7月から、InfoQ.comの翻訳者として記事を翻訳しています。 https://www.infoq.com/jp/profile/%E9%98%AA%E7%94%B0-%E6%B5%A9%E4%B8%80 ほぼJava関連の記事を翻訳し続け、気づけば50記事になっていました。週1以上ペースですね。せっかく翻訳しているの…
JOnsenというアンカンファレンスに参加しています。 温泉地でJava Expertで集まってリラックスして話そうぜ、という感じです。 詳しくは、disorganizer(アンカンファレンスなのでorganizeの逆)の1人Sebastianのブログに書かれています。 JOnsen 2017 Uncon…
I've translated a InfoQ's article about RxJava 2.0 into Japanese. www.infoq.com RxJava 2.0 quite differs from version 1.0. Summary of differences is in RxJava's website. github.com By the way, JDK 9 supports Reactive Stream (JEP 266). JEP …
I translated this article into Japanese in InfoQ. www.infoq.com I haven't known Javaslang library for now. What is Javaslang? Javaslang's website is below: http://www.javaslang.io/javaslang-docs/ Javaslang brings functional programming to …
Pivotal Cloud Foundry(PCF)を試す機会をいただきました。ローカルのPCF Devではなく、パブリッククラウドのPCFの方です! 今後少しずつ、使ってみたログを残していこうと考えています。 今回は、PCFにサンプルのSpringBootアプリケーションをアップすると…
Now max JSR number is 380, but JSR has 900s number. For example, JSR 901 is "JavaTM Language Specification". The Java Community Process(SM) Program - JSRs: Java Specification Requests - List of all JSRs What are these? They are completed a…
In Java Agent method, such as premain() or agentmain(), class loader is system classloader, not application class loader. If you intent to change bytecode of class loaded by application class loader, you will need an application class load…
I talked about Java Agent and bytecode manipulation libraries in JJUG CCC 2016 fall. My session room was filled to capacity with bytecode fans! This is a material of this session. JJUG CCC 2016 fall バイトコードが君のトモダチになりたがって…
I implement Java Agent which transform classes of a web application running in an application server. To do so, I need a web application classloader which load these classes. I know Instrument#getAllLoadedClasses() method. But this method …
I always use @RequestMapping in Controller. @Controller public class TestController { @RequestMapping(value = "test", method = RequestMethod.GET) public String index() { But in Spring 4.3, @GetMapping and @PostMappiing are provided. I was …
My proposal has been approved in Devoxx US 2017. I have a Quickie session. Session title is "Web app that has one billion face images and Japanese "kawaii" culture". This is about an application which I have been developed, including not o…