可変長引数を持つメソッドをコンパイルした際の警告を抑制する、@SafeVarargsアノテーションというものがあるということを、前のJDK 7の言語仕様変更のエントリを書いている時に知りました。 警告されたものは、場合によっては@SuppressWarnings付けるくらいだと思っていたのですが、そんなのできたんですね。 @SafeVarargsアノテーションの宣言は、以下の通り。 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.CONSTRUCTOR, ElementType.METHOD}) public @interface SafeVarargs {} コンストラクタ、またはメソッドに付与することができるアノテーションみたいですね。 ここで、こんなソースを用意して import java.ut
未だ仕事の現場ではJava 6を使っていますが、JDK 7もリリースされてupdate 6まで来たことですし、そろそろ1度触っておこうかなと思いまして。 今回は、言語仕様系の変更を扱ってみます。ダイアモンド演算子だけは、さらっと触ったことがあります。NIO.2とかクラスローダ、Fork/Join Frameworkとかもテーマとしてはありますが、とりあえずパス…。 若干、今更感はありますけどね。 ダイアモンド演算子 パラメータ化されたクラスを使用する時に、変数宣言時とインスタンス作成時で同じ型パラメータを指定しなくてはならないのが冗長だ、ということで楽に書けるようにしたそうな。 要は、JDK 6以前で // JDK 6 以前 List<String> stringsOldStyle = new ArrayList<String>(); のように左辺と右辺で同じ型パラメータを書いていたものが
> > > Javaに未解決の脆弱性が発覚、標的型攻撃に利用される2012年08月28日08時14分提供: Javaの未解決の脆弱性を悪用した標的型攻撃の発生が確認され、セキュリティ各社が注意を呼び掛けている。脆弱性検証ツール「Metasploit」にも、この脆弱性を突くモジュールが追加された。 この脆弱性についてはセキュリティ企業のFireEyeが8月26日のブログで伝え、Secuniaなどの各社も確認している。脆弱性は「Java Runtime Environment (JRE)7 Update 6」のビルド1.7.0_06-b24で確認され、1.7xなど他のバージョンも影響を受けるとみられる。FireEyeは1.7 Update 6をインストールした最新版のFirefoxで、この問題を悪用することに成功したという。 この脆弱性を突いてマルウェアに感染させる攻撃用のWebサイト
IntelliJ12 EAP(build:122.202)でJDK8のInspectionが使えるようになったみたいなのでお試ししてみました。 Check lambda support in IntelliJ IDEA 12 EAP build 122.202 | JetBrains IntelliJ IDEA Blogの内容を試してみただけとも言いますが。。。 環境準備 IntellijとJDKをインストール ダウンロードは、以下のサイトから。 Intellij->IDEA 12 EAP - IntelliJ IDEA - Confluence JDK->Java Platform, Standard Edition 8 Early Access Releases — Java.net IntellijのプロジェクトのJDKと言語レベルの変更 File->Project Structur
1.8から以下のように実行する事でGroovyがインストールされていない環境でもGroovyを直接実行することができるようになりました。 (1.7以下でもできたみたいですが、面倒だった?) java -jar C:\groovy\groovy-1.8.6\embeddable\groovy-all-1.8.6.jar c:\work\test.groovy 先日「プログラミングGroovy」を読み直すまでこの事を気づかずに、毎回classにコンパイルしていた私は狂喜乱舞したんですが。。。 実は落とし穴があり、「CLASSPATH」の設定は無効になります。 勿論「-cp」で指定しても無効です。 どういうことかというと、こんな感じ。 C:\work\test.groovy assert System.getProperty("java.class.path") == /C:\groovy\gr
(2012-08-31追記) JDK/JRE 7u6には深刻なセキュリティ脆弱性があるのでu7への更新を! Java SE Development Kit 7 u6(通称 JDK 7u6)で、JavaFXのインストール形態が変わっていたので、過去に書いた「Windows 7へJDK 7をインストール」記事を更新しました。 http://www.02.246.ne.jp/~torutk/java/install/jdk7onwindows7.html u5までは、JDKのインストール後、別途JavaFXのインストーラが実行され、また、デフォルトのインストール先もJDKとは異なる場所でした。アンインストールもJDKに加え、JavaFXも別途アンインストールする必要がありました。 u6では、JDKの一部に含まれる形で一緒にインストールされるようになりました。(あくまでインストールが一緒になっただ
最近、仕事でJavaからSSHを使用することが多いのですが、ちょっとどんなライブラリがあるか調べることになりまして…せっかくなので、結果をまとめてみることにしました。 割と有名どころが多いので、知っている方はそれほど大した情報にはならないと思いますが…。 では、いってみましょう。 JSch これが1番有名なライブラリではないでしょうか?妙にバージョンが低い割には、Ant、Eclipse CVSプラグイン、Maven Wagonなどで利用されているようです。 名前 JSch プロトコルバージョン SSH v2 最新バージョン(2012/08/18時点) 0.1.48 利用可能な主な機能 SSH、SFTP、SCP(リモートコマンド実行の限定サポート)、公開鍵認証 プロジェクトサイト http://www.jcraft.com/jsch/ Maven Central Repositoryへの登録
富士通と富士通アドバンストソリューションズ(FASOL)は2012年8月15日、企業情報システム向けの「設計書化モダナイゼーションサービス」を発表した(図1)。同日より販売活動を開始する。 このサービスでは、富士通およびFASOLの担当技術者が顧客企業のメインフレームを調査。COBOLやPL/Iなどで書かれているアプリケーションのソースコードを解析し、日本語の設計書に置き換える(図2)。アプリケーションの保守担当者はソースコードではなく日本語の設計書によってアプリケーションの仕様が把握できるため、アプリケーションの保守性が向上するという。 また、日本語の設計書から新規システム用のJavaソースも生成可能。この作業で富士通側はFASOLの開発支援ツール「InterDevelopシリーズ」を使う。同ツールはテスト関連の機能も備えており、設計書からJavaソースの動作テスト項目の候補を自動抽出す
もうすでに何度もこのブログでは当たり前の様にフィルタ処理〜とかたたみ込み〜とか言っていますが、今後の記事の内容のために、ささっとまとめておきます。 フィルタをかける フィルタをかける操作って言うのは、「フィルタの値×ピクセルの値」を各フィルタの値に対して計算して、それらを足し合わせます。これを全ての画素についてやっていくのです。言葉だとなんだかよくわかりませんから、画像で説明します。 下の画像で、青いピクセルに、3×3の大きさのフィルタをかける時を考えます。この時フィルタをかけた後の青いピクセルの値は「a×紫+b×緑+c×赤+....」と計算されます。 端はどうするの? 上の図で言うと、青いピクセル以外のピクセルだと、フィルタをかけるためのピクセルが足りません。この時は「処理しない (元の画素の値をそのまま結果とする)」か「画素の値を補間する」か、「フィルタのサイズを適宜変更する」の中のど
Update: Video available from Oredev: vimeo.com/53147485 Metaprogramming is the dirty little secret behind the success of many Java frameworks such as Spring and Struts2, and constitutes the backbone of many of the most fundamental APIs across the JEE technology stack. This session aims introduce the topic and highlight, with code examples, the different mechanisms and techniques to take advantage
Javaのモジュール化を前進させるProject Jigsawは、Java 8からこぼれてJava 9へ Javaの次のバージョンとなるJava SE 8は来年2013年9月頃に最終リリースを予定しています。このJava SE 8に新機能として入る予定だったProject Jigsawについて、実装時期を延期する提案をするとOracleのJava Platform Groupチーフアーキテクト、Mark Reinhold氏が書いたブログ「Project Jigsaw: Late for the train」で表明されています。 その日本語訳が、日本オラクルでJavaのエバンジェリストをしている寺田佳央氏のブログにポストされた記事「Project Jigsaw: 列車の遅れ」で紹介されています。 Java SE 8を2013年9月頃にリリースすることを優先させるため、Project Jigs
Java 8はついにラムダ式を導入します。ラムダ式自体は2009年からProject Lambdaで利用することができました。当時はラムダ式はJava Closuresと言われていました。サンプルコードを紹介する前に、ラムダ式がJavaプログラマにとってなぜ歓迎すべき機能なのかを説明しましょう。 なぜラムダ式を使うのか ラムダ式の一般的な使い方はGUI開発においてです。一般的に、GUIプログラミングではイベントと結びつく振る舞いを解決する必要があります。例えば、ユーザがボタンを押したとき(イベントが発生したとき), プログラミングは何らかの処理を実行する必要があります。例えば、Swingでは、次のコードで示すようにActionListenersを使います。 class ButtonHandler implements ActionListener { public void actionP
http://tohoku-dev.jp/modules/eguide/event.php?eid=135 寺田さん([twitter:@yoshioterada])直々にお話を聞けるというので参加してきました。仙台の勉強会は比較的おとなしくなりがちなので、寺田さんが空回りしないように一生懸命twitterで援護射撃したよ。:-) #毎度のことながら運営の[twitter:@MasanoriMurakam]、[twitter:@i_takehiro]、お疲れ様でした。 テーマは「Java8の展望」で、JavaOne 2012 Tokyoの報告を兼ねつつと言った趣でプレゼンは展開。プレゼンに使っていた資料はたぶんこれだったと思う。 → JavaOne 2012 Tokyo 外人スピーカー&ご注意事項 | 寺田 佳央 - Yoshio Terada いっとう最初に余興で流していたビデオはこれで
Eclipse Junoのリリースとともに、Eclipse FoundationはXtendのリリースを高らかに発表した。これはラムダを備えたJava互換の言語で、Javaランタイムに完全な互換性をもつ。XtendはXtextというDSLライブラリおよびエディタ生成のためのプラグインスイートをベースにしている。 ScalaやCeylon、Kotlinと違って、Xtendは独自のバイトコードコンパイラを必要としていない。その代わり、XtendのソースファイルはJavaのソースファイルに変換され、それから通常のJavaコンパイラでコンパイルされる。その結果、Xtendは、標準的なJavaプロジェクトで使えるJavaを生成する、開発時の変換ツールとして利用したり、コンパイル時にJavaソースファイルを生成するのに使うソースモデルとして利用することができる。 Xtendをコンパイルするには2つの方
A common use of lambda expressions is in GUI development. In general, GUI programming resolves around connecting behaviour to events. For example, if a user presses a button (an event), your program needs to execute some behaviour. This might be the storage of some data in a datastore. In Swing, for example, this is done using ActionListeners: class ButtonHandler implements ActionListener { public
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く