URLConnectionのDNSキャッシュ

URLConnectionを使用したプログラムは良く見かけますが、
使うにあたりDNSについてがあまりなかった。
ちょうど、ネットワークの不調でURLConnectionが
ずっとTimeoutになっていたので調べてみた。


// DNS検索に成功した場合のキャッシュしておく秒数
Security.setProperty("networkaddress.cache.ttl","60");
// DNS検索に失敗した場合のキャッシュしておく秒数
Security.setProperty("networkaddress.cache.negative.ttl","10");

上記コードを組み込んだのはいいが、うまく制御できない・・・
う〜ん、Systemとかに設定しても一緒だった。
と小一時間ほど悩んで、java.securityの存在を思い出した。
%JAVA_HOME%/jre/lib/security/java.security
↑これで設定したばっちりうまくいった。
調子にのり、コマンドオプションでも一応試した。
ちなみに、コマンドオプションの場合は、
・networkaddress.cache.ttl ⇒ sun.net.inetaddr.ttl
・networkaddress.cache.negative.ttl ⇒ sun.net.inetaddr.negative.ttl
にキーを変更しないと駄目。
ってことで、


$root>java -Dsun.net.inetaddr.ttl=60

成功!GJ!

しかし、デフォルトでDNS検索成功時のキャッシュが無限ってどうなんだ・・・

拡張プラグイン一覧

会社、自宅でほとんど同じプラグインを入れているが、
とりあえずメモとして残しておく。

有効拡張機能: [27]



無効拡張機能: [2]

拡張機能の合計: 29



インストールテーマ: [3]

インストールプラグイン: (11)

気になったエントリー

火星の人類学者―脳神経科医と7人の奇妙な患者
共感覚者の驚くべき日常―形を味わう人、色を聴く人 っていう本は読んだ
ことあるんだけど、本当に脳(神経系)は不思議ですね。
(ネタ元:情報考学 Passion For The Future)


変わったアイコン
アイコン1つでイメージもがらっと違っていいね。
(ネタ元:.fav)


Yahoo! Japan版SNS「Yahoo! 360°」ベータ版開始
どこもかしこもSNSですね。mixiやってるけど、2回/月くらいだし・・・
(ネタ元:オレンジニュース)


Winnyで流出された陸上自衛隊ハンドブック「昆虫の食べ方」
小さい頃、ザリガニなら食べたことあるけど。
(ネタ元:オレンジニュース)

日付インスタンス生成の効率

毎日の日課として覗かせて頂いている、オレンジニュース
Calendarを10万回getInstanceするよりも、Dateを10万回newする方が10〜30倍早い
なんてのが載っていました。
それで、とりあえず自分でも試してみました。
結果が以下です。

[1回]
new Date()=0 (ms)
Calendar.getInstance()=31 (ms)
new DateTime()=188 (ms)


[10回]
new Date()=0 (ms)
Calendar.getInstance()=16 (ms)
new DateTime()=0 (ms)


[100回]
new Date()=0 (ms)
Calendar.getInstance()=0 (ms)
new DateTime()=0 (ms)


[1000回]
new Date()=0 (ms)
Calendar.getInstance()=15 (ms)
new DateTime()=0 (ms)


[10000回]
new Date()=0 (ms)
Calendar.getInstance()=47 (ms)
new DateTime()=0 (ms)


[100000回]
new Date()=31 (ms)
Calendar.getInstance()=266 (ms)
new DateTime()=47 (ms)


[1000000回]
new Date()=250 (ms)
Calendar.getInstance()=2531 (ms)
new DateTime()=469 (ms)


[10000000回]
new Date()=2374 (ms)
Calendar.getInstance()=25390 (ms)
new DateTime()=4546 (ms)


[100000000回]
new Date()=24452 (ms)
Calendar.getInstance()=274375 (ms)
new DateTime()=45154 (ms)

eclipseでテストしましたが、1回は起動初回の為か
意外に時間かかってました。
それ以降は、10万回超えたあたりから差が出始めていますね。
ってことは、連続10万回くらい呼び出されない限り
ほとんど差はないってことでいいんでしょうかね?
DateTimeってのが、JODAのAPIです。
連続(多少差異があったとしても)で10万回なんて呼ばれる
ケースは少ないので、気にしなくていいのかも。
ただ、ものすごくシビアにパフォーマンス改善を求められているなら、
リファクタリングしてもいいかな・・・

感動するCM

いつも覗かせてもらってるえけけ-面白ねたオンラインマガジン
すこし前だけど、とても良い話のCMがあったので紹介しておきます。
内容はまぁ〜見てもらえれば分かります。

※もとサイトに迷惑かかると嫌だったので、勝手に画像とMovieを保存してリンク貼っております。
問題あれば、連絡おねがいします。

グッジョブ

TV買いました。
そう、液晶TVです。はい。

SHARP LC-20K1
PC接続も可な液晶ですが、だTVとしてしか使ってません。

価格.comでの最低価格が\66,000なわけですが、
オークションで買った割には\67,000でした。
ただし、送料とかがほとんど無料だったので
こっちの方が少し安くついたかな♪

いや〜やっぱAQUOS いい(≧∇≦)b です。