タグ

関連タグで絞り込む (231)

タグの絞り込みを解除

Javaに関するEhrenのブックマーク (530)

  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • はてなブログ | 無料ブログを作成しよう

    2025年8月台湾・高雄ってまじいいんだよな~女一匹14日間(ちょっとだけ台中女二匹)記 みんな~~~~~~~!先に言うけど高雄は最高!!!!!!!!! 可愛いアイスクリームも「そうだ そうだ」と言っています 台湾自体は何度も行ったことがあるんだけど、高雄は2度目です。 去年夏休みに初めて10日滞在してめちゃくちゃ好きになってしまったので、今年…

    はてなブログ | 無料ブログを作成しよう
    Ehren
    Ehren 2011/06/08
  • Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework

    Java SE 7徹底理解の2回目である今月は、並行処理のフレームワークについて紹介していきます。 Javaは1.0がリリースされた当初から、スレッドを使用することができました。筆者もJava 1.0で簡単にスレッドが使えることに感動したことを覚えています。 しかし、スレッドを安易に使ってしまうと、デッドロックやデータの破壊を引き起こしかねません。スレッドクラスは簡単に使えるものの、使いこなすには並列/並行処理についての適切な知識を必要としたのです。 そこで、より簡単に並列/並行処理を使うためのフレームワークであるConcurrency UtilitiesがJ2SE 5.0で導入されました。 Concurrency Utilitiesは非同期処理APIや、スレッドセーフで高性能な並行コレクション、ラッチやセマフォなどのロック機構、アトミック処理など並列/並行処理のためのさまざまな機能が含ま

    Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework
  • オラクル、Java仮想マシン「JRockit」を無償公開

    米オラクルは18日(現地時間)、Java仮想マシン(JVM)「JRockit」を無償で公開すると発表した。同社は今回の無償公開によって、より多くのユーザーからのフィードバックを集め、将来リリースされるJDKに反映したい、としている。 「JRockit」は、かつてBEAシステムズがインテルと共同開発したJVMで、インテルCPUにおいて高いパフォーマンスを発揮する。すでに、オラクルはかつてのサン・マイクロシステムズによるJVM「Hotspot」を所有しており、将来的には「JRockit」と「Hotspot」との統合を行う予定であるという。 なお、「JRockit」のソースコードは公開されない。同社は、将来的に「OpenJDK」において、「JRockit」と「Hotspot」が統合されたJVMのソースコードを公開する方針である。 【関連リンク】 ・オラクル ・Oracle JRockit JVM

    オラクル、Java仮想マシン「JRockit」を無償公開
    Ehren
    Ehren 2011/05/23
  • SoftReference と WeakReference と PhantomReference - kagamihogeの日記

    最近加わったように見せて実はすごい昔から存在している java.lang.ref.Reference とその実装クラスである PhantomReference, SoftReference, WeakReference の 3 つ。今日はこいつらの動作について軽く見ていく。 ただその前に。java6 の幾つからかはシランけど jvisualvm なる jvm の挙動を GUI で見れるツールが提供されている。 とりあえず、下記の何の意味も無いコードを走らせたときの jvisualvm の挙動はこんな感じ。 long c = 0; List<BigDecimal> list = new ArrayList<BigDecimal>(); while (true) { Random r = new Random(); long l = r.nextLong(); list.add(new Big

    SoftReference と WeakReference と PhantomReference - kagamihogeの日記
    Ehren
    Ehren 2011/05/20
  • 「JSPでXMLを出力」(1) Java Solution - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR

    Ehren
    Ehren 2011/05/18
    jspでのajaxの実装
  • Fedora 14でOpenJDKをビルドする - nekop's blog

    さて、第1回JVMソースコードリーディングの会(OpenJDK6)もあることですし、OpenJDKのソースに手を入れたりコンパイルオプションとか変えてビルドしたいなぁ、とか思いますよね。というわけで一つOpenJDKビルド用サンドボックスとなるFedora 14環境を用意してOpenJDK 6をビルドしてみましょう。 Fedora 14が無い人はFedoraのサイトからLive isoイメージダウンロードして(torrentが利用できる人はtorrent使った方がダウンロード早いです)、仮想環境とか一個作って入れれば良いです。仮想環境では1.2GBほどのメモリと20GBほどのディスクを用意してください。インストールしたらsu -してvisudoで自分のユーザからsudoを発行できるようにしましょう。サンドボックス環境なのでNOPASSWD指定で良いと思います。 Fedora 14がインスト

    Fedora 14でOpenJDKをビルドする - nekop's blog
    Ehren
    Ehren 2011/05/18
  • Nailgun/GroovyServを使ってClojureの起動を高速化する - Homoiconic Days

    JVM上で動作する言語(処理系)にはよくある話だけれど,Clojureの起動は遅い。下の結果は手元の環境で実行した場合の例。 $ repeat 5 time java clojure.main -e '(println "Hello, Clojure!")' Hello, Clojure! java clojure.main -e '(println "Hello, Clojure!")' 2.31s user 0.17s system 131% cpu 1.885 total Hello, Clojure! java clojure.main -e '(println "Hello, Clojure!")' 2.31s user 0.17s system 131% cpu 1.891 total Hello, Clojure! java clojure.main -e '(println

  • Java書籍の選び方 - torutkの日記

    ソフトウェア開発プロジェクトに加わるプログラマーは、必ずしも全員が使用するプログラミング言語に習熟しているわけではないのが発端です。 Javaプログラミングに習熟する一環として、専門書籍を読んで学ぶことになりますが、その際どんなを薦めるかは常に悩みます。 Javaの場合、プログラミング言語の中では出版されている書籍の数が多く、目を通していないものが大半 読む人の習熟度によって、適する書籍の難易度が異なる 習熟度は、最近読んだ書籍「リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法」で紹介されているドレイファスモデルで分類するとよさそうです。ドレイファスモデルは、技能モデルを5段階でモデル化しています*1。 以下に、ドレイファスモデルの技能レベルと、Javaプログラミング技能においてそのレベルで読みこなし自分に取り込むことを目標としたい書籍を記載します。 レベル 名称 こ

    Java書籍の選び方 - torutkの日記
    Ehren
    Ehren 2011/05/13
  • Eclipse のコード補完 (Complete) で java.awt.List とかを補完候補から除外したい場合の設定 - Yamashiro0217の日記

    java.util.List が使いたいのに、「List」で eclipse で Ctrl+Space して補完しようとした時に、java.awt.List が出て来てお困りの Java プログラマーの皆様ごきげんよう。 そして、僕はつい最近、WicketというWebフレームワークの勉強をしていて、wicketのTextFieldが使いたいのに、java.awt.TextFieldが出て来てしまうというのにお困りでした。 java.awt.* 以下なんてSwingプログラマーでもなければ使いませんし、Swingプログラマーでも補完対象にならなくていいですよね(言い過ぎ)。 Preference(設定) の [Java]-[Appearance]-[Type Filters]から設定でができます。 設定画面で[Add]を押して[java.awt.*]などと打つだけ。 [Type Filter

    Eclipse のコード補完 (Complete) で java.awt.List とかを補完候補から除外したい場合の設定 - Yamashiro0217の日記
  • Wicketでサーバ側プログラムにJavascriptから要求を投げる - 矢野勉のはてな日記

    Wicket, Java, メモすぐ忘れるので自分用メモ。Wicketで、クライアント側でJavascriptを使って、Wicketのサーバ側Javaプログラムに制御を渡したいことがあります。AjaxLinkとか使えないケース。その場合にどうするか。 AjaxEventBehaviorを貼り付ける。AjaxEventBehaviorは onclick のようなハンドラ名を取りますが、ここはなんでも入れられるので「myaction」とか適当に入れます。 add(new HeaderContributor(new IHeaderContributor())) して、IHeaderResponse#renderOnDomReadyJavascript() を使って DomReady イベントにJavascriptを貼り付ける。貼り付けるコードは次のような感じ(jQueryを使う場合)。 "jQu

  • Next step on the road... : On a New Road

    Through some odd twists in the road over the past year, and a tardis encountered along the way, I find myself starting employment at Google today. One of the toughest things about life is making choices. I had a hard time saying "no" to a bunch of other excellent possibilities. I find it odd that this time I'm taking the road more travelled by, but it looks like interesting fun with huge leverage.

    Ehren
    Ehren 2011/03/29
  • Mixer2 – Beyond the JSP

    Introduction For example, EC site that has multi tenant shopping mall or blog service site shuld have differrent design for each tenant/user but the functionality should be same. Or, for one site and one owner, but there is some request to continue changing web design for reason of marketing. Traditional approach of template engine such as JSP or velocity force you to write complex template that h

  • Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して

    Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションAPIの先祖はJava1.xのころから存在しており、フィールド、メソッド、クラスなどの情報を実行時に取得するためのものですが、総称型に合わせてJava5から新しいAPIが追加されています。ここではリフレクションAPIを使い、Java5の新しい型システムについてまとめてみたいと思います。 JDK1.4までの型はすべてClassクラスのインスタンスに一対一対応する JDK1.4までに存在していた型はパターンに分けると以下の3通りに分類できます。 基型(i

    Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して
  • James Gosling Interview about Java - atsuoishimoto's diary

    2011年1月1日に、IEEEの "Computer"マガジンは James Gosling にインタビューを行った。インタビュアーは、Gosling が作った言語(訳注:もちろんJavaのこと)を用いてのオブジェクト指向デザインに関して、この21年間を回顧するインタビューが取れるものと思っていた。しかし、インタビューが進むに連れ、もともと取材しようとしてたものよりも衝撃的な記事を得ることになった。その後、業界への衝撃が強すぎるとして、 編集者はその取材記事をボツにしたが、 こういうものには情報のリークが付き物である。 以下、インタビューの生の記録をお届けする。編集を行っておらず、またぶっつけ番であるため、原稿のあるインタビューのようにはきちんとしていないが、きっと読者は興味を感じてくれるものと思う… 尚、このインタビューの背景を正しく理解するために、同じインタビュアーによる Bjarn

    James Gosling Interview about Java - atsuoishimoto's diary
  • [Java]Java 59 bytes FizzBuzz - terazzoの日記

    お題: Java 30byte FizzBuzz - プログラマーの脳みそ ぎ「FizzBuzzが110文字で書けるなら、1文字2bitの文字コードで記述すれば220bitで記述できる。byteに直すと28byteになる」 な「無茶言うなあ」 せ「だいたい、1文字2bitじゃ文字が4種類しか扱えないじゃない」 じゃあ、まじめに「1文字単位でちゃんと符号化できる」という縛りなら、実際何bitならFizzBuzzが記述できるかやってみた。 方針 まず、FizzBuzz自体をなるべく短くする。 ↓ 使用されている文字の種類を少なくする。 ↓ ソースがなるべく短くなる符号化の方法を作る。 ↓ 文字コード作成。 結果 FizzBuzz(97文字)は35種類の文字で書けて、上手く符号化すると59バイトになるよ。 daphne:FizzBuzz terazzo$ ls -l src/z.java -rw

    [Java]Java 59 bytes FizzBuzz - terazzoの日記
    Ehren
    Ehren 2011/02/28
  • JDKの時間計測まわりのコードを読んでみる - 虎塚

    ぐぬぬ。。。せっかくのご指名ですが。。。 JVMがOSごとにどの計時関数を呼び出すのかすら、自分はろくに知らないのです…無念だ。 でも、「ネタを振られたら全力で撃ち返せ」ってじっちゃが言ってた。 というわけで、最適化よりもずっと手前の話題、JVMの時間取得まわりのコードを眺めてみようと思います。 Systemクラスのソースコードを見ると public static native long currentTimeMillis(); と、native宣言されている。ここから先はネイティブの世界。VMの実装依存の世界でもある。 Javaパフォーマンス計測 そんなタイマーで大丈夫か? - プログラマーの脳みそ そですね。では、その世界を確認してみましょう。 ゴール Javaで時間計測を行った時に各OSで最終的に呼ばれるAPIとその精度について、JDKのソースコードおよびドキュメントを元に把握する。

    JDKの時間計測まわりのコードを読んでみる - 虎塚
    Ehren
    Ehren 2011/02/28
  • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

    Java: The Good Partsののタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

    業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
  • 転送中

    リダイレクトします 以前ここにあったブログは、現在 http://www.bobhancock.org/2011/02/performance-of-cpython-pypy-java-and-go.html にあります。 リダイレクトしますか。

  • 意図に関係する大事なことがら - かとじゅんの技術日誌

    最近、DDDの"意図の明白なインタフェース"というパターンの章を読みなおしています。このパターンが一環して主張していることは"名前が重要"ということです。その名前の重要性について、いろいろな文献からの引用を用いて考えてみたいと思います。 名前重要 "名前が重要"といえば、「プログラマが知るべき97のこと」で、まつもと ゆきひろ氏が 「名前重要」というタイトルで名前の重要性について語っています。 適切な名前をつけられると言うことは、その機能が正しく理解されて、設計されているということで、逆にふさわしい名前がつけられないということは、その機能が果たすべき役割を設計者自身も十分に理解できていないということではないでしょうか。 名前が設計と強く結び付いていることがわかる、深イイ言葉です。 名前の決定が難航すると「えぃ、面倒だから適当に名前を付けてしまえ」となりがちです。油断すると結構適当になるもん

    意図に関係する大事なことがら - かとじゅんの技術日誌