タグ

Javaに関するgfxのブックマーク (182)

  • 現場で使えるJavaライブラリ - たけぞう瀕死ブログ

    昨年の10月頃からオープンソースの様々なJavaライブラリの中から定番のライブラリを紹介するを執筆しています。今は最終校正をしていて、7月の中頃に発売になる予定です。これ以前DBマガジンさんでやらせていただいていた連載(DBマガジンが休刊してしまったので3回で終了してしまいましたが)の企画をベースに書籍化したものです。 開発ツールやフレームワークって定番のものがはっきりしてますし、やWebでもまとまった情報を得やすいと思うのですが、ライブラリってずっとJavaをやってきた人たちにとってはどういうライブラリがあって何が定番なのかを把握できていると思うのですが、これからJavaに触る人にとっては数が多すぎてどれを使えばいいのかわかりにくいのではないかと思います。 この(というか、ベースになった連載)の企画はそういう場合の手引きとして使ってもらえたら、というところから出発しました。また、ラ

    現場で使えるJavaライブラリ - たけぞう瀕死ブログ
    gfx
    gfx 2011/07/18
  • Home – Apache Commons BCEL

    Commons BCEL About Asking Questions Release History Issue Tracking Dependency Management Sources Security License Code of Conduct Download Javadoc Javadoc Current Javadoc Archive Manual Introduction The JVM The BCEL API Application areas Appendix FAQ Used by Project Documentation Project Information About Summary Team Source Code Management Issue Management Mailing Lists Maven Coordinates Dependen

    gfx
    gfx 2011/06/03
    The Byte Code Engineering Library
  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • Big Sky :: 最近のjavaコンパイラはconstなStringを結合して最適化...しない

    public class foo { final static String bar = "a" + "b"; public foo() { } public String bar(String baz) { return "a" + "b" + baz + "c" + "d"; } } コンパイルしてデコンパイル # javac -version javac 1.6.0_24 # javac foo.java # jad foo.class // Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) // Source File Na

    Big Sky :: 最近のjavaコンパイラはconstなStringを結合して最適化...しない
  • Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ "自称Javaプログラマを見分ける"や"問題なく答えられる"と、軽く答えるには高いハードルな気もしますけれど、今日時点の私のスナップショットとして晒しておきます。決して露悪趣味があるわけではありません。 主に業務系Webアプリケーション開発で給料貰ってるプログラマです。ホーム言語はJava*1で経験年数3年も超えてます。回答する事自体がすっごくホラーです。 質問 ==演算子とequalsメソッドの違いは何か? 文字列の連結は原則として+演算子を使ってはならない理由を説明せよ。 Listのようにジェネリクス型を使う主たる目的は何か? オブジェクトがガベージコレクション(GC)される主たる条件は何か? チェック例外と非チェック例外の違いを型と例外処理の観点で説明せよ。 フィールドのアクセス修飾子をprivateにしgett

    Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々
    gfx
    gfx 2011/03/05
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    gfx
    gfx 2011/03/05
    Javaで開発はしたことないけど5以外は回答できそう。
  • LLしかできないのに「大規模データ処理」とか最高にワロス

    1981忘年会でLL一筋な人が酔っぱらって「大規模データ処理がさ〜」なんて言うもんだから遠くで話聞いてたらお子様レベルの内容で噴飯ものだった件について書く。 LL馬鹿「この前会社に頼まれて20GBのテキストデータを処理しちゃってさ〜 まじで難儀したよ〜」 Aさん「へーそうなんすか」 LL馬鹿「でもMySQLのインデックス適切に張れば大丈夫 インデックス大事よマジで」 Aさん「あー、大事ですよねインデックス」 LL馬鹿「MatzRubyだと遅いから1.9YARVで処理したら2倍処理が速かったね YARV凄いよYARV」 Aさん「へー、そうなんですか 凄いですね」 Bさん「pythonだともっと速いっすよ!テキスト処理ならpythonいいっすよ!」 LL馬鹿「あーわかるそれ!でもインデント嫌いなんだよオレw」 Bさん「実はオレもっすw でも20GBのデータって凄いっすね 何のデータですか?」

    LLしかできないのに「大規模データ処理」とか最高にワロス
    gfx
    gfx 2011/02/14
  • HadoopがJavaではなくC/C++で実装されていたらどう違っていたか? - nokunoの日記

    Quoraでこんな質問を見つけたので適当に翻訳してみました。Would Hadoop be different if it were coded in C/C++ instead of Java? How? - Quora 回答1実際のところ難しいけど、考えてみるのは楽しいね。 実行時間は速くなると思うけど、それが決定的な違いになるかどうかはわからない。 セキュリティやいくつかの機能は実装しやすくなるかもしれない 他のプログラミング言語への対応はしやすくなる。Java/Pipes/Streamingを選ぶ代わりに、コンパイルしてリンクすればいい。 コード量は非常に大きくなる。エラーチェックのためにね。 コードベースが大きくなれば、開発スピードは遅くなる。Hadoopが今のように成長したかどうかわからない。 Pigは登場しただろうか? 私にはそうは思えない。回答2は略 回答3C/C++とJa

  • Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記

    id:ryoasaiさんと先日会社で話した内容が、「いまさらだけど、Java言語にはクロージャーがない」にまとめられたけれど、関数リテラルが利用できるという文法の話と、引数以外の外部変数(自由変数)が参照できるという機能の話が混ざっている気がします。 前者の意味では現在の Java 6 にはクロージャがないけれど、後者の意味では Java でも内部クラスで同様なことが実現できます。他の言語が内部的にクロージャをどう実現しているか詳しくは知りませんが、クロージャを導入する土台は既にあると考えています。C/C++ でクロージャを実現するよりはかなり敷居が低いかと。 「想像以上にガラパゴス化した日IT業界?」で、Groovy と Scala の比較もされているようなので、クロージャに関して、JavaScala、Groovy の違いを整理しておこうと思います。 記事で引用されている クロージ

    Re: いまさらだけど、Java言語にはクロージャーがない - Aufheben - GLAD!! の日記
  • 「AndroidにJavaコードを流用か?」の報道が出るも専門家は一蹴、しかしFUDは広まる

    結論はこうだ。「Androidに、Javaからのコード流用の疑念が提出されたが、両者のコードを比較した結果、明らかな流用は発見できなかった」。この一連の経緯を振り返ってみよう。 (記事は、ゲストブロガーのITジャーナリスト 星暁雄氏による投稿です) デコンパイルでソースを復元、比較 知的所有権問題のコンサルタントが「AndroidJavaのコードが混在か?」という内容のBlog記事を書いた。記事の内容は、ComputerWorldやEngadgetに紹介された。読んだ人は「Googleはまずい事をしでかしたものだ」との印象を持ったことだろう。Googleは、AndroidJavaの特許と著作権を侵害しているとしてOracleから訴えられている最中だからだ。だが、記事を読んだプログラマが「結論としてJavaコードの盗用の事実はない」ことを明らかにした。 火種となったのは、Florian

    「AndroidにJavaコードを流用か?」の報道が出るも専門家は一蹴、しかしFUDは広まる
  • nullという値は本当に必要か考えよう - かとじゅんの技術日誌

    今回は、nullの扱いは気をつけようねというお話。特にこれからの人に読んでもらいたい。 nullは変数を初期化する時などに、当たり前のように登場します。Javaではnullがないなんて考えられないわけです。(C#でも同様) しかし、nullの考案者のTony Hoareは「10億ドル単位の過ち」と発言しています。 null参照の考案は10億ドル単位の過ち?(スラッシュドット・ジャパン) - エキサイトニュース nullには、それだけの魔性があって使い方を考える必要があります。nullは”値が存在しない”という状態を表現する時に使われることが多いのですが、そのnullに対する注意が十分に払えずにトラブってしまうことが多いのです。Scalaではその"値が存在しない"という状態をOption型のNoneで表現することでnullを回避する手段が提供されています。JavaではScalaのようにはでき

    nullという値は本当に必要か考えよう - かとじゅんの技術日誌
  • JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記

    JavaScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ

    JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記
  • Java Advent Calendar jp 2010

    Java.jp.2010 は Java Advent Calendar -ja 2010 主導で開催されました. 開催期間は,2010/12/13 ~ 2010/12/31 となっています. 日 月 火 水 木 金 土

    gfx
    gfx 2010/12/23
  • Java MIDP 実装 on HTML5 and Flash@Firefox Developers Conference 2010 - yukobaのブログ

    English今日は、Shibuya.js のイベントの一環として、Firefox Developers Conference 2010 で、「Java MIDP implementation on HTML5 and Flash」というタイトルでしゃべらせていただきました。 jQuery の作者の John Resig さんなど外国の方がいらした関係で、スライドがすべて英語です。 最近、携帯電話 の Java の MIDP の処理系を HTML5 および Flash で実装しています。それのプレゼンです。 http://orto-app.com/ でαバージョンを公開しましたので、よかったらご覧ください。IE8でみると、Flashで動きます。全体として、だいぶ、バグが多いのです。ごめんなさい。(画面転送が半分くらいのアプリでしか動いていません)。アプリももっといろいろ動くようにしたいです

    Java MIDP 実装 on HTML5 and Flash@Firefox Developers Conference 2010 - yukobaのブログ
  • ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ

    Javaジェネリクス再入門 - プログラマーの脳みそでは、「変数の型の宣言」の項で「ジェネリクスの<>の中は一般のJavaの型の代入互換性とは異なる。このことはよく覚えておかなくてはいけない。」と言ったものの、深入りはしなかった。 このあたりについて深入りしてみようじゃないか。 とりあえずサンプルコードはJavaで記述していくが、このあたりはジェネリクス指向の概念の部分だから、あまり言語に依ることはない。便宜的にJavaで書く、としておこう。 まず、型変数の境界について考えるために以下の継承関係のクラスを用意しておく。 public class A {} public class B extends A {} public class C extends B {} public class B2 extends A {} public class C2 extends B {} これは図で

    ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ
  • My Thoughts on Oracle v Google

    Charles Oliver Nutter Java, Ruby, and JVM guy trying to make sense of it all As you've probably heard by now, Oracle has decided to file suit against Google, claiming multiple counts of infringement against Java or JVM patents and copyrights they acquired when they assimilated Sun Microsystems this past year. Since I'm unlikely to keep my mouth shut about even trivial matters, something this big o

  • お前にSunが救えるか?

    お前にSunが救えるか? Oracle、「分からぬ、だが特許ゴロにはなれる」 Oracle(Sun Microsystemsを買収)は何がしたいんだろう。結局、Sunの実装がAndroidに勝てなかったというだけじゃないか。自分の粗悪な製品を棚にあげて、特許訴訟を起こす。愚かなことこれに過ぎたるはない。旧Sunの社員の多くがGoogleに引きぬかれていったのも、当然というわけだ。 ともかく、これで、Oracleはモバイル市場を完全に敵に回したわけだ。もう立つ瀬はない。 しかし、Javaはよく分からない。Microsoftが独自のJavaVMを開発したとき、Sunは訴訟を起こした。そこでMSは、独自のJavaVMを取り下げた。結局MSは、Javaが占めるべきだった場所の大半を、C#に置き換えてしまった。Sunが馬鹿なことをしたせいで、来労せずして得べかりしユーザーを失ったわけだ。今回も

    gfx
    gfx 2010/08/14
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
    gfx
    gfx 2010/02/08
    Javaバイトコードの読み方
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
    gfx
    gfx 2010/02/03
    新人イジメに最適
  • 簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦

    筑波大学は3学期制で,12月1日から3学期が始まりました.3学期には私が担当している学類生(普通の大学の学部生)3年生向けの実験があります.約3ヶ月を掛けて,ほどほどの規模のプログラム作成を行います.私が作り,担当しているプログラム実験は「Webサーチエンジン」といいまして,テキストはこちらに公開しています. この実験,結構,自信作なんです.Javaの基的なプログラミングができることだけを仮定して,漏れのない全文検索を行うWebサーエンジンを作ります.Webデータ収集を自動的に行うクローラー付き.Googleのようなページランキング機能はありませんが,一応,サーチエンジンの基機能を備えます.自慢は,このテキストが実質A4で印刷して2ページくらいであること.数学の小問を解いていくように,順番に小問を解いていくと,最後にはWebサーチエンジンができます. ミソはサフィックス・アレイ(suf

    簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦
    gfx
    gfx 2009/12/03