2011年1月25日火曜日

スレッドの処理時間(CPU時間)を計測する方法 - Java

最終更新日:2011/5/15

CPU時間を計測するJavaソース
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
long startCpuTime = threadMXBean.getCurrentThreadCpuTime();
// ここに時間を計測する処理を記述
long stopCpuTime = threadMXBean.getCurrentThreadCpuTime(); 
long transactionCpuTime = stopCpuTime  - startCpuTime;
メモ
ThreadMXBean(Java仮想マシンのスレッドシステムの管理インタフェース)を使います。
これで、処理の開始時間と終了時間のCPU時間を計り、処理にどれだけ時間がかかったかを計測できます。
getCurrentThreadCpuTime()は、現在のスレッドの合計 CPU 時間をナノ秒単位で返します。
CPU時間とは、プロセス開始から現在までのCPU使用時間実時間です。リアルタイムの時間とは違います。

また、java.lang.managementパッケージには、スレッド以外にもシステム情報を管理できるインターフェイスがいろいろ入っています。くわしくは、Javaドキュメントを見てね。


補足
リアルタイムの処理時間を計測するJavaソース
long startTime = System.currentTimeMillis();
// ここに時間を計測する処理を記述
long stopTime = System.currentTimeMillis();
long transactionTime = stopTime - startTime;

携帯メールだけでできること

1. ケータイメール大辞典
  • 調べたいキーワードをケータイのメール本文に入力して、ask@m.agw.st宛に送信する。
  • ウィキペディア検索の結果がテキストメールで送られてきます。

2. Twil
  • Twilにユーザ登録すると専用メールアドレスが発行される。
  • 専用メールアドレスに空メールを送ると、タイムラインがメールで返信される。
  • 専用メールアドレスにメールを送ると、メールの本文がTwitterに書き込まれる。
  • その他機能については本サイトを見てください。


その他メモ
Googleのモバイル 検索メール (Beta)がサービス終了したみたい、残念。
メールで路線検索サービスというのもあったが、有料だったりau専用だったりする。

2011年1月15日土曜日

android(ドコモ:lynx 3d sh-03c)メモ

3G回線使わないようにしてたのに3日でパケット量が60000(7.7MB)ぐらい使ってた。
スマートフォンおそろしい子
どこでそんなにつかったのやら


なんか裏でいろいろ通信するみたいですね。スリープ状態でも…
アプリを停止させても、たいてい裏で動いている、またメモリ上に残っている。
そして、アプリを完全に停止させるにはタスクマネージャで消す必要がある。
しかしながら、アプリをタスクマネージャで停止させても、いつのまにか復活していたりする。


3G Watchdog使って1日の通信量しらべてみた。
丸一日3G回線使うと、メール待ち受けだけでも100,000バイトぐらいつかうみたい。
つまり、1ヶ月で3000,000バイトは使うことになる。
パケホーダイでは、1パケットが0.084円、1パケットが128バイトなので、
1日あたり65.625円、1ヶ月で1968.75円分のパケット代を使うことになる。
ちなみに、パケホーダイの上限は5985円=71250パケット=9,120,000バイト


次に、OSMoniterというアプリでなにが通信してるのか見てみた。
EffectService、com.google.android.syncadapters.contacts、Googleトークストレージ、System、カレンダー、アカウントと同期の設定、というのが勝手に通信してたみたいです。(確認できたものだけ)
そこで、アカウントの同期の設定で、バックグラウンドデータの通信をできないようにすると、これらの通信が一部なくなる。(EffectService、com.google.android.syncadapters.contactsは残る)
しかしこれをすると、スリープ状態でのSPモードメール受信ができなくなる。

スリープ状態でのSPモードのメール受信は、アカウント同期の設定のアカウントを管理で、Gmailの同期を許可する必要があるみたいで、これをするとGmailも自動的に受信することになる。


また、これらとは別に3G接続時に約1500バイトの通信量が発生してたりする。


パケット使いたくない人はスマートフォンはやめた方がいいですねー。マジで、、
私の場合、パケットは極力使いたくないので今はガラケー使ってます(笑)
wifiでメール受信できるようになったらスマートフォン使うかもねww


spモードメールについて
1/15日現在、3G回線のみでの通信なので回線切ったり、wifiにつなぐと受信できなくなる。(そのうち対応するみたいです…)
スリープ状態における受信は可能。(wifi時は無理)
なので、現段階ではwifi切り替えアプリが必須かも
もしくは、「メール通知」というアプリを使えばwifi状態でも通知だけは確認することはできる。

wifi状態で、スリープ状態にすると無線が切れて3G回線を使ってる?
でもメールは受信できない?
よくわからん


ファイアウォールアプリ
これがあれば、アプリごとに通信の許可、不許可を設定できる。でもrootものは自己責任。
DroidWall(AndroidのFireWall、root(su)必須なのがちょっと…)
andfire(AndroidのFireWall、root(su)権限に設定してくれる?…)



