タグ

Javaに関するryoasaiのブックマーク (273)

  • 第2回 Springの様々な設定記述 – AnnotationもJavaもあるんだよ | DevelopersIO

    よく訓練されたアップル信者、都元です。前回は、Springのコードを見ながらDIについて学びました。DIを使うと、「オブジェクトの生成と初期化」という宣言的な記述に親和性の高い情報と、「オブジェクトの利用」という手続き的な記述に親和性の高い情報を分離できることが確認出来ました。 Springはbean(Springの管理下にあるインスタンス)の生成と初期化に関する情報(Configuration metadataと呼びます)をXMLで受け取ります。XMLの一例は前回示した通りですが、このConfiguration metadataは色々な記述方法があります。 p及びcネームスペースの使用によるSpringの設定 XMLの閉じタグが目障りだ、という人がいるようです。では、こんなのはいかがでしょうか。 <?xml version="1.0" encoding="UTF-8"?> <beans

    第2回 Springの様々な設定記述 – AnnotationもJavaもあるんだよ | DevelopersIO
    ryoasai
    ryoasai 2014/05/12
    小さいロジックをλ式を使ってインジェクションするにはJavaで設定するのが便利かも。
  • 誰も教えてくれなかった Lombok のこと - notepad

    ryoasai
    ryoasai 2014/05/08
    Java8でプロパティ構文が実装されるのかと思っていましたが、今後もlombokにお世話になる必要があるのか
  • 大刷新リリース Java 8の新機能

    2014年3月18日(米国時間)、ラムダを筆頭に数多くの新機能が含まれるJava 8がいよいよリリースされる。 ここ数年、JavaOracleのSun買収による混乱、当初Java 7で実装されるはずだった多くの機能の先送り、さらにはJava 8のリリースの遅延など様々な要因によって強い停滞感があり、それが関数型言語の機能を取り入れたScalaなどJavaの代替となるJVM言語の台頭にも繋がった。 そうしたJavaプログラマの溜まりに溜まったモヤモヤを払拭するアップデートとして期待されているのが今回のJava 8だ。前述の通りラムダの導入による新たな構文からStream APIやTime APIといったライブラリの追加まで、非常に多くの新機能を含んでいる。 稿ではそのJava 8の主要な新機能についてサンプルコードを交えて紹介していく。Java 8の新機能を押さえるための参考になれば幸い

    大刷新リリース Java 8の新機能
  • Java 8 Tutorial - winterbe

    Java is still not dead—and people are starting to figure that out.” Welcome to my introduction to Java 8. This tutorial guides you step by step through all new language features. Backed by short and simple code samples you’ll learn how to use default interface methods, lambda expressions, method references and repeatable annotations. At the end of the article you’ll be familiar with the most rece

    ryoasai
    ryoasai 2014/03/18
  • JUnitのassertThatのいいところ - きしだのHatena

    JUnitでのテストでは、古くは次のように書いてました。 assertEquals("期待値", "実際の値"); で、比較の種類だけassertXxxがあるわけです。 最近だと assertThat("実際の値", is("期待値")); のようにも書けます。 別にどっちでもええやん、とか思ってたのですけど、最近はassertThatのほうを使うようになりました。 というのも、assertEqualsを使おうとすると、補完で結構下まで移動する必要があったのです。 これがassertThatなら、次のようなstatic importにしておけば「as」で補完しても最初にassertThatが出てきます。 import static org.junit.Assert.assertThat; CoreMatchersも次のようにimportしておく必要がありますが、「is」とかは補完するまでも

    JUnitのassertThatのいいところ - きしだのHatena
  • 問題になっている Javaの脆弱性は Java 6では問題ないか - Windows 2000 Blog

    NVDでこのバグの脆弱性はJavaのバージョンがバージョン4と5を含む、数年さかのぼって存在していることを述べている。 脆弱性調査会社のイミュニティのアナリストは、バグは、Java6とそれ以前のバージョンに影響を与える可能性があると言う。 しかし、CERTの欠陥を検討しているセキュリティの専門家は、NVDの勧告が誤っていると述べた。この脆弱性は、OracleJava7で導入しているコンポーネントから生じると主張している。 「Java」にふたたび脆弱性が見つかる――今度は全バージョンに影響 | セキュリティ・マネジメント | トピックス | Computerworld - エンタープライズITの総合ニュースサイト 今回見つかったのも、9月ごろに見つかった脆弱性の Java Sandbox に関するものなのですが、それは修正されたけれど、修正されきれてないものが、 Java7 に実装されたコ

  • JavaMail メッセージヘッダフォーマット

    付録 1:メッセージヘッダフォーマット メッセージのヘッダと意味の一覧表です。 「MTA」はMTAによって付加されるヘッダを表します。ただし、MTAが付加すると定められているのはReturn-Path:およびReceived:のみです。他のヘッダについてはMTAの独自実装でそのヘッダが存在しなかった場合に付加する機能を持つものがある(あるいは多い)ということであり、来は上記二つ以外のヘッダは全てMUAが付加すべきです(存在しなかった場合のみ付加されるものは△で示しています)。 「RFC」は規定されているRFC番号です。 RFC2076により"not for general usage"、"not standardized for use in e-mail"(NetNewsメッセージで使われるヘッダ)、"non-standard"、"discouraged"、のステータス

  • Java のチェック例外と非チェック例外の考察まとめ - 全力で怠けたい

    世間ではオワコンと揶揄されることも珍しくない Java ですが、Java を初めたばかりのエンジニアがチェック例外と非チェック例外の使い分けについて「ベストプラクティスないの?」と調べたのをまとめてみました。 エントリまとめ どのエントリも Java についての深い洞察と開発の実践現場での生きた経験をもとに書かれていて大変に勉強になりました *1 エントリ中からリンクされているエントリもぜひ一読されることをおすすめします。 検査例外と非検査例外(実行時例外)をどう使い分けるか - Lino Blog Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指して Javaのチェック例外はクソ仕様 - やさしいデスマーチ 例外の扱いについて その2 - じゅんいち☆かとうの技術日誌 「検査例外はアジャイルやオブジェクト指向の考えに反するという事実」について一部誤

  • Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする) - 主に言語とシステム開発に関して

    重要なお知らせ: この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。 より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してください。 AndroidのMVCフレームワーク - 「Android-MVC」 http://code.google.com/p/android-mvc-... マルチスレッドの処理を,シングルスレッドであるかのようにコーディングしたい場合がある。 1番目の非同期タスクの処理結果を,2番目の非同期タスクが利用する場合など。 つまり,並列化されたタスクを,取扱い上は「逐次化」したいのだ。 まずは手っ取り早く,やりたい事をUMLで表現しよう。 「非同期タスクの連鎖」を実装する際, しばしば下記のような「コールバックの入れ子」が生

    Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする) - 主に言語とシステム開発に関して
    ryoasai
    ryoasai 2012/02/08
    synchronizedを使わない方法とありますが、AsyncTasksRunnerは同期化してスレッドセーフ(この場合可視性)でなくてはいけません。また、実践ではjava.util.concurrentを使うべきで、TaskなどはRunnableを使った方がよいでしょう。
  • jstack: Target process not responding

    I am running Ubuntu server edition and I wanted to take a thread dump of Tomcat. So, I first tried to find out which PID tomcat uses: $ jps -l 5809 sun.tools.jps.Jps But it's not there? So, I used top instead and found out the PID 5730. Then I called jstack to get the thread dump: $ sudo jstack -l 5730 5730: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F

    jstack: Target process not responding
  • Troubleshooting Guide for Java SE 6 with HotSpot VM

    This document is a guide to help troubleshoot problems that might arise with applications that are developed using the release of Java Platform, Standard Edition 6 (JDK 6 release or Java SE 6 release). In particular, this guide addresses possible problems between the applications and the Java HotSpot virtual machine. The document provides a description of the tools, command line options, and other

  • ソースコードを見よう

    ある技術について初心者向けに説明するときに、喩え(たとえ)を使うことがある。確かに、初めて聞く技術を、知っている身近なものに喩えて説明されると、なんだか分かったような気になる。ただし、こうした喩えによる説明の理解度は、説明する側、される側の両者が思っている以上に浅い。 筆者の経験では、オブジェクト指向を説明する際に用いられる喩えがそうだった。例えば、クラスとインスタンスを説明するのにしばしば用いられる、クッキー(菓子)の型とそこから作られるクッキーの喩え。クラス間の階層関係を表す継承の説明では、動物クラスの子クラスに哺乳類や鳥類のクラスがあり、哺乳類クラスの子クラスに犬やのクラスがある、といった喩えをよく聞く。ポリモーフィズム(多態性)の説明は、犬インスタンスに「鳴け」と言うと「ワン」と鳴き、クラスに「鳴け」と言うと「ニャー」と鳴きます、と言った具合だ。 オブジェクト指向についてのこう

    ソースコードを見よう
  • Javaの学習方法 : 富士通

    [索引] Javaの学習法 | Java学習の参考書 | 有償教育コース  富士通 システム生産技術部 ナレッジ推進統括部 白鳥茂男 ここでは、知識テストで高得点を取ることだけを目的とするのではなく、Javaそのもののスキル向上をめざすための学習方法についてご紹介します。 Javaの学習法 かつてプログラム言語は新人のときにちょっとした教育を受けて、現場で実際に作っているうちに自然と覚えてしまうものでした。 しかし、新人ではなく、かつその言語のプログラム作りが仕事でもない方が、新しい言語を覚えるのはなかなか大変なことです。 以下は私(白鳥)が富士通社内での職種転換者のJava教育(約500名)を通して得たJavaの学習に対する考え方です。 もとより私個人の意見であり、そもそも最適な勉強法は人によって異なっているものですが、以下の一部でもご参考になれば幸いです。 一定時間かける覚悟が必要

    ryoasai
    ryoasai 2012/01/27
    例の職務転換のパスにはSEからプログラマへのパスもあるのですかね。
  • キョウミタコード - 日々常々

    List list = hoge(); if (list.size() >= 1) { for (Object o : list) { // hoge } } ぱっと見て isEmpty 使えよと思ったけど、そもそも if 要らない…。 Annotation annotation = clz.getAnnotation(HogeAnnotation.class); if (annotation != null) { // annotation を使わない処理 } else { annotation = clz.getAnnotation(FugaAnnotation.class); if (annotation != null) { // やっぱり annotation を使わない処理 } else { annotation = clz.getAnnotation(PiyoAnnotati

    ryoasai
    ryoasai 2012/01/16
    コードレビューでチェックすべき問題ですね。詳細設計書とか必要なプロジェクトだと難しいか。
  • Javaのオブジェクト指向入門

    RSS1.0です。ページ追加・更新の情報をお知らせいたします。 このRSSはKAB-studio全体のものです。かぶろぐ。の記事も含まれるためご注意ください。 「Javaのオブジェクト指向入門」は、Javaを使用したオブジェクト指向プログラミングの解説を掲載しているコンテンツです。 クラスがよくわからない、オブジェクト指向って難しい、Javaとオブジェクト指向の関係が分からない、Javaに挫折しちゃった、という方。ぜひお読みください!

  • JavaA2Z

    つかいかた 検索して単語を探そう! 各ページの上段にある検索欄から単語の検索ができます(注:大文字・小文字を区別します。半角スペースで単語を継なぐとAND検索します)。 さくいんからながめてみる さくいんに全単語が載っているので、そこから探すことができます。 新規追加単語一覧から見てみる このページの下の方に「新規追加・更新単語一覧」があるので、そこから探してみるのもいいでしょう。 単語をたどってみる 各単語はリンクで継ながっています。文で使用されている単語にはリンクが張られていますし、その単語を使用している単語のリストもあるので、それらをたどれば色々な単語を見ることができます。 RSSを購読する RSSでは新規追加単語や最近更新した単語を配信しています。RSSリーダーをご使用の方はこちらもご利用ください。 ユーザーサポート 何か不具合等ございましたら公式ブログかぶろぐ。[JavaA2Z

    ryoasai
    ryoasai 2012/01/10
    Javaの用語の日本語訳が興味深い。
  • デフォルトコンストラクタとは : JavaA2Z

    ryoasai
    ryoasai 2012/01/10
    一般の引数なしコンストラクタとデフォルトコンストラクタは時々混同されますが、正しくは明示的なコンストラクタ定義がない場合に自動的に用意されるのがデフォルトコンストラクタという理解でよいのかな。
  • printf様式の書式化で's'変換指示子を自前のクラスに指定し独自の書式化を実現する〜java.util.Formattableの実装 - torutkのブログ

    Java Advent Calendar 2011 : ATNDの一環で、第32日目のエントリです。 Javaには、C言語のprintf関数風に文字列書式化機能が備わっています。intやdoubleなどのプリミティブ型に関する書式化のほかに、オブジェクト型については、%s変換が用意されています。文字列と兼用の変換で、デフォルトではtoString()メソッドの戻り値文字列が表示されるだけという簡素なものです。 Javadoc APIから%sに関する説明を以下に抜粋します。 s、S 一般 引数 arg が null の場合、結果は null になります。arg が Formattable を実装する場合に、arg.formatTo が呼び出されます。そうでない場合、結果は arg.toString() の呼び出しで取得されます。 温度(Temperature)クラスを題材に、この%s変換の実

    printf様式の書式化で's'変換指示子を自前のクラスに指定し独自の書式化を実現する〜java.util.Formattableの実装 - torutkのブログ
    ryoasai
    ryoasai 2012/01/06
  • 細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS

    日のエントリーはJava Advent Calendarの25日目です。昨日は @mike_neck さんのmike、mikeなるままに…: hamcrestを拡張してmoreThanとか作ってみたでした。日はクリスマスですが、Advent Calendarはまだまだ続きます。明日はt.ogisawaさんのhttp://webinter.sakura.ne.jp/pbd/210です。 さて、今年はJava7がリリースされましたね。try-with-resources、diamond operator、invoke dynamic、Folk/Join framework…魅力的な新機能の数々が、多くの人によって紹介されています。が、Java7の変更はそれだけじゃないはず。小粒だが、キラリと光る変更がきっとあるはず。ということで、Java6とJava7のsrc.zipを比較してみました。小

    細かすぎて伝わらないJava7の変更点 - 都元ダイスケ IT-PRESS
    ryoasai
    ryoasai 2011/12/26
  • 「Java SE 6完全攻略」第11回 コンポーネントのロードを行うServiceLoader

    先週のAttach APIは,どちらかというと裏方で使うAPIでした。今週解説するServiceLoaderクラスも,縁の下の力持ち的なクラスです。 第6回でjconsoleのプラグインを作成したときに,META-INFディレクリと,META-INFディレクトリの下にservicesディレクトリを作成したことを覚えているでしょうか。 なんで,こんなことするのだろうと不思議に思った方も多いかもしれません。これがjava.util.ServiceLoaderクラスを使ったコンポーネントのロードなのです。 コンポーネントをロードする さっそく,サンプルを作って,確かめてみましょう。 サンプルはこちらからダウンロードできます:HowdyTalky.java,HowdyTalkyLoader.java,HowdyTalky_ja.java,HowdyTalky_en.java はじめに,ロードするコ

    「Java SE 6完全攻略」第11回 コンポーネントのロードを行うServiceLoader
    ryoasai
    ryoasai 2011/12/23
    DIコンテナを使うまでもないけれども、機能をプラグインできるようにするために便利かも。