WebAssemblyでOpenJDKのJavaランタイムを実装、JarファイルをそのままWebブラウザで実行できる「CheerpJ 3.0」正式リリース Webブラウザ上で実行可能なWebAssembly製JavaVM 前バージョンのCheerpJは、Javaのバイトコードを事前コンパイルによりJavaScriptコードに変換することで、Webブラウザ上でJavaアプリケーションを実行可能にするコンパイラを中心とするツール群でした。 今回の新バージョン「CheerpJ 3.0」では、WebAssemblyによってOpenJDKのJavaランタイムを完全に実装したと説明されています。これにより、JITコンパイラなどを含むJavaVMの機能をWebブラウザ上で実行できるようになりました。Javaアプリケーションのソースコードは不要で、ビルド済みのJarファイルをそのままWebブラウザで実行


AndroidのためのJava/Kotlinはスコープ外とします まず断っておくと、俺はScalaが好きだ。 自分が作ったScalaプロダクトは二個現存している。うち一つはまだまだ自分が開発している。というか今は会社を作って1人でプロダクトを作っている身なのだが、それもScala3+ZIO2でゴリゴリ書いている。 でも残念、もうScalaというかJVM言語がオススメできません。TypeScriptかGoかRustをオススメします。 どういうこと?まずこの記事を見ていただくのが一番分かりやすい。 https://aws.amazon.com/jp/builders-flash/202310/java-serverless-saas-backend/?awsf.filter-name=*all 素晴らしいエントリーだ。読みに行かないせっかちな方のために概要を紹介するJavaプロダクトをAWS
Is there a way, either in code or with JVM arguments, to override the current time, as presented via System.currentTimeMillis, other than manually changing the system clock on the hostmachine? A little background: We have a system that runs a number of accounting jobs that revolve much of theirlogic around the current date (ie 1st of the month, 1st of the year,etc) Unfortunately, a lot of the l
現在時刻を扱うUT辛くないですか? Date and TimeAPI(JSR-310)のJavadoc見ていたら使えそうなクラスを見つけました! その名もjava.time.Clock。 ちょっとJavadoc引用。 タイムゾーンを使用して現在の時点、日付および時間へのアクセスを提供するクロックです。 このクラスのインスタンスは、現在の時点を検索するために使用されます。現在の時点は、保存済みタイムゾーンを使用して現在の日時を検索することで解釈できます。そのためクロックは、System.currentTimeMillis()およびTimeZone.getDefault()のかわりに使用できます。 Clockの使用は任意です。すべての主要な日付/時間クラスには、デフォルト・タイムゾーンのシステム・クロックを使用するnow()ファクトリ・メソッドも用意されています。この抽象の主要目的は、代替ク

どうも、趣味でOpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルします。このコンパイル時にはCPUリソースを使用します。 コンパイルにはいくつかのレベルがありますが、コンパイルされる前やレベルの低いコンパイルのコードはCPUのリソース効率が悪かったり、アプリケーションの処理中にコンパイルが実行されるとCPUリソースを奪いあったりなどが問題になります。 そのため、Java のアプリケーションで性能を気にする要件がある場合、本番に近いリクエストを投げてコードをJITコンパイルする事があります。これをよく暖気と言います。これにより本番のリクエストが来る前にコードを最適化し、よりCPUリソース効率の高いコードで

はじめにWASMをブラウザの外で動かすトレンドに関して「Linuxコンテナの「次」としてのWebAssemblyの解説」というタイトルで動画を投稿したのですが、動画では話しきれなかった内容をこちらの記事で補完したいと思います。2022年もWebAssembly(WASM)の話題が多く発表されましたが、そのひとつにDocker for DesktopのWASM対応があります。FastlyやCloudflareもエッジ環境でWASMを動かすソリューションを持っていますし、MSのAKS(AzureKubernetes Service)でもWASMにpreview対応しています。WASMBuildersでも2023年のWASMの予想としてWASMのアプリケーションランタイム利用に関して言及されました。WASMといえば元々ブラウザ上で高速にC++のコードなどを実行するところから始まっている

