2019/11/23 JJUGCCC 2019 Fall 「多言語対応の仮想マシンGraalVMが照らす未来」のセッションスライドです。 --- オラクル社からGraalVMというOSSプロダクトが発表され、話題を呼んでいます。GraalVMは、Javaで書かれたJITコンパイラ、Graalを搭載しています。さらに、言語実装用のフレームワークTruffleを提供しており、そのフレームワークを使って実装したJavaScriptやRuby、Pythonなど他の言語を、GraalVMは高いパフォーマンス実行できます。GraalVMを多言語対応の仮想マシンと呼ぶ理由です。加えて、それらすべての言語間で、相互に呼び出しができます。また、ネイティブイメージを作成し、JVMを利用せずにアプリケーションを実行できます。MicronautやQuarkus、Helidonといった最新のフレームワークが、この
世界 30 億のJavaエンジニア向けに、Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 TheJava Language Specification diffs TheJava VirtualMachine Specification diffs ぜひご利用ください! なにこれ?Java の各バージョンごとの言語仕様・JVM仕様はこちらのページで公開されています。Java Language and VirtualMachine Specifications ただ、バージョンごとの変更点がありませんでした1。 そこで、各ページからテキストを抜き出して2、GitHub 上で差分が見れるようにしました。 更新について 細かい誤字脱字の変更とかを除いた差分が作れるとより良いのですが、そうすると今後の更新に手間がかかってしまいまそうでした。 それよ

オラクルはJavaをサーバレス環境で実行するのに最適化した技術「GraalOS」を発表しました。 同時に、Oracle Cloudのサーバレス実行基盤である「Oracle Cloud Functions」でGraalOSの機能を提供することも発表されました。Javaをコンパイルし、ネイティブバイナリを実行 GraalOSは名称にOSと付いているものの、LinuxやWindowsのようなOSではなく、Javaをデプロイする新たな技術とその基盤を指します。 具体的には、同社が提供しているJava実行環境である「GraalVM」のコンパイラを用いてJavaをコンパイルしてネイティブバイナリを生成し、それをサーバレス基盤にデプロイし実行することで、サーバレスアプリケーションの瞬時の起動と高速な実行などを実現するというものです。 参考:Javaのネイティブバイナリ生成可能なGraalVMの全機能が

ハイクラス求人TOPIT記事一覧Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化 Spring Boot 3の新機能を使ってみよう! 2からアップグレードする手順、Observability機能、ネイティブイメージ化Javaの開発フレームワークであるSpringの最新バージョンとして、Spring Boot 3が2022年11月にリリースされました。この記事ではSpring Boot 2で書かれたサンプルコードをSpring Boot 3にアップグレードしながら、考慮点や新機能を体感していただきます。ヴイエムウェア株式会社の星野真知さんによる解説です。Javaのエコシステム、その中でも世界で一番の人気を誇るのが(JetBrains社の調査によると)Spring FrameworkおよびSpring B

こんにちは、Red Hat MiddlewareTechnical Account Manager のイアンです。 お客様のサポートケースの対応では、現象を再現させるために稼働しているJavaアプリケーションのコードを修正/パッチする場合があります。そのときには、Bytemanをよく使っていますが、新しいツールを紹介したいと思います。Java Runtime (De)compiler (以降JRDとして略)は弊社社員が作って提供しているJavaのデコンパイルと修正したコードをアプリケーションへ挿入するためのツールです1。最新バージョン 7.2 はJava 11 以降に対応していますが、古いバージョン 6 はJava 8 でも使えるように見えます(未検証ですが)。 簡単な例で使い方を説明いたします。 環境準備 この例では、以下の製品とソフトウェアを使用します。 OpenJDK 11

Javaは長らくプロジェクトの立ち上げから最初のコーディングまでが重く、スクリプト系のプログラマから批判されてきた。それも最近のJShellやJBangの登場で変わってきた。静的型付け言語としての構文の重たさを除けば、ほぼスクリプト言語の感覚でプログラミングできる。 ちょっとしたタスクをスクリプティングでやるにも、これまではBashやPythonのようなスクリプト言語が主流だったが、今ではJavaも選択肢の1つになる。Javaのメリットは、(比較的重たい処理での)実行時の速さと何より非常に豊富なライブラリのエコシステムだ。 エコシステムという点では、Javaで最もライブラリが成熟した分野がいくつもある。その1つがインテグレーション(システム間の連携)で、Apache Camelはその代表的なライブラリ/フレームワークになる。 Apache CamelとJBangを組み合わせると、インテグレ

