GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
AndroidのJava API利用をめぐるOrale対Googleの裁判で、控訴裁は一審の判断を覆し、APIは著作権保護の対象であるという判決を下した。 米OracleがJavaに関する著作権を米Googleに侵害されたと訴えている裁判で、米連邦巡回控訴裁判所は5月9日(現地時間)、対象となっているJava APIは著作権によって保護されているとする判決を下した。 Googleが主張する「フェアユース(公正利用)」については、カリフォルニア州北部地区連邦地裁に差し戻した。 この裁判は、2010年10月、AndroidでのJava利用が、Oracleの特許および著作権を侵害しているとしてGoogleをカリフォルニア州北部地区連邦地裁に提訴して始まった。Oracleは7件の特許権侵害と、37件のJava APIの著作権侵害を訴えたが、一審では2012年5月、特許侵害は認められず、またAPIは
先日のJJUGナイトセミナーで 「from old Java to modern Java」という話をしてきました。 公式サイト : http://www.java-users.jp/?p=551 togetter : http://togetter.com/li/521481 Java以前のCライクな書き方から、J2SE 1.4、5.0・・・からJava SE 8まで 歴史を辿りながらソースコードの変遷を紹介しました。 このスライドは、日経ソフトウエア 2013年7月号に執筆させて頂いた 特集記事「そのコードは古い」のJava編のアイデアを活用したものです。 http://itpro.nikkeibp.co.jp/article/MAG/20130617/485621/ 雑誌記事のほうでは、文法が変化した背景やメリットなどにも触れていますので スライドだけでは物足りない方は、ぜひ雑誌を手
デフォルトメソッドは前に解説しました。 Java8で最もインパクトのある構文拡張、デフォルトメソッド ここでは、それ以外の構文拡張についてまとめておきます。 ラムダ式 実装すべきメソッドがひとつだけのインタフェースを関数型インタフェースといいます。 UnaryOperatorインタフェースは実装すべきメソッドがapplyメソッドひとつだけなので、関数型インタフェースになります。 たとえば、UnaryOperatorインタフェースを実装したクラスを定義すると次のようになります。 class MyOp implements UnaryOperator<String>{ @Override public String apply(String t) { return "** " + t + " **"; } } このUnaryOperatorインタフェースを使う、List#replaceAllを
2014年3月18日(米国時間)、ラムダを筆頭に数多くの新機能が含まれるJava 8がいよいよリリースされる。 ここ数年、JavaはOracleのSun買収による混乱、当初Java 7で実装されるはずだった多くの機能の先送り、さらにはJava 8のリリースの遅延など様々な要因によって強い停滞感があり、それが関数型言語の機能を取り入れたScalaなどJavaの代替となるJVM言語の台頭にも繋がった。 そうしたJavaプログラマの溜まりに溜まったモヤモヤを払拭するアップデートとして期待されているのが今回のJava 8だ。前述の通りラムダの導入による新たな構文からStream APIやTime APIといったライブラリの追加まで、非常に多くの新機能を含んでいる。 本稿ではそのJava 8の主要な新機能についてサンプルコードを交えて紹介していく。Java 8の新機能を押さえるための参考になれば幸い
Javaの既知の脆弱性を突く攻撃がまた新たに発生した。Java 7の最新版に更新すれば問題は解決されるが、Java 6の場合、修正パッチは存在しない。 日本を含む世界40カ国あまりで政府機関や民間企業、学術機関などのコンピュータに感染を広げたマルウェア「NetTraveler」に、Javaの既知の脆弱性を突く亜種が出現したという。ロシアのセキュリティ企業Kaspersky Labが9月3日のブログで伝えた。 それによると、最近ウイグル人活動家に届いたスピアフィッシングメールの中に、正規のWebサイトへのリンクに見せかけて、NetTraveler関連サイトに誘導するリンクが記載されているのが見つかった。 誘導先サイトに仕込まれた「new.jar」という名称のJavaアプレットは、Oracleが6月の定例パッチで修正したJavaの脆弱性(CVE-2013-2465)を悪用する仕掛けになっていた
JavaEEでのWebアプリケーション開発フレームワークと言えばJSFですが、JSFはデスクトップGUIの開発スタイルに似せた、コンポーネントベース、イベントドリブンなフレームワークであるため、拒否反応を示す人も多いようです。 で、フロントコントローラー型のフレームワーク (StrutsやRuby on Railsなど) が必要な人への選択肢をJavaEEは提供していないのか? ということになるのですが、JAX-RSがこの役割に向いているのではないかと言われています。 でも、基本的にRestful Webサービスを開発するためのJAX-RSがHTML Webアプリケーションの開発に本当に使えるのか、疑問に思っている人も多いと思います。 最近JAX-RSを使ってRestful Webサービスのみならず、HTMLを返却するWebアプリケーションの開発にも使ってみる機会があったので、そこで分かっ
Struts1職人の朝は早い。 「毎日毎日DBとアプリサーバーが違う。機械ではできない」 「このstruts-config.xmlはダメだ。ほら、すぐ裂けてしまう」 ここ数年はLLとScalaに押されているという。 下町Struts1の灯火は弱い。だが、まだ輝いている。 「やっぱりアレですね、たいていの若い人はすぐやめちゃうんですよ」 「それを乗り越える奴もたまにいますよ。そういう奴が、これからのStruts1界を引っ張っていくと思うんですね」 今日も彼は、日が昇るよりも早くstruts-config.xmlの整形を始めた。明日も、明後日もその姿は変わらないだろう。 そう、Struts1職人の朝は早い。 夜も遅い。
「なんでエバンジェリストをやっているのですか」とインタビューの際に素朴な疑問をぶつけてみた。 寺田佳央氏は笑いながら「よくその質問をされます。Javaがオープンで心底好きな技術だからです」と答えてくれた。 寺田氏は開発言語Javaのエバンジェリストである。日本のJavaコミュニティといえば日本Javaユーザーグループ(JJUG)が有名。その参加者で寺田氏を知らない人はいない。 2013年5月に開催された開発者向けのイベント「Java Day」や、小規模なセミナー「JJUGナイト・セミナー」などを寺田氏は企画し、運営している。 もっとも寺田氏ほどの技術力を持っていれば、コミュニティの運営よりも、最前線のエンジニアとして活躍することもできるだろう。これが冒頭の質問をした理由であった。 寺田氏は、Javaのオープンなところに惹かれているという。Javaのコミュニティには、興味があればだれでも入る
次の数年を支える技術の登場です。 RI(参照実装)であるGlassfish 4がでています。 また、Glassfish4を同梱したNetBeans7.3.1も出ていますので、試す場合はJavaEE版のNetBeansをDLするのが一番手軽でよいでしょう。 注目する技術はやはりJAX-RS 2です。フィルターやクライアントなど今までは実装依存の技術が必要でしたがこれが標準化されました。これにより、サーバーのみならずHTTPクライアントもApacheHttpなどではなくJAX-RSを使うのが普通になるでしょう。フィルター等もはいったことによってサーブレットAPIを扱わないでほぼすべてのことが可能になります。 JAX-RSというとすぐRESTがどうだとか説明が出てくると思いますが、無視して結構です。こいつはアクションベースの処理>Viewレンダリングをするためのものなので、つまりWeb用フレーム
Java EE 6を使うならCDIを使わなきゃね!ということなんですが、Beginning Java EE 6にはCDIについて書かれてない!!せっかくNetBeansは手厚くCDIをサポートしてくれてるのにもったいない!ということでぐぐりました。 まずは、Oracleにいた人が書いてくれてたBlogの記事がありました。とても丁寧なので、さいごまで連載が続かなかったのがとても残念でなりません… Understanding Contexts and Dependency Injection (CDI), Part 1 Understanding Contexts and Dependency Injection (CDI), Part 2 基本的な使い方はここを見ればOKだと思います。 次に、NetBeansのサイトにあるドキュメント。これは、イベントとかまでカバーしてます。 コンテキストと
In this post I present several examples of the new Optional objects in Java 8 and I make comparisons with similar approaches in other programming languages, particularly the functional programming language SML and the JVM-based programming language Ceylon, this latter currently under development by Red Hat. I think it is important to highlight that the introduction of optional objects has been a
Purpose This tutorial introduces the new lambda expressions included in Java Platform Standard Edition 8 (Java SE 8). Time to Complete Approximately 1 hour Introduction Lambda expressions are a new and important feature included in Java SE 8. They provide a clear and concise way to represent one method interface using an expression. Lambda expressions also improve the Collection libraries making i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く