Java Is the Language of Possibilities Java is powering the innovation behind our digital world. Harness this potential with Java resources for student coders, hobbyists, developers, and IT leaders.
Groovyで作ったTwitterクライアントだって。 Twitter4J使わないで直接Twitter API呼んでたり,SwingBuilderの使い方とかいろいろ勉強になる。 ちなみに,要Groovy1.6。やたら多用している @Bindableアノテーションについては,こちらが詳しい。 →Groovy 1.6-beta-1 - uehaj's blog 元ネタはこちら。→Google グループ #って,読めません。:-P public class RethrowDemo { public static void main(String[] args) { RethrowDemo demo = new RethrowDemo(); try { demo.someMethod(); } catch (Exception t) { System.out.println("t.getClas
動作環境 このページでは以下の環境での動作を説明しています。 J2SDK 5.0 Update8 xalan 2.7.0 DOMの作成 出力対象のDOMオブジェクトを作成します。 Document document = DocumentBuilderFactory.newInstance() .newDocumentBuilder() .newDocument(); Element elementEmployers = document.createElement("employers"); Element elementEmployer = document.createElement("employer"); Element elementEmployerName = document.createElement("name"); Text txtEmployerNa
多くの人はこうやればいいと思っているかもしれません。 java.util.Date d = new java.util.Date(); java.sql.Date d2 = new java.sql.Date(d.getTime());確かにこれでも一応変換はできますが、きちんと変換してはいません。java.sql.DateのJavadocを見るとこう書いてあります。 SQL DATE の定義に対応させるために、java.sql.Date のインスタンスでラップされたミリ秒の値は、インスタンスが関連した特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定することで、「標準化」する必要があります。 つまり、java.util.Date#getTime()をjava.sql.Dateにただ渡すだけでは不十分で、「特定のタイムゾーンで時間、分、秒、ミリ秒をゼロに設定しなければいけない」のです。そ
最新版のSeasar2とS2JDBC-Genによって、タイプセーフなデータベースプログラミングが可能になっています。それをHibernateと比較しながら見ていきましょう。 Hibernateの元ネタはこちら。 Hibernate 入門記 クリテリア 最初は単純なLikeを使う例。 Hibernateはこうなります。Expression.*をstaticインポートしています。 session.createCriteria(Model.class) .add(like("name.firstName", "Yu%")) .list();これまでのS2JDBCだとこんな感じ。 jdbcManager.from(Model.class) .where("name.firstName like ?", "Yu%") .getResultList()S2JDBCのタイプセーフな書き方だととこうなりま
はじめに - Java 6におけるスレッドの最適化 Sun、 IBM、BEAやその他のJVMベンダーが、それぞれのJava 6仮想マシンが提供するロック管理と同期の最適化に多くの注意を払ってきました。バイアスドロック、ロックの粗粒度化、エスケープ解析によるロックの削除、適応型スピンロックといった機能は、すべてアプリケーションのスレッド間でより効果的なオブジェクト共有を可能にし、並列性をより高めるために設計されたものです。こうした個々の機能は洗練されており、興味深いものですが、疑問があります;本当にこうした約束を果たしてくれているのでしょうか?2つのパートからなるこの記事では、私はこうした機能を詳しく調査します。シングルスレッドベンチマークの助けを借りて、パフォーマンスに関する疑問に答える試みをしようと思います。 ロックは悲観的である Java でサポートされているロックの(ほとんどのスレッ
こちらを参考にさせて頂いた。 SMG >> Java トラブルシューティング >> コラム: Java Web Startのリモートデバッグ java web start自体はコードベースからアプリケーションを起動するjnlpランチャでしかないため、java web start経由で起動されたアプリケーションをデバッグするためには、デバッグ用のパラメタを起動するアプリケーションに引き渡す必要がある。(そのためにjnlpx.vmargsパラメタを使用する) 起動用コマンド %JAVA_HOME%\bin\javaw.exe -Xbootclasspath/a:%JAVA_HOME%\jre\lib\javaws.jar;%JAVA_HOME%\jre\lib\deploy.jar -Djnlpx.home=%JAVA_HOME%\jre\bin -Djnlp.jvm=%JAVA_HOME%\
コンストラクタ引数が嫌いです。 わがままかもしれませんが、コンストラクタ引数が好きになれません。 Java APIでコンストラクタ引数が必要なものは別に嫌いではないです。それは何故かと考えてみたのですが、Java APIで定義されていクラスはプログラムを書く上で基本になるからなのでしょう。 自分で作成するクラスでコンストラクタ引数がでてくるとそのクラスが疑わしくなります。 おそらく、コンストラクタ引数がなにかと想像できないようなクラスを作ってしまうからなのでしょうか。 嫌いだと強く思うコンストラクタ引数は、2つ以上の引数をもつものがおおいようです。 コンストラクタを利用する際に、その使い方を思い出さないといけない場合は悲しくなります。 コンストラクタ引数の意味が直感的に思い出せないような設計になるとため息をつきながAPIを 調べます。 例えば、 A(Object object, int a
コメントと制御文でJavaプログラムに“命”を吹き込め!:携帯アプリを作って学ぶJava文法の基礎(4)(1/3 ページ) 前回の「“たい焼き”であま〜く理解するJava文法と言語仕様」では、クラス、フィールド、メソッドを学習しました。そして、メソッドがJavaプログラムを動かすための処理であることも覚えてもらったと思います。 今回からはメソッドの内部に踏み込み、Javaの必須知識を習得しつつ、ケータイ(本連載では、携帯電話/PHS/スマートフォンなどの端末をまとめて「ケータイ」と表記します)Javaのポイントも押さえていきます。 「コメント」を付けることは初心者にとっても大事 今回の本題に入る前に、小さいけれど大事な「コメント」について説明します。コメントというのは、ソースコードにメモや説明などを書くために用意されている機能です。Javaには3種類のコメント形式が用意されています。 コメ
いろんな方々のブログから集めてまとめた、型推論を使ったUtilsクラスです。結構便利です。Java 5で導入された型推論を使っています。Java 7で型推論をさらに強化するという案もあるそうですね。 (2008/4/15 追記)set() を map() と同じインターフェイスにしていたのですが、list() と同じインターフェイスで良いので修正しました。まぁ、Set に一度に2個以上挿入する機会は少ないからなぁ。 (追記2)http://d.hatena.ne.jp/amachang/20080415/1208229209 amachang に記事を紹介してもらった!cast()はよそのメソッドの引数に対しては使えません。amachang のブログのコメント欄をご覧ください。 (2008/4/17 追記3)array() を追加。 まず、使い方。 import static com.ex
お奨め本リスト*1と対をなす,非お勧め版の入門書・参考書リスト.*2 あくまで『非』お勧めの、駄本、屑本リストである点に注意。しかし皮肉な話だが,初心者を惑わす入門書を避けるためにも要チェックだろう. 主に「何故か有名だけど悪い本」を取り上げる予定.「無名だけど悪い本」はきりがないので,ここではパス.結果として持ってない本が中心になるので詳細について触れるつもりはない.*3 「オブジェクト指向本」 実は「オブジェクト指向」というのは,あまり専門的な用語ではない.*4オブジェクト指向プログラミング(OOP),オブジェクト指向設計(OOD),オブジェクト指向分析(OOA)などと,きちんと区別すべきだ.ただ口頭で話す時は「オブジェクト指向プログラミング」と言うのは冗長だしOOPと言っても理解してもらえない.しかたがないので省略して「オブジェクト指向」と言う時も少なくない. ここで挙げるのは「いわ
序説 ドメイン特化言語(DSL)は一般に、特定の種類の問題を対象としたコンピュータ言語といわれ、ドメイン外での問題解決は意図していません。DSLは何年もかけて正式に研究されてきました。しかし最近まで、最も読みやすく、簡潔な方法で単に問題解決を図ろうとしていたプログラマーが、幸運にも偶然プログラムに書き込んでいたのが言語内DSLです。Rubyや他の動的言語の到来により、最近ではプログラマーの間でDSLに対する興味が増大しています。こうした緩い構造の言語は、最小限の文法が許容されるDSLへのアプローチを提供し、そのため、特定の言語の最も直接的な表現として現れます。しかしながら、コンパイラと、Eclipseなどの最強かつ近代的なIDEの利用能力を放棄してしまうことは、このアプローチの明らかな欠点であります。著者はこの2つのアプローチの妥協策に成功し、Javaのような構造化言語で、DSLの方向から
最近Hadoopを使うために5〜6年ぶりにJavaをいじっています。 そんで、ちょっとばかり耐えがたいわけです。 例えばありがちな例題を挙げると、 ["google", "検索","開発"] のようなタグ(文字列)のリスト(でも配列でもなんでもいい)を受け取って [ {tag=>"google", enc=>'google'}, {tag=>"検索", enc=>'%E6%A4%9C%E7%B4%A2'}, {tag=>"開発", enc=>'%E9%96%8B%E7%99%BA'} ] のようなハッシュテーブルのリストに変換しなさい。 ただしパーセントエンコーディングを行う関数(でもメソッドでもなんでもいい) uri_encodingは与えられているものとする。 こんなこと、Webアプリケーションではよくやるじゃないですか。 んで、実際Perlなんかでは結構簡単に書けて #my @tag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く