LTSとなるJava17が出ました。組織が今後もJavaを使っていけるかの試金石になるバージョンだと思います。 実際のとこLTSだから特別安定してるとかそんなことはないと思うし、6バージョン(3年)ごとにLTSにするってのもたぶんOracleさんが言ってみただけで、いろんなとこがそれに乗っかってるから、実質的に節目になってるに過ぎない。はず。 その程度のものなんだけど、私のようなのは乗っかりますし、たぶん多数派なんじゃないかなぁ……この派閥が運用で使うJavaのバージョンは8、11、17で、他のバージョンは評価に使うくらいでしょう。 11から17のジャンプになるんで、かなりたくさんの変更がありますが、業務アプリケーションの表層に関係するものはそこまで多くありません。パフォーマンスとかに影響のあるものは多々ありますが、基本的には早くなるはずで、問題になることは稀です。稀なことはよくあるんです
JJUGCCC2022 Spring に参加しました! いつも以上におもしろいセッション盛りだくさんで、参加してとても楽しかったです。LINEのトラブルシューティングのような現場での経験をもとにした話から、バイトコードのようなJavaのコアな話まで、とてもバランスよくセッションが採択されていたからかなと思います。 特に前者はなかなか普段の JJUG ナイトセミナーなどでは聞けないので、いつもとても楽しみにしています。 あと、動画セッションならではですが、今回は休憩時間中に時間がかぶって見れなかったセッションを2倍速で追っかけて見るということをやってみて、より密度の高い時間になりました。 授業は動画配信で見たいという大学生の気持ちがちょっとわかりましたw 次回の JJUGCCC2022 Fall も楽しみです。 もしかすると、オフラインも併用になるんでしょうか。ただ、飲食を伴う懇親

みんなから愛された「あなたとJAVA」の役割が終わったようです。 「Java」で検索するとjava.comのサイトがひっかかるのですが、このサイトは古いまま放置されていて、Javaの学習を始める人にとっての罠になっていました。 https://www.java.com/ja/ 「あなたとJAVA」というキャッチコピーの脱力感と、「ダウンロー」で改行され「ド」だけが目立ってしまう間のヌケかたから大人気のサイトでしたが、かっこいいものではない・・・ もともとはJAVA+YOUで、2008年JavaOneのキャッチコピーでした。これは大文字だけのデザインだからよかったのだけど、日本語訳するときJAVAだけ大文字で残ってしまい「JAVAではなくJava」の説得力をなくさせてくれていました。 それに、ほとんどの人がJavaのプログラミングの勉強をしようとして「Java」を検索するのにJREの配布サイ

はじめに あまり話題になっていない Web フレームワーク "Hilla"[1] を紹介したいと思います(もう少し話題になってほしい)。 BFF をJava で作りたい、または作らざるを得ない人向けなので該当しない方は、ここで exit です。Hilla は、SSR とかないのでSEO が不要なシステムが対象になるかと思います。 Hilla の最大の特徴は、TypeScript クライアントのコード自動生成により、BFF(Java)とフロントエンド(TypeScript)でタイプセーフな通信を実現している点だと思います。 概要を掴むためには最初に以下の記事を読んでもらうと良いかもしれません。。 フレームワーク構成 フレームワークの構成は、以下のようになっています。 BFF Spring Boot Frontend Lit Vaadin WebUI Components かなりフルスタ

Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能Javaの新バージョン「Java 18」が正式にリリースされました。Java 18 is now available! #Java18 #JDK18 #openjdk Download now: https://t.co/hTJU1ZzAWQ Releasenotes: https://t.co/Xdkj5TObNPAPIJavadoc: https://t.co/izFBPlYkd9 Features: https://t.co/3z0l5sXyDX pic.twitter.com/Ct1BvYmDYs —Java (@java) March 22,2022Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるバージョンアップが行われ、そのなかの1つのバージョンが