裸眼3D機能について
3Dコンテンツはあまり期待しないほうがいいかと。
地球防衛軍3D(目がつかれて長時間は遊べないけど、まあ面白いと思います)
jetVD(youtubeの動画視聴ソフト、外部プレイヤーが使えるので3D再生できる、3D検索ワードは「yt3d」)


メモリについて
内部メモリが290MBしかないので、本体にアプリをあんまりインストールできない。
システムメモリは596MBあるので、アプリをたくさん起動しなければ十分快適です。


PromiceMailのバグについて
なぜか「PromiceMailが強制終了しました」と、ポップアップがたびたび出てきてイラッとします。
削除したくてもプリインストールアプリだから削除できない。(rootを取れば削除できる)



プロバイダーについて
NTTドコモのISPは、「spモード」「iモード」「mopera U」「ブラックベリーインターネットサービス」の4つがある。
「spモード」:3G回線、スマートフォンで利用可能。spモードメールアドレス。
「iモード」:iモード回線、ガラケーで利用可能。iモードメールアドレス。
通常この2回線を契約することになり、メールアドレスを2つ所持することになる。メールアドレスは両回線で入れ替えることが可能、ただし入れ替え作業はスマートフォンからしか行えない。



2011年1月10日月曜日

ブログのアクセス解析してみた

以下、解析結果

全ページビュー:2,187
1位:overlayweaverの使い方(eclipse) - overlayweaver 2010/07/08:426 ページビュー
2位:Socketの勉強をしよう - Java 2010/07/11:154 ページビュー
3位:分散環境エミュレータを使ってみよう - overlayweaver 2010/07/10:123 ページビュー
4位:Linux on VMwarePlayer - 仮想OS、仮想LAN、OverlayWeaver 2010/09/01:108 ページビュー
5位:標準入出力コンポーネントを作ろう - Java - GUI 2010/07/27:104 ページビュー

記事は、OverlayWeaver、Javaネタがよく見られてるみたいですねー
参考になっていれば幸いですが、間違ったことを書いてる可能性もあるので、鵜呑みにはしないようお願いします。


ブラウザ別のページビュー
1位:Firefox:773 (35%)
2位:Internet Explorer:690 (31%)
3位:Chrome:336 (15%)
4位:Safari:89 (4%)
5位:FireTorrent:87 (3%)

Chromeが伸びてるみたいですねー。
あと、上位の4つはブラウザってわかるけど5位のFireTorrentってなんだよ。これってFirefoxのTorrentダウンロード用のアドオンだよなー(笑)


オペレーティング システム別のページビュー
1位:Windows:1,845 (86%)
2位:Macintosh:141 (6%)
3位:Other Unix:119 (5%)
4位:iPad:14 (<1%)
5位:iPhone:9 (<1%)

iPad、iPhoneからこのブログが見られてたのは正直驚きました。これからは、タブレットとかスマートフォンでのネットサーフィンが増えてくるのでしょうね。
しかし、Windowsがダントツ(笑)


国別のページビュー
1位:日本:1,936
2位:アメリカ合衆国:73
3位:オランダ:35
4位:カナダ:34
5位:マレーシア:26

意外と海外からのアクセスが多くてびっくりです。
国際化だね(笑)


はじめてアクセス解析してみましたが結構面白かったです。
また気が向いたらやろうかなー

ノシ

2011年1月2日日曜日

JavaScript勉強中

あけましておめでとうございます。


年末は、友達とボーリングをやって、そっから徹夜でモンハン。
正月は、初詣に行き昼飯食って、解散という流れでした。

モンハンは全クエストをクリアしてしまい、あとは新たな配信クエストをこなすだけとなってしまいました。ちなみに、プレイ時間は200時間越えた(笑)


卒論の方は、とりあえず30ページ書けました。ただ飛ばし飛ばしなので、これから埋めていくかんじです。あとは、付録のプログラムの最終調整です。
とりあえず終わりそうだけど、問題は教授に見せてからどれだけ直されるかなんですけどねー… (; ̄ー ̄川


………


さてさて

私の2011年の目標は、

「新しいプログラミング言語を習得する!!」


ということで、JavaScriptを勉強しようと思います。
なぜかというと、流行ってそうだから…


やったこと

1. マンガで分かるJavaScriptプログラミング講座を読んだ。
初心者向け。絵はともかくとして、すらすら読めて内容もよかったです。
そして、マンガだけでなく補足説明もちゃんと書いてあるのがいいですねー。

2. イヌでもわかるJavaScript講座を読んだ。
復習+ちょい実践向け?いきなり実行例、ソースから入るのがいいです。そっからその解説。
いろんなソース乗ってるのでいいかも
しかし、まだ読み途中です。

3. 開発環境の整備
EclipseにAptanaのプラグインを入れた。
FireFoxにFireBugのプラグインを入れた。
正直使いこなせてないです。初心者にはメモ帳で十分かもね…


今日は、勉強ばっかでしたけど
明日はなにかしら作ってみたいと思います。

以上。


参考資料
1.マンガで分かるJavaScriptプログラミング講座
2.イヌでもわかるJavaScript講座