ソフトウェアエンジニア現役続行

雑多なことを綴ります

Java

tomcat上で動かすプログラムの配置と実行

linuxマシンにtomcatとjdkを入れてjavaプログラムをサーブレット上で動かす方法です。 バージョンはtomcat6とjdk1.6.0です。 手順概要 tomcatへのサーブレットプログラムの配置と実行の手順は次のようになります。 サーブレットプログラムを作成・コンパイル…

icalendar形式のファイルをgoogleカレンダーと同期する

うちの会社はグループウェアとしてサイボウズを使っています。サイボウズサーバがイントラネット上にあるため、社外からはアクセスすることができません。確かに安全ですが、社外からアクセスできないと不便なこともあります。そこで次のような方法で、サイ…

Process.destroy()の前に必ずすべてのストリームをcloseすること

次のような間違いを含んだコードがあります。 // 同じようなことがRuntime.exec(...)でも起こる ProcessBuilder pb = new ProcessBuilder(args); Process proc = pb.start(); InputStream in = proc.getInputStream(); // ・・・ここでスレッドのストリーム…

LinuxにJDKをインストール

LinuxにJDKがデフォルトでインストールされていない場合、Sunのサイトからダウンロードしてこないとダメなようです。他の言語のようにyumで簡単にインストールできるのかと探しまわったのですが、見つけることが出来ませんでした。 参考 ここの説明がとても…

Google Calendar APIに挑戦

プログラミング言語Java とEffective Java 第2版を読了しました。仕事でJavaを使うことは今のところないのですが、オブジェクト指向の言語をちゃんと勉強したのは初めてで、学ぶものは多かったです。忘れないうちにJavaでプログラミングしたい。ということで…

SJC-Pに合格しました

今日はSJC-P(Sun認定Javaプログラマ)に挑戦してきました。無事に合格することができました。受験料が31,500円もするので、絶対に1回で合格したかった。合格できて、嬉しいというか、ホッとしています。この試験はJavaのバージョンに対応した試験を受ける…

hashCodeメソッドとequalsメソッド

JavaのhashCodeメソッドとequalsメソッドは以下のような条件を満たしてないといけません。 Condition Required Not Required(But Allowed) x.equals(y) == true x.hashCode() == y.hashCode() x.hashCode() == y.hashCode() x.equals(y) == true x.equals(y)…

SJC-Pに挑戦しようと思います

4月に応用情報技術者試験に挑戦して、無事に合格することが出来ました。次はSJC-P(Sun認定Javaプログラマ)に挑戦しようと思います。受験料が31500円(税込み)と高額ですが・・・。この試験はJavaのバージョンに対応した試験を受けることが出来ます…

定数変数(constant variable)の値を変更するときの注意点

プログラミング言語Java - 第4版の第2刷のP.40で定数変数(constant variable)について以下のように説明しています。 コンパイル時に値が決定できる定数式で初期化された基本データ型、あるいは、nullではない定数式で初期化されたString型のfinalフィール…

クラスオブジェクトの配列を使うときの注意点

int型の配列を使うときは以下のようにします。これは問題ないですね。 int[] array = new int[10]; // (1) しかし自分で定義したクラスのオブジェクトの配列を使う場合は、同じようにしてもうまくいきません。 class NewClass{ int a; int b; }public static…