こんにちは! LAPRAS でエンジニアをしています @Chanmoro です! LAPRAS Advent Calendar 2021 3日目の記事です。 最近はスクラムチームでのプロダクトオーナーの役割が中心なので業務でコードをほとんど書いてないのですが、たまには何か技術的な記事などアウトプットせねばと思いましたので書きます。 しばらく見ないうちにだいぶ進化していたJava 今年の9月にJava17 がリリースされたというのを見て、最後にJava を触っていたのは4〜5年前でJava7 か 8 あたりでほぼ知識が止まっていたので 「そういえば最近のJava の雰囲気はどんな感じなんだろう」 とふと気になったので軽く調べてみました。 新しめのシンタックスを使ってコードを書いてみる 細かく全ての新機能を調べるほどのパワーはなかったのですが、Java 8 以降に入ったいくつかの新機

色んなJavaのディストリビューションのバージョン表記を集めてみました 1行目はjdkのバージョンを示している ベンダがLTSを表明しているディストリビューションは「LTS」の表記がつくJREやJVMのバージョンはベンダごとに独自のバージョンが付けられるJREやJVMのバージョンの後ろに括弧付きでopenJDKのバージョン番号が表示される...ビルド番号や、ディストリビューション固有のバージョン番号が含まれる 1行目のダブルクォーテーションに囲まれた数字を見ておけばOKですねOracle JDKのバージョン表示java version "17.0.1" 2021-10-19 LTSJava(TM) SE Runtime Environment (build 17.0.1+12-LTS-39)Java HotSpot(TM) 64-Bit Server VM (build 17.
log4jとはJava用のloggingライブラリだ。loggingライブラリというのはログとして記録すべき文字列を受け取り、それをどこかに出力するものだ。文字列の中身を通常のloggingライブラリは気にしない。log4jが通常のloggingライブラリと違うのは、文字列の中身を見て、一部の文字列を変数とみなして置換することだ。これはlog4jのドキュメントではlookupと呼ばれている。Log4j –Log4j 2 Lookups 例えばプログラムを実行中のJava runtimeのバージョンをログに含めたい場合は、"Java Runtime: ${java:runtime}"などとすると、"Java Runtgime:Java(TM) SE Runtime Environment (build 1.7.0_67-b01) fromOracle Corporation"などの
こんにちは。shirou(@r_rudi) と申します。アーキテクトという名の雑用係をしています。 Alpaca Japanでは、2021年8月に「アルパカ証券」という証券サービスをはじめました。 この一連の文章は、アルパカ証券の裏側のシステムやその開発体制などについて述べたものです。なるべく証券分野に限らず説明していく予定ですので、証券サービスを立ち上げようとしている人たちにはもちろん、それ以外の方にも参考にしていただけるような文章を目指したいと思っています。 アルパカ証券とはアルパカ証券の詳細はホームページをご覧ください。また、第一種金融商品取引業者登録完了時のプレスリリースにも、「アルパカ証券」サービスの特徴が記載されています。 全体設計方針まず最初に、アルパカ証券を構成するシステムの全体設計方針について説明します。 マイクロサービス vs モノリシック設計は2018年中頃ぐらいから

米Springは、Java 17およびJakarta EE 9のハイエンドベースラインに向けて、「Spring Framework 6」および「Spring Boot 3」の2022年第4四半期の一般提供を計画していることを、9月1日(現地時間)に開催された「SpringOne」にて発表した。 「Spring Framework 6」および「Spring Boot 3」ベースのアプリケーションには、実行時にJDK 17以降とTomcat 10/Jetty 11が必要であり、アプリケーションのソースコードにいくつかの変更が必要となる場合がある。 同社は、並行して「Spring Framework 5.3.x」と「Spring Boot 2.x」の開発も活発に行っており、「Spring Boot 2.6」は11月、「Spring Boot 2.7」は2022年5月にリリースされる。なお、「Sp

長くなっちゃったから最初にまとめ まとめ picocli は便利。 デフォルトでサジェスチョンの機能がついている。なので、オプションやサブコマンドの定義だけしておけば、ミスタイプしたときにサジェスチョンを出してくれる。 オプションの場合は、先頭2文字が一致するオプション一覧 サブコマンドの場合は、先頭2文字じゃなくて、似たものを出してくれる こんなつぶやきを見かけて がくぞさんのこんなつぶやきを見かけて そういえばCLIのオプションパーザのライブラリは多種あるけど、定義されてないオプションが指定されたときにオプション名から類推して正しくはコレじゃない?ってサジェストしてくれるような機構まで盛り込んだライブラリってあるのかな?— がくぞ (@gakuzzzz) August 11, 2021 あぁ、たしかにそういうのフレームワークに含まれてたら便利だなー、picocli だったらありそうだけ

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く