GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
4/7に、LINEさんのオフィスで開催された「JVM Operation Casual Talks」。 一部で、Cassandra Casualだったのではないかという疑惑もありましたが、なかなかためになる話が多くて、あとできっと資料を見たくなる日が来そうなので、ちょっとまとめておこうと思う。 こちらもあわせて読みたい JVM Operation Casual Talks #jvmcasual - Togetter Understanding Memory Management of JavaVM in 15 minutes (@stanakaさん) https://speakerdeck.com/stanaka/understanding-memory-management-of-javavm-in-15-minutes @stanakaさん、どこでJVM使ってるのかと思ったら、今日は
Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも
十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日本語の書籍はこうした古い時代に書かれたものがほとんどとなっています。それゆえ、 開発効率がきわめて悪い 実行性能が悪い*1 仕様がきわめて複雑で理解が大変 といった悪いイメージが定着してしまっているのではないかと思います。しかしながら、最新バージョンのJava EE6では、Spring、Guice、SeamなどのOSSの軽量コンテナのアイデアを取り込むことにより、以前とは比較にならないくらい開発効率が改善されているという事実があります。 ここでは、Hello WorldのEJBの書き方を以前の古いバージョンから順次振り返りながら比較してみることで、EJBのプログラミングモデル
SpringやStrutsやGoogle Web Toolkitなど、たくさんあるJava VM対応のWebフレームワーク。どれがどのような特徴を持ち、何を選べばいいのでしょう? 11月15日から行われたJava開発者が集うイベント「Devoxx 2010」。このイベントで行われたMatt Raible氏によるセッション「Comparing JVM Web Frameworks」(JVM Webフレームワークの比較)のプレゼンテーションが、同氏のブログにポストされたエントリ「My Comparing JVM Web Frameworks Presentation from Devoxx 2010」で公開されています。 その内容は、開発者の方々に非常に参考になるのではないかと思うので、全56枚のプレゼンテーションの中からポイントとなる部分を紹介します。 評価優秀とされたのはSpring、GW
今回はSpring MVCを取り上げる。Spring MVCは、2009年12月16日に公開されたSpring 3.0の中で最も多くの機能追加が行われたフレームワークの1つだ。本稿では、そこでの変更点を中心に同フレームワークの簡単な使い方を紹介していこう。 まずは、本題に入る前にSpring MVCを取り巻く環境について説明する。 Spring MVCはその名が示すとおり、MVCを実現するためのコントローラ層のフレームワークだ。同じコントローラ層のフレームワークとしては、StrutsやSAStruts、JSFなどがある。 日本では、Spring Frameworkを使用する場合、フレームワーク自体の生産性は低くとも使い慣れたStruts1系とSpringのDIコンテナを使用するパターンが多かった。ただ、Spring 3.0からは、Struts1系と連携するためのモジュールが全て非推奨となっ
うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence
Java仕事で各種フレームワークを比較検討したので、比較用に作った参考資料を公開します。ちなみに現在私は、ドワンゴさんの社内システム開発をお手伝いしてまして、その一環で調べたものです。会社資料じゃなく、私の資料ということでブログで公開してよい、むしろしとけ、とのことなので公開しときます。 今回の案件向けにアプリケーションを画面層コンテナ層データアクセス層に分けて、それぞれフレームワークを選ぶのが目的です。コンテナ層はDIコンテナのうちいずれか、データアクセス層はO/Rマッパーを選ぶことになります。 太枠の範囲が選定対象です。よく本に出てくる杓子定規な階層図とは変えてあります。 次のものを比較検討しました。画面層SAStrutsApache Wicket(ほかにもTeedaとかClick Frameworkとかももともとは候補にあったが、調査が追いつかないので二つに絞った)コンテナSeasa
といってもグローバルに活躍するためのマルチリンガルな話ではありませんよ。 今やメガバンクになってしまいましたが、僕がIT業界に入ったときはまだ都銀と呼ばれていた某銀行でのお話。用語について一切説明せずに行ってみる。世代チェッカーかも。 ホスト系 今やメインフレームだからといってホストでもない時代ではありますが、都銀のシステムはトランザクション量やダウンタイムの問題からやっぱりメインフレーム、で、過去の遺産がありすぎてホスト型。 言語はCOBOLが中心ですが、コア部分に近づくとPL/Iだったりアセンブラだったりする。大事なスキルはJCLを書けること。まあ、JCL自体はシェルプログラミングと変わりません。VOL-=SELの指定とか面倒だけど。基本的に端末のI/Fを想定しているから、SNAとかFNAとかで通信しなきゃいけなくて手続きはめんどくさい。メモリとかディスクの容量が少なかったときの設計を
OSSのJavaバッチフレームワークでHello World!:Javaバッチ処理は本当に業務で“使える”の?(2)(1/3 ページ) バッチ処理を知っている人も知らない人でも 連載第1回の「鉄板焼きのお店から学ぶ、バッチ処理“超”入門」では、近年Javaによるバッチ処理が注目されてきており、商用やオープンソースのJavaバッチ処理用のソフトウェアが登場しつつあるという現状を紹介しました。 オープンソースのJavaバッチフレームワークとしては、SpringBatchがあるものの、2008年4月現在では正式版がリリースされたばかりで、日本語のドキュメントも少なく、本格的に採用するにはまだ早い状況だと思います。そんな中登場したのが、TERASOLUNA Batch Framework for Java(以下、TERAバッチ)です。今回は、TERAバッチのアーキテクチャと機能を簡単に紹介し、Ja
最近の大田さん@mixiのところで、Rubyについて考察する機会があったのと、よういちろうの考えと同じことを思っていたので、たまには本音で書いてみる。 Railsで、最も良いところは、テストの雛形も自動的に作ってくれて、テストの敷居を下げてくれてるところだと思う。なのに、それについて触れる人があまりにも少ないような気がする。一応、私は、1年半以上、はてなのキーワード検索で毎日Railsについては調べているので、はてなでRailsについて書いている人の記事はたいてい見ています。 理由は、いくつか考えられますが、私の読みだと、テストが当たり前の人にとっては、当たり前すぎてわざわざ書く意味がないし、そうではない多くの人にとっては、ほとんどテストは書いていないんじゃないかな。 実は、テストを書くのは結構工数かかるんですよ。スクリプト言語は、コンパイラがミスを教えてくれることはないので、Javaと比
Java EEエンジニアであれば、Gavin King氏の名前を聞いたことがある方も少なくないだろう。Hibernate、JBoss Seamといった、Javaでは超メジャーなフレームワークを開発した人物、それがKing氏だ。 同氏は現在、「JSR-299 Web Beans」と呼ばれる標準仕様の策定に携わっている。同仕様は同氏が開発したSeamのコンセプトをさらに発展させ、Java EEの次期バージョン「6」では目玉となる技術のひとつだ。 今回は、名実ともに世界トップクラスのJavaエンジニアである同氏に、単独インタビューを行う機会を得ることができた。やはり話題はWeb Beansが中心となったが、他にもJava SEやリッチクライアント、動的言語についても語ってくれた。まさにJava開発者必見のインタビューだ。 現在、Red Hatにおいて従事されているお仕事について、差し支えのない範
2024-03-182024 21% (77/366) March 55.1% (17/31) Week 12 1.2% (0/7) Day 18 Mon 9% (2.1/24)
The Spring Framework Projectは3日(米国時間)、DI(Dependency Injection)を実現するJ2EEアプリケーションフレームワーク「Spring Framework 2.0 (以下Spring 2.0)」を公開した。 Spring 2.0では、設定ファイルをXMLスキーマベースの文法で記述できるようになったことや、AOP(Aspect Oriented Programming)が拡張されてAspectJとの連携がより緊密になったことなどが主な変更点として挙げられている。その他、Java Persistence APIのサポートやスクリプト言語のサポートなど多くの新しい機能が追加された。 本稿では、Spring 2.0における変更点の目玉となるXML設定ファイルに焦点を当て、XMLスキーマを用いたBean定義の方法などを紹介する。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く