タグ

Javaとknowledgeに関するraimon49のブックマーク (5)

  • Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ

    前回でパフォーマンス計測に用いるタイマーについての理解を深めたので、やっとパフォーマンスの計測を始めることができる。 今回のテーマはJavaの文字列連結だ。タイムリーだね。 文字列連結についての基礎知識 Javaの文字列連結についての言語仕様まわりは Stringの連結はそう簡単なものではない - じゅんいち☆かとうの技術日誌 が詳しい。しかし、パフォーマンス計測がなっちゃない。パフォーマンスの計測はそう簡単なものではない。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての*1。 そんなわけで、計測方法を工夫してみよう。二重ループとし、内側を1000回、それを500回繰り返す。ループが1回まわる間に1回ずつSy

    Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ
    raimon49
    raimon49 2011/03/07
    常にStringBuilder
  • JavaのIntegerの比較: それほど間違ってないプログラマ用語辞典

    今日、Javaの5でコーディングをしていて気づいたこと。 問題1 Integer int1 = new Integer("10"); Integer int2 = new Integer("10"); System.out.println(int1 == int2); この実行結果は? 問題2 Integer int1 = Integer.valueOf(10); Integer int2 = Integer.valueOf(10); System.out.println(int1 == int2); この実行結果は? 問題3 Integer int1 = Integer.valueOf("10"); Integer int2 = Integer.valueOf("10"); System.out.println(int1 == int2); この実行結果は? 問題4 Integer in

    raimon49
    raimon49 2011/02/17
    Integer.valueOf(int)は-128~127まで結果をキャッシュ
  • Plain Old Java Object - Wikipedia

    Plain Old Java Object (POJO) は、あるJavaオブジェクトがEJB(特にEJB 3より前のEJB)のように特殊なものではなく、ごく普通のJavaオブジェクトであることを強調した名称。設計はシンプルであればあるほど良いと主張する人たちが好んで使用する。 2000年9月にマーティン・ファウラーとレベッカ・パーソンズ、ジョシュ・マッケンジーがこの用語を使い始めた。「システムに普通のオブジェクトを使うことに強い抵抗を持つ人が多いのはなぜかと考えたとき、それは単純なオブジェクトに良い名前がついていないのが原因だという結論に達した。そこで我々が名前をつけたら、それがとても流行りだした。」[1] この命名法は、テレフォニーにおけるPOTS (Plain Old Telephone Service) や、C++で書かれているがC言語の機能しか使わないPODS (Plain Ol

    raimon49
    raimon49 2010/11/01
    古式ゆかしきシンプルなオブジェクトのこと?
  • 文字コードに起因する脆弱性とその対策

    PHPカンファレンス2010テックデイでの講演資料 PDFダウンロードは http://www.hash-c.co.jp/archive/phpconf2010.html

    文字コードに起因する脆弱性とその対策
    raimon49
    raimon49 2010/09/26
    多バイト言語圏で考慮しなければいけない脆弱性について。増補版 (http://www.slideshare.net/ockeghem/ss-5620584) を読んだ。簡単にできるテストや現実的な選択肢など、スライド後半は必読。
  • メソッド (計算機科学) - Wikipedia

    メソッド (method) あるいはメンバー関数 (member function)とは、オブジェクト指向プログラミングにおいて、オブジェクトに関連付けられた関数または手続きであり、オブジェクトの状態を操作したり振る舞いを実現したりするために外部から呼び出されるプログラム要素である。 オブジェクト指向プログラミングにおけるメソッドという用語は元々SmalltalkによってSimulaのメンバープロシージャー (member procedure) をメッセージとメソッドに分けるために導入された。C++ ではメンバー関数と呼ばれるが、これはSimulaのメンバープロシージャーをC言語に流用したことに由来している。Javaのような言語やマイクロソフト[1]などの企業がメソッドという用語を使っているのは、元々C++よりもSmalltalkの影響を受けていたためである[要出典]。近年[いつ?]では言

    raimon49
    raimon49 2010/08/05
    C++およびC#ではメソッドにvirtual修飾子で明示することでオーバーライド可能に, Javaはデフォルトで暗黙的にvirtual methodになっている。override修飾子はC#, Javaどちらも必要。
  • 1