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

  • 関連タグはありません

タグの絞り込みを解除

Javaとprogrammingに関するtomerunのブックマーク (5)

  • The "Double-Checked Locking is Broken" Declaration

    The "Double-Checked Locking is Broken" Declaration Signed by: David Bacon (IBM Research) Joshua Bloch (Javasoft), Jeff Bogda, Cliff Click (Hotspot JVM project), Paul Haahr, Doug Lea, Tom May, Jan-Willem Maessen, Jeremy Manson, John D. Mitchell (jGuru) Kelvin Nilsen, Bill Pugh, Emin Gun Sirer Double-Checked Locking is widely cited and used as an efficient method for implementing lazy initialization

  • Java解析にはバイトコードの知識が必要かもしれない - KENJI’S BLOG

    Javaアプリケーションの解析をやっていて、やはりJavaバイトコードの知識は必須だと思いました。確かに、jadをはじめ、Javaデコンパイラの性能は良く、ほぼ間違いなくデコンパイルは成功するのですが、問題は、デコンパイルが完了しても「JVM INSTR」(認識できなかったバイトコードが見つかった場合に出力される)が結構頻繁に現れることと、再度コンパイルするために必要となるファイルを、別途用意しなければならない場合が多々あることです。どちらの場合においても、デコンパイルにより出力されたデータに修正、もしくは追加を行う必要があり、また、バイナリにほんの少しの修正を加えたいだけであっても、デコンパイル → 修正 → コンパイルという動作を行わなければならないため、かなりの手間となります。 例えば、「Doorman」というツールがあります。このツールは、HTTPのProxyとして動作し、通信デー

  • 無題ドキュメント

    今回は、もっとも基的であるわりには、意外と問題の多い「継承」について考えてみたいと思います. 型の拡張は、2つの機構を使って行われます.すなわち継承と総称です. 継承は下位型による多相性(Subtype Polymorphism)を実装し、総称はパラメータによる多相性(Parametric Polymorphism)を実装します. 継承は大きく型継承と実装継承(クラス継承)に分類できます.この場合、型とクラスの関係に注意が必要です. 型はオブジェクトのインターフェイス、すなわちオブジェクトの振る舞いの定義です.他方、クラスはオブジェクトの内部状態とオペレーションの実装を定義しています.クラスは同時に型を定義する場合もありますが、言語によっては必ずしもそうとは言い切れません. 型継承は所謂is-a関係の継承で特化specializeです.これは、インターフェイスの継承ともとれますし、

  • リソースをケチるための邪道Javaプログラミング | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    リソースをケチるための邪道Javaプログラミング|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ 現在のJavaでは資源の節約があまり意識されなくなってきていますが、 今でも少ない資源(メモリ・CPUVRAM等のリソース)の下でJavaを使ったプログラムのニーズはあります。 例えば、今では誰もが持っている携帯電話や家電製品等の組み込み系がそれに当たります。 ここでは、携帯電話でのJavaアプリケーションを例にとって、リソースが少ない環境下で、以前に私が行ったJavaとは言いがたいドケチ・プログラミングの一例を紹介します。 携帯電話のスペック 下記のURLに、NTTDoCoMoから発売されている携帯電話のスペックが載っています。 下部へ行くにつれて新しくなるのですが、この記事を書いている時点での最高は、アプリサイ

  • ジェネリクスでVoidを扱う

    数字において、ゼロの発見の偉大さはみな認めるところでしょう。 ないことを表すというのは非常に利便性の高い方法です。 デザインパターンにはNullPobjectパターンというものがあります。 これはオブジェクト指向でのゼロにまつわる工夫ですが、 ジェネリクスでも型がvoidであることを表現する方法があります。 Voidを表すクラス java.lang.Void JavaにはVoidを表現するための java.lang.Void クラスが存在します。 このクラス、とくにメソッドも定義されていなければ、コンストラクタも定義されていないクラスです。 new してインスタンスを作ることさえできません。 Void クラスは、インスタンスを生成できないプレースホルダーとしてのクラスであり、Java キーワード void を表す Class オブジェクトへの参照を保持するのに使用されます。 intのラッパ

  • 1