Red Hat でJava Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Java 17: What’s new in OpenJDK's container awareness | Red Hat Developer の翻訳記事です。 OpenJDKは、以前からLinuxコンテナ(DockerやPodman、またKubernetesのようなコンテナオーケストレーションフレームワークなど)を意識してきました。コンテナ対応とは、OpenJDKがコンテナ内で動作していることを検出することを意味します。この記事では、コンテナ対応がなぜ有用なのか、OpenJDKのその領域で最近何が変わったのか、そして、開発者がJVMの設定決定方法について理解を深めるために利用できる診断

Red Hat でJava Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Best practices forJava in single-core containers | Red Hat Developer の翻訳記事です。 コンテナで動作するJavaアプリケーションの数が増えています。コンテナの採用は、特定のチームや企業の市場区分や クラウドの成熟度によるので、正確な数を決定するのは困難です。たとえば、New Relic のデータでは、顧客のJava ワークロードの 62% 以上がコンテナで実行されています。他のデータと同様、このデータも市場全体に対する代用として不完全なものです。しかし、このレポートは、Java市場の重要な一部分がすでにコンテナベース

Red Hat でJava Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、My advice for updating use of theDocker Hub OpenJDK image | Red Hat Developer の翻訳記事です。 コンテナ内のJava実行環境は、今後数カ月でアップデートを受けられなくなる可能性があります。そろそろ手を打つべきでしょう。この記事では、この問題を引き起こした原因である決定事項を説明し、解決策を提案します。 OpenJDK とJava SE のアップデート OpenJDKは、Java Platform, Standard Edition (Java SE)のオープンソース実装で、複数の企業やコントリビューターが共同

はじめに 先日、JakartaOne Live Japan2022というイベントで登壇させていただく機会を頂きました。QuarkusやHelidonのような新しめのEEフレームワークがこれまでのPayaraやWebLogicとどう違うのか? CloudRunのようなサーバレス環境でMicroProfileのどの機能が効果的に働くのか? という点を最近のWeb開発周りのトレンドと絡めながら話ました。上記のようにアーカイブ動画も公開されていますが、せっかくなのでQuarkusがサーバレス環境で実行に最適化されるまでの周辺事情等をまとめたいと思います。Javaだけに留まらず最近の環境事情の整理にも役立つかと思います。 TL;DRQuarkus/Helidonは軽量で高速な新しいEEフレームワーク コンテナや、サーバレス、クラウドネイティブなど最新のトレンドに基づいた設計GCPのCloud

これは、なにをしたくて書いたもの? 現在のJavaは、コンテナ環境下ではホスト側ではなくコンテナにリソース制限がかけられていればそちらの値を見るように なっています。 これはどこの値を見ているのかな?というのを確認してみたくなりまして。 なお、自分にはcgroupに関する知識はほぼありません。あくまで、Javaがどこの情報を見ているか?という観点で 追っています。 JDK-8146115Javaも以前はホスト側のCPU数やメモリサイズを参照していたのですが、JDK-8146115(およびそのバックポート)が 入ってからはコンテナに割り当てられたCPU数やメモリサイズを見るようになりました。 https://bugs.openjdk.java.net/browse/JDK-8146115Java 10以降、Java 8については8u191以降で対応しています。 デフォルトでこの機能は有効
Java認証・承認サービス(JAAS)リファレンス・ガイドでは、Java Authentication and Authorization Service (JAAS)について説明します。JAASでは、ユーザーを認証して、Javaコードを現在実行しているユーザーをセキュアに特定することや、実行される操作に必要なアクセス制御権限、すなわちアクセス権を必ず保持するようにユーザーを認可できます。 JAASチュートリアルでは、Java Authentication and Authorization Service (JAAS)の認証と承認についてのチュートリアルを提供します。Java Authentication and Authorization Service (JAAS):LoginModule開発者ガイドでは、特定のタイプの認証を提供するためにアプリケーションにプラグインする、Log
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く