Masa / Lino Blog

Masanori Satoh ( Masa / Lino ) の徒然ブログです

Java

Rubyのif文真偽判定

真;falseとnil以外のオブジェクト 偽:falseとnilJavaとはちょっと違う。 Javaだったらまずnullかチェックしてから、真偽判定。 if( str != null && str.equals("str") )とか if( "str".equals(str) )Rubyだと特に気を使わなくていいみたい。 軽く書くには…

Rubyは型宣言がいらない。

Rubyは型宣言がいらない。 Javaでは必須。 型宣言がないのは、スクリプト言語ではありがちか。

Rubyではすべてがオブジェクト

Rubyではすべてがオブジェクトとして扱われる。 Javaで言うところのプリミティブ型は存在しない。 そのほうがすっきりしててわかりやすいかな。

RubyとJava オブジェクト比較

Rubyの場合オブジェクトの値を比較する場合、 "=="を使う。他にもメソッドで"Object#eql?"も使用可能。 ただしNumericでは、振る舞いが異なる。 オブジェクトIDが同じかどうかを比較するとき、 "Object#equal?"を使う。 str1 = "hoge" str2 = "hoge" str3 = …

RubyとJava 配列

Rubyの配列は可変長。 Javaで言うところの、CollectionクラスのList。 Javaの純粋は配列はない模様。

条件分岐

Javaだと if( 条件 ){ }elseif( 条件 ){ } Rubyだと if 条件 then elsif 条件 then end "e"がないのか。

Glassbox 2.0 Betaを動かしてみる

"One Cilck Troubleshooting"がキャッチコピーの Glassboxを動かしてみた。 GlassboxはJavaEEのトラブルシューティングツールで、 アプリケーションのスローダウンを検地して、 原因切り分け、解決策の提示などを 自動的にやってくれるツール。 # 解決策の提…

Eclipse Web Tools Project(WTP)を使ってみた

半年位前につくっていたWebアプリケーション開発を再開することになったので、 気分一新のためにEclipse3.2を入れてWTPをインストールしてみた。 # ここを参考にしました。 http://www.atmarkit.co.jp/fjava/rensai3/eclipse31_03/eclipse31_03_1.html 使っ…

Struts社内セミナ講師体験

昨日、今日とStrutsの社内セミナの講師を初体験。 普段はパフォーマンスが専門業務。 Strutsを業務で使い倒したことはない。 それでもアーキテクチャや使いどころは理解しているつもりなので 無事2日間の社内セミナ完了。 自分の知識の確認にもなるし、受講…

JVMの基本構造

ふとこんな質問が飛んできた。 ・内部構造が知りたい。 1.クラス、インスタンスが内部的にどうやって管理されているか。 2.メモリの管理の仕方とか。(処理速度とか考えられると・・・) 3.VMの仕組みとか。 去年必死にこんな情報をかき集めた記憶が。…

J2SE 5.0 Management, Internals, and Troubleshooting参加2日目

昨日に続いてJ2SE 5.0 Management, Internals, and Troubleshootingセミナ2日目。Module4はデバッグ。jdbを使ってデバッグ。 これはトラブルシューティングの支援で使えるかと思ったけど やっぱりオーバヘッドがvery hugeらしい。 # 起動後1時間後に再現し…

J2SE 5.0 Management, Internals, and Troubleshooting参加

アジア初開催らしいJ2SE 5.0 Management, Internals, and Troubleshootingに 参加してきた。http://suned.sun.co.jp/JPN/news/javatuning.html今日は初日。JMXまでをトレーニング。 Module 1.のインストールはさくっと終了。 この中で紹介されたClass Data S…

javacコンパイラとJava HotSpot Virtual Machineがオープンソースに

かなり気になるニュース。 Sunの開発者向け製品およびプログラム部門担当バイスプレジデントのLaurie Tolson氏によると、同社は、Javaプログラミング言語で書かれたプログラムを走らせる2つの主要技術である「javac」コンパイラと「Java HotSpot Virtual Mac…

OutOfMemoryエラー

最近OutOfMemoryエラーが発生しているプログラムの調査をしている。 DB検索して結果をファイルに落とすだけのプログラム。 大量データを扱うプログラムなので、データ取扱量を小さくするために 同じ処理をエントリポイントでループさせている。 GC発生状況を…

Javaの解析ツール

Javaでトラブルシューティングが起きたときに使えるツールを 整理がてらメモ。 GCViewer http://www.tagtraum.com/gcviewer.html GC発生状況を"-Xloggc: [-XX:+PrintGCDetails]"で吐かせて グラフィカル表示するツール Eclipse TPTP http://www.eclipse.org/…

一人で開発

なぜこんなことをやっているかというと、 会社でstrutsベースの社内フレームワークでアプリケーション開発をしているから。 学生のころもWebアプリ開発をしてたけど、 また一人で開発している…。 # このときは部分部分で開発していたからソース管理の必要な…

struts validwhenで相関チェック

validatorでActionFormの相関チェックを行うには validwhenを使う。書き方はこんな感じ。 <field property="valid" depends="validwhen"> <msg name="validwhen" key="errors.validwhen" /> <var> <var-name>test</var-name> <var-value> ((otherProperty != null) and (*this* != null)) </var-value> </var> </field>結構簡単に書ける。 #…

JUnit社内セミナー

JUnit社内セミナーの講師をした。 大まかな内容はJUnitの基本的な使い方と、 J2EEアプリでの単体テストの方法。質疑応答で理想論と対決したりはしたけど、無難に終わった。 最後にアンケートの感想で、「喋りが早すぎます」との意見がポツポツ。 昔から捲く…

Javaパフォーマンスチューニングセミナー

sun主催のJavaパフォーマンスチューニングセミナーに行ってきた。http://sdc.sun.co.jp/java/event/java_perf_seminar.html# 手元に資料がないので印象だけをちょっと書いてみる。 目玉は本家sunのパフォーマンスエンジニアMenasse Zaudou (メナセ・ゾドゥ)…

ずばりわかる!Java Javaの良いコード、悪いコード

だいぶ前に買った本。 # ほとんど読んでない。ずばりわかる! Java Javaの良いコード、悪いコード著者: 石原 直樹, 河村 嘉之, 丸の内 とら, 米持 幸寿, 日経ソフトウエア出版社/メーカー: 日経BP社価格: ¥ 2,200発売日: 2006-03-09メディア: 大型本Amazonで…

BEA WebLogic Server構築・運用ガイド

BEA WebLogic Server構築・運用ガイド著者: 伊藤忠テクノサイエンス株式会社, 日本BEAシステムズ株式会社出版社/メーカー: 翔泳社価格: ¥ 4,200発売日: 2004-06-24メディア: 単行本Amazonで詳細をみる by Amaker最初の方は他の書籍などとあまり変わらずイン…

まるごとEclipse! vol.1

知っている方が著者の本。 まるごと Eclipse! Vol.1著者: 岡本隆史, 木村真幸, 五座淳一, 坂田祐司, 鈴木八重, 竹添直樹, 原田洋子, 的場聡弘, 山口卓也, 吉田英嗣出版社/メーカー: インプレス価格: ¥ 2,079発売日: 2006-02-02メディア: 大型本Amazonで詳細…

Sun Certified Programmer for the Java2 Platform(sjc-p)

本日SJC-Pを受験。初のベンダ資格受験。 結果はすごくギリギリで合格…。 # まんべんなくあまり取れていない…。 ## 勉強が足りないなぁ…。 まだまだ修行が足りません。ちなみにこの本で勉強した。Sun Certified Programmer for the Java2 Exam(310‐035)著者: …

Java Threadプログラミングで凡ミス

トラブル再現のためにSocket接続を行うThread非同期プログラムを書いた。Threadを都度newしてるのに全く非同期にならない。。。なぜだろうと悩んでいると部長が一言。 「start()しなきゃだめだよ〜」あっ!run()してる。。。Threadを生成するときはstart()を…

Javaコーディング規約

ちょっと気になるJavaのコーディング規約 株式会社電通国際情報サービスがオブジェクト倶楽部で公開しているもの。http://www.objectclub.jp/community/codingstandard/JavaCodingStandard2004.pdf可読性の向上やバグを未然に防ぐこと意外に、パフォーマンス…

javapのちょっと変わった使い方

javapはj2sdkに標準で付属するjava逆アセンブラ。 http://java.sun.com/j2se/1.3/docs/tooldocs/win32/javap.html 普通はクラスファイルを"-c"オプションをつけて 逆アセンブルするのに使うが、ここでは少し変わった使い方を紹介。 普段の開発環境外でJavaを…

デザインパターンJavaプログラミング

最近購入して読んでる本。あなたのコードを「賢く」するデザインパターンJavaプログラミング作者: 杉浦 K.出版社/メーカー: 秀和システム発売日: 2005/07メディア: 単行本購入: 1人 クリック: 3回この商品を含むブログ (6件) を見る買った理由は1.デザインパ…

jvm -server オプション

javaVMに-clientオプションと-serverオプションがあることを知る。 普通にjavaを起動すると-clientで起動する。今日-serverにして Webアプリケーションサーバを立ち上げて、-clientと比較したところ レスポンスタイムが4分の1になった!高速化する理由は不…