タグ

javaに関するpentasaのブックマーク (28)

  • 「Google Collections Library」でJavaのコレクションを補完する:CodeZine

    はじめに 何年も前のことですが、私が初めてJavaに興味を覚えた理由の1つは、Javaプラットフォームに標準でコレクションライブラリが組み込まれていたからでした。当時、C++の世界ではまだSTL(Standard Template Library)が定着しておらず、開発者たちは適当なコレクションライブラリを購入して利用するか(Rogue Waveが流行っていました)、自分の手でライブラリを書くしかありませんでした。正確な数は忘れましたが、私自身も、さまざまな目的でさまざまな種類のプリミティブやオブジェクトの連結リストを実装しました。さらに、もっと複雑なコレクションや平衡2分探索木、ハッシュテーブルなども自分で実装しました。そのようにしてソフトウェア工学の原理を絶えず意識することは決して無駄なことでありませんでしたが、生産性を考えるとそうとばかりも言えませんでした。 しかし、Javaによって

    pentasa
    pentasa 2008/04/21
    これ凄いよ。マジ便利になるな
  • Java To ActionScript 3 Converter

    Java To ActionScript 3 Converterパッケージ定義、メソッド定義、変数定義、キャストなど手作業で書き変えていくと、うんざりする作業を補助します。 Javaソースの解釈は、Java1.5のコンパイラの機能を使っているので、入り組んだキャストなどは問題なく解釈できます。 吸収できない文法の違い(匿名クラスなど)、APIなどについては、Javaのまま書き出しますので、手作業での修正をお願いいたします。 単純に文法の違いを変換するだけのツールですので、過度の期待はせずに使ってください。 例)

    pentasa
    pentasa 2008/03/27
    こういうのはいつも期待外れなんだが、これはどの程度までいけるのかな
  • Javaでコンパイラの基礎を理解する

    そもそもコンパイラの中ってどうなっているの? Javaでコンパイラの基礎を理解する(1) 普段、なにげなく使っているコンパイラ。中身を理解すると、プログラミングへの意識が変わり、技術力もつきます! 開発者必見です

    pentasa
    pentasa 2008/02/27
    何事も基礎重要。ブラックボックスをなくすことで理解が深まるからね。
  • Strutsをなめんな - ひがやすを blog

    リリースノートはこちら Bug [SASTRUTS-18] - ArrayWrapperでListを実装するようにしました [SASTRUTS-20] - ActionからActionへ遷移できない問題を修正しました Improvement [SASTRUTS-19] - ActionのプロパティがMapの場合も扱えるようにしました ダウンロードはこちら http://sastruts.seasar.org/download.html このバージョンから、チュートリアルに、ResourceSynchronizerプラグインを使ったリッチなエラーページをつけました。ResourceSynchronizerを超ざっくり説明すると、ブラウザからEclipseを操作するプラグインです。 チュートリアルのリッチなエラーページをクリックすると、Ext.jsで作ったリッチなエラーページが表示されます。ス

    Strutsをなめんな - ひがやすを blog
    pentasa
    pentasa 2008/02/15
    最近のひがさん好きだ。
  • JavaとAction ScriptにおけるString型の違い - 出羽ブログ

    昨日、「Flex入門」という社内勉強会の資料を公開 したことろ、いろいろとフィードバックを頂きました。 > フィードバック有難うございます。 Flex入門 http://d.hatena.ne.jp/dewa/20080124#1201162231 スライドの15ページ目に 「JavaではString型はオブジェクト型なので挙動が異なる。」 という箇所に id:cero-t さんから 『Stringの挙動、Javaと変わらなくないですか?』という ツッコミが入る。 コードを書いて確認してみると、確かに挙動は変らない。 なんでだろう? JavaのString型はクラス(オブジェクト)、 Action ScriptのString型はプリミティブ型。 この違いのため、JavaとAction Scriptで 代入に関する同様の操作をしたところ、 結果が異なることを予想していました。 しかし、実際に

    JavaとAction ScriptにおけるString型の違い - 出羽ブログ
    pentasa
    pentasa 2008/01/26
    ほほ~ActionScriptはそんなつくりになってたのか。
  • RMIでいいじゃないか - Kazzz's diary

    ここで何度も採り上げてきた話題として、複数のクライアントアプリケーション間でオブジェクトを共有するという要件があった。C#では.NET Remotingで書いていた機能をJavaでどう実現するかというのが肝だった。 以前には同様にRMIで実装するつもりでいたが、いろいろと問題があると思いこみ、 クライアントデータ(オブジェクト)の共有 Javaには元々RMIという立派な仕組みがあるんだが、rmiregistryというリポジトリの常駐が必要なこと、(対して.NET Remotingは特別なインフラやリポジトリは必要とせずに配置されたオブジェクトは生き続けることができる)いちいちrmicによりスタブ・スケルトン(スケルトンは1.2の時点で不要になった)のコンパイルが必要なことは、10年前であれば我慢できたが今となっては使いたくないのが音だ。※ 〜中略〜 ※J2SE5以降はスタブの生成も不要に

    RMIでいいじゃないか - Kazzz's diary
    pentasa
    pentasa 2008/01/23
    なるほど。覚えておこう
  • Java Mozilla Html Parser登場、ブラウザと同じクオリティを実現 | エンタープライズ | マイコミジャーナル

    21日(米国時間)、Java Mozilla Html Parserの最新版となるJava Mozilla Html Parser 0.2.0が公開された。Java Mozilla Html ParserはHTMLデータをパースしてJavaドキュメントオブジェクトに変換するためのパッケージ。Mozillaで採用されているHTML Parserに対するラッパパッケージになっており、Webブラウザと同じクオリティレベルでのパースが可能という特徴がある。 0.2.0はパフォーマンスの改善が実施されているほか、エンコーディング関連のバグが修正されている。Java Mozilla Html ParserはもともとDapperにおける開発の一部として取り組まれたもの。ラッパライブラリでありすべてJavaで開発されたわけではないのでビルドやデプロイは若干手間だが、WindowsLinuxMac OS

    pentasa
    pentasa 2008/01/23
    用途が思いつかないところがいい。
  • MySQLがSUNに10億ドルで買収されました

    MySQLといえば、mixiや楽天Amazonなどなどの企業がネットサービスを提供するために使っているオープンソースのデータベースですが、それが買収されたとのこと。何の冗談かと思ったら当のようです。10億ドルというと、日円で約1096億円。買収したのはJavaで有名なサン・マイクロシステムズ。 詳細は以下から。 Sun to Acquire MySQL for $1 Billion - washingtonpost.com 既にSunやMySQLのブログでも報告されています。 Sun to aquire MYSQL : Solar Flare Jonathan Schwartz's Blog: Helping Dolphins Fly Sun acquires MySQL これによって、よりエンタープライズ分野におけるMySQLのシェアを上昇させるつもりらしい。また、これまでは商用デ

    MySQLがSUNに10億ドルで買収されました
    pentasa
    pentasa 2008/01/17
    マジカヨ!!!!
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992) 補足

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • http://www.asahi-net.or.jp/%257Edp8t-asm/java/tips/SpeedOptimizationByCodingIndex.html

    pentasa
    pentasa 2008/01/08
    じゃばじゃば
  • http://eclipsewiki.net/eclipse/?%A5%EA%A5%E2%A1%BC%A5%C8%A5%C7%A5%D0%A5%C3%A5%B0

  • JavaのGC頻度に惑わされた年末年始の苦いメモリ

    JavaのGC頻度に惑わされた年末年始の苦いメモリ:現場から学ぶWebアプリ開発のトラブルハック(9)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Java言語を利用するようになって、システムを開発するうえで楽になった要素は何かというアンケートがあったとき、読者の皆さんならどのように回答するだろうか。私は迷わず、「メモリ管理」と回答する。 同時に、Javaを利用してシステム開発を行う際に、注意していること、悩まされたことは何かとアンケートがあれば、「GC(ガベージ・コレクション)」と回答するだろう。 多くのシステム開発の現場では、いまこの瞬間も、JavaのGCの挙動に悩まされ、GC

    JavaのGC頻度に惑わされた年末年始の苦いメモリ
  • Javaにおける疑似Map生成リテラル({ key => value }ばりに簡単にMapを生成する方法) - 矢野勉のはてな日記

    Javajava-ja@lingrのログを見ていたら、なにやらキーワード引数の話から、マップをサクっと作れないと「流れるようなインターフェース」が作りにくいとかそんな話になってて、「せめてMapのリテラルさえあれば…」とかいう話に行っていました(敷居が高かったので、下に紹介するブログのURLを貼って逃げた(笑))。 JavaMap生成リテラルが欲しい!という話は結構昔からぽろぽろ出てますよね。たしかにMapがささっと作れるのと作れないのとではMapを使う時のモチベーションが違う。気軽に使えない。 国内はもちろん海外のブログでもそういう話題は上がってまして、私のお気に入りは、odz bufferさんにて紹介されてた、このNicolas Lehuen氏のアイデアです。このアイデアを使うと、下記のようにBuilderみたいに簡単にHashMapを生成できます。 // Example usage

    pentasa
    pentasa 2007/11/24
    Map の簡易初期化
  • ジェネリクスでユーティリティ - ぐるぐる~

    Javaの理論と実践: 疑似typedefアンチパターン ちょっと古めの記事だけど役に立つ内容なので紹介。「継承を使って疑似的にtypedefのようなものは実現できるけど、ぜんぜん駄目だから使うな」って話。で、それだけじゃなくて型推論を活用して、安全にタイプ量を減らす方法も載っていて、今回はそれをちょびっと発展させてみる。 public static <K, V> Map<K, V> newHashMap() { return new HashMap<K, V>(); } 安全なトリック Javaでは戻り値が代入される変数の型によっても推論が働くから、これを使うと、 Map<String, Integer> m = newHashMap(); のように、型を一回指定するだけでいい。これはこれで便利だけど、同時に値も指定できたら便利だと思いません? てことで実装例*1。 public cla

    ジェネリクスでユーティリティ - ぐるぐる~
    pentasa
    pentasa 2007/11/24
    Map の簡易初期化
  • Map の簡易初期化 #2 - odz buffer

    Mapの簡易初期化」の別解。 Nicolas さんが Builder パターンでやっていたりしてそれはそれでいいのだけれども、以下の様なのを思いついた。 package collections; import java.util.HashMap; import java.util.Map; public class MapBuilder { private static class Entry<K, V> implements Map.Entry<K, V> { private K key; private V value; public Entry(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return v

    Map の簡易初期化 #2 - odz buffer
    pentasa
    pentasa 2007/11/24
  • Genericなリストの簡略記法

    Onion開発日記は、はてなダイアリーに移行しました(URL:http://d.hatena.ne.jp/kmizushima/)。Onion開発日記のデータについては、随時移行していきたいと考えています。 よろしくお願いします(2008年5月4日)。

    pentasa
    pentasa 2007/11/24
    簡単なMapの生成方法
  • Seasar2 - ソースリポジトリ

    匿名アクセス 匿名チェックアウトに関するより詳しい情報は使用しているソース管理システムの文書を参照してください。接続 URL は以下の通りです。

    pentasa
    pentasa 2007/11/12
    シーサーソース
  • ディベート: 何故ほとんどの大規模webサイトはJavaで構築されないのか?

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    ディベート: 何故ほとんどの大規模webサイトはJavaで構築されないのか?
    pentasa
    pentasa 2007/11/01
    Javaじゃだめなのかなぁ
  • http://www.itarchitect.jp/technology_and_programming/-/27082-2.html

    pentasa
    pentasa 2007/11/01
    クラスローダーの仕組み。とっても大切
  • アプリケーションサーバ/コンテナ活用編・クラスローダの仕組みを知る

    Java仮想マシンの配下では、多くのクラスが複雑に(かつ密接に)絡み合い、Javaアプリケーションの動作を支えています。しかし、複数のアプリケーションを利用しているうちに、相互のアプリケーション間で、同名でバージョンだけが異なるクラス(ライブラリ)が必要になったとしたらどうなるでしょう? しかも、そのクラスライブラリには、バージョン間の上位/下位互換性がないとしたら、どうしたらよいでしょうか。 このように、バージョンアップしなければアプリケーションBが動かない、バージョンアップすればアプリケーションAが正常に動かなくなってしまうというケースは、多くのアプリケーションが並存するサーバ上においては、大いにあり得ることです。 そこで、Tomcatのようなコンテナでは、複数のクラスローダに階層関係を持たせることで、個々のクラス(ライブラリ)の独立性を保証しています。クラスローダとは、その名のとおり

    アプリケーションサーバ/コンテナ活用編・クラスローダの仕組みを知る
    pentasa
    pentasa 2007/11/01
    クラスローダーの仕組み