このページは削除されました。以前のリビジョンの一覧をチェックして、いつ・なぜ削除されたのか確認したり、過去の版にアクセスしたり、元に戻したり出来ます。
このページは削除されました。以前のリビジョンの一覧をチェックして、いつ・なぜ削除されたのか確認したり、過去の版にアクセスしたり、元に戻したり出来ます。
メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu
カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ
Javaのラムダ式のついでに導入されたメソッド参照がなかなか便利な感じです。メソッド参照をつかってDuckTyping的なことができます。 HasName という関数型インタフェースを受け入れるGreeterクラスの定義*1 public class Greeter { /** 関数型インタフェースの定義 */ @FunctionalInterface interface HasName { String getName();} /** 「名前を持っているオブジェクトに挨拶をしてもらう」メソッド */ public void greet(HasName... targets) { for(HasName it : targets) { System.out.println(it.getName()); }; } } 「HasNameの関数型インタフェースと同じシグネチャを持つメソッド」を持
Class.forName(String)は引数にクラス名の文字列をとってClassクラスのインスタンスを返します。 (もしそのクラスが仮想マシンによってロード済みでなければロードされ、staticイニシャライザが実行されます。これを利用してJavaでデータベースを扱う際の「お約束」「おまじない」となっています。これの検索ワードは「JDBC」で) 本来の(?)機能は「クラス名(文字列)からクラス(を表すクラスのインスタンス)を得る」ことです。 Classクラスはクラスを表します。このインスタンスからは(特定の名前をもつ/すべての)コンストラクタ・フィールド・メソッド・アノテーション・内部クラスなど(を表すクラスのインスタンス)を取得できるメソッドが提供されています。 これらを用いてインスタンスの作成・フィールドの取得/設定・メソッドの呼び出しなどが行えます。 このような機能をリフレクション
シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。 小生、プログラムに使った最初の言語は、BASIC。そう、あの有名なBASIC。Visual Basicではない。Bill Gatesが、ハーバードの学生だったころ、Microsoftか、それともその前身の名前の会社だったのだか定かではないが、自分たちで作って、それをまんまと、当時の米国のホビーストのマシンだったAlltairに売り、さらにIBMにまで使わせることに成功した、あのinterpreter言語だ。 BASICを使って、私も、学生のころ、当時日本で売られていたSharpの『マイコン』で、色々とゲームを作った。ASICだと言ってもバカにしてはいけない、学生時代はゲームだったが、それなりに物理や数学を駆使したアプリだった
2011-08-02追記 JDK7に致命的なバグ 重要なので先頭に追記しておきますが、JDK7のホットスポットコンパイラに致命的なバグが存在するそうです。 詳しくはコチラ。 http://d.hatena.ne.jp/takahashikzn/20110802 JDK7を使用する際はご注意下さい。 (Javadocのスタイルもガラっと変わりました!!) http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html JDK7の正式版がリリースされています。 興味深い機能やAPIなどが追加されているわけですが、 その中でもみんな一番気になるところである、Java言語仕様の変更についてご紹介。 あとは、個人的にjava.lang.invokeなんてアヤシゲなパッケージが気になっているのですが… APIを見る限り、動
おつかれさまです。 型を選ぶというのはプログラミングの基礎中の基礎ですが、以外に開発の現場でも注意が必要なのが、floatとdoubleの精度の問題があります。これぐらい当然と思っていたのですが、最近よく耳にしますので、あえて言及w これらの型の目的が科学技術計算のための用途。多少誤差が生じても高速に演算をすることを目的としています。グラフィックなどの描画系とかですかね。 このように、float型やdouble型は誤差を含む可能性があるため、科学・工学計算で多少の誤差は許容できる場合はよいのですが、金融・会計分野のように正確な値が要求される計算には向きません。 どうしても正確な値が欲しい場合は、BigDecimalクラスを使用することになります。基本データ型のdoubleやfloatと比較すると不便かつ低速ですが、精度が保証されており、丸め方も指定できます。 ここで言及されているように、お
え~。いままでこんなエラー見たことがない~。 EclipseかJDKのインストール失敗? 調べました。 この起動エラーに関する記事がありました。 よかった~。 参考にさせて頂きました。 ありがとう御座います。 調べた内容を順に説明したいと思います。 eclipse.iniの-Xmx指定に問題?『eclipse.ini』の初期値は下記のようになっていました。 org.eclipse.platform --launcher.XXMaxPermSize 256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx256m 『eclipse.ini』に『-Xmx』を指定するとエラーになるという記事を見つけました。 なるほど!。と思い、試しに『-Xmx256m』の行を消去して起動しました。 起動出来ました!!。 やった~。じゃ、解決ということで!
シゴトでちょっとしたツールを書くことがたまにあるのですが、Java の場合、書くより動かす方が面倒くさい。 手元の eclipse では元気にサクサク動いていたコードが、いざ solaris にアップした途端 NoClassDefFoundError とか ClassNotFoundException でガンガン落ちるのはよくある話で。 その度にクラスパスがどうのライブラリがどうのとシェルを書く人生にもいい加減、嫌気が差してきたので、ちょっと調べてみました。 mvn archetype:create まあとりあえず mvn archetype:create でプロジェクト作成。eclipse の新規プロジェクト作成ウィザードとか使っちゃダメ。絶対。 D:\work>mvn archetype:create -DgroupId=org.garbagetown -DartifactId=tes
Java でバッチプログラムを作る際, class ファイルを jar にまとめてしまうことがよくあります. しかし, 依存している外部の jar ファイルがある場合は, マニフェストファイルにクラスパスを書くか, --classpath などでクラスパスを指定しなくてはいけないため面倒です. すべて jar ファイルに同梱してしまいたくなりますが, 外部 jar ファイルを一旦展開してから同梱しないと使えません. こんな時に, maven-assembly-plugin を使うと便利です. 以下のような, pom.xml を用意します. <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLS
この記事は下記の環境を前提に書かせていただきました。 NetBeans6.5.1 JDK1.6.0 Spring2.5 JSF1.2 Spring2.5からアノテーションによるAutowiringが可能になったようです。 前回の構成ファイルでの『autowire』属性によるAutowiringとなにが違うのかな? と思ったわけですが。 マニュアルには 「アノテーションによるAutowiringのほうが、より細かく制御でき、幅広く適用可能になりました」 ということです。 まだよく使っていないので 「ま、かゆいところに手が届くようになったんだろうな~」程度にしか理解していません。 できません(・_・)エッ....?。すみません。 どんなアノテーションがあるの?
This document is the specification of the Java API for JavaBean validation in Java EE and Java SE. The technical objective of this work is to provide a class level constraint declaration and validation facility for the Java application developer, as well as a constraint metadata repository and query API. This work is being conducted as part of JSR 303 under the Java Community Process Program. This
オブジェクト指向プログラミングの考え方については、今までこのブログでも何度か取り上げてきました。 [オブジェクト指向] - 達人プログラマーを目指して オブジェクト指向プログラミングはプログラミング技法のすべてではないとはいえ、Javaのようなオブジェクト指向言語で本格的なプログラムを作るには理解を避けて通ることができませんし、また、関数型言語など他のパラダイムの言語を利用するにしても、オブジェクト指向の考え方をまったく理解しないまま使いこなすということは困難でしょう。オブジェクト指向の考え方はデータ構造やアルゴリズムといったことと同様に、プロフェッショナルなプログラマーが理解しておくべき基本的な素養といってもよいと思います。実際、海外では募集要項でオブジェクト指向の理解を前提とすると書かれていることが普通ですし、プログラマーの面接試験で、アルゴリズムと並んでオブジェクト指向プログラミング
Servlet 3.0 File Upload 機能 2010年3月11日 at 10:33 午後 3件のコメント Servlet 3.0 ではマルチパートデータを扱う事ができるようになったため、とても簡単にファイルアップロード機能を実現できます。 (表示用 HTML) <html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> <title>JSP Page</title> </head> <body> <FORM action=”/FileUpload/MyFileUpload” enctype=”multipart/form-data” method=”POST”> アップロードするファイル名: <INPUT type=”file” name=”content”> <INPUT t
実装する仕様は、以下のバージョンにアップデートされました。 Servlet 2.5⇒Servlet 3.0 JSP 2.1⇒JSP 2.2 EL 2.1⇒EL 2.2 本連載では3回の連載を通して、Tomcatの最新メジャーバージョンであるTomcat 7について説明します。第1回目と第2回目でServlet 3.0を紹介し、第3回目でTomcat独自の新機能を紹介する予定です。 Servlet 3.0における6つの主な変更点 第1回目となる今回は、Tomcat 7が実装したServlet 3.0について説明します。Servlet 3.0とはJSR-315のことを指します。Tomcatは、このJSR-315仕様を実装しています。 Servlet 3.0では、Servlet 2.5に対して主に、次のような仕様変更を導入しました。 Ease of Development(EoD、開発容易性)
ちょっとした Java のライブラリ使うサーバ書かなきゃいけなかったのですが、 折角なので、Servlet 3.0 で書いてみたら鼻血が出るほど簡単で、今まで web.xml とか書いてたのはなんだったんだ状態になったので、 超シンプルなサンプル書いてみました。 package org.yoshiori; import java.io.IOException; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.H
サーブレット3.0仕様書邦訳版 2010年5月 邦訳(ODF)のダウンロードはここから PDF版のダウンロードはここから サーブレット3.0とTomcat 7のチュートリアルはここから このファイルはOpenOfficeのODTフォーマットであり、OpenOffice WriterまたはMicrosoft Office Word 2007以降で読むことができる。Internet Explorerでうまくダウンロード出来ないときは(ファイル拡張子が.zipとなったときは、これを元に戻す必要がある)、FirefoxやChromeなどのブラウザを使用をお勧めする。OpenOfficeはここからダウンロードできる。Writerを使うときは下図のようにナビゲータを左枠にはめ込むと、見たい章、節、図表を簡単に開くのにWordの見出しマップと同じ使い方ができる。 仕様書をアプリケーションの開発者が読むこ
その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。 ところでアプリケーション作っててValidationの仕組みって毎回悩みませんか?私がJavaでWebアプリケーションつくりはじめた頃なんかだとStruts1.xが全盛期でvalidation.xml、validation-rule.xmlとか使って書いてましたが(今考えれば二度とやりたくないですねw)、今でも毎回どのチェックをどのレイヤ(アプリケーションレイヤ?ドメインレイヤ?)に持たせるかとか、データストアに問い合わせしないといけないValidationって画面の入力だけでチェックできるのとどう管理しようかなとか、色々と悩むこともしばしばです。最近D
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く