2008-03-01から1ヶ月間の記事一覧

パッケージ

オブジェクト指向でプログラミングをしていくと、どんどんとクラスが増えてきたりします。それらを纏め、パッケージとして大きく機能別に分けたりする事でソースコードのメンテ性を上げたり、可読性を上げたりし部品化していきます。 例えば、一番分かりやす…

抽象クラス

抽象クラスは、メソッドの実装が不完全なためそのクラスのオブジェクトを作れないし、したがってインスタンスメソッドを呼び出す事もできないクラスです。 抽象クラスは、クラスの宣言の冒頭にabstractという修飾子を付け、そのクラスの内容とは無関係に中傷…

クラスの完全装備から実行順序を見てみる

以下のサンプルコードを実行してみましょう。 このクラスでは5つのメッセージを以下の順序で表示します。 スタティックイニシャライザが実行される。 new文によるオブジェクト作成 インスタンスイニシャライザが実行される。 コンストラクタが実行される。 …

クラスの宣言

クラスの宣言、すなわちクラスの定義はファイル名の拡張子がjavaのソースコード内に書くという事は決まっていますが、その書き方にいくつかパターンがあります。例をおって押さえて見ます。 一つのソースファイルに一つのクラスを書く オーソドックスな書き…

googleの検索シェアが世界規模で減少

グーグルの2月の検索市場シェア、米国内で増加も世界では減少 - CNET Japangoogleの検索シェアが現象してるとのこと。これは世界規模でということ。わずかながらのポイントながらもYahooも減少している。 検索サイトといえば、googleか、YahooかもしくはMicr…

インスタンスイニシャライザとスタティックイニシャライザ

クラスはメンバ以外の要素(コンストラクタなど)+メンバ(フィールドとメソッドや別のクラス)で形成されます。メンバ以外の要素にはコンストラクタとインスタンスイニシャライザ(instance initializer)とスタティックイニシャライザ(static initializer)…

googleトップページがリニューアル

シンプルが売りなgoogleの日本サイトのトップページがリニューアルしました。 今までは検索ボックスしかなかったのに、検索ボックス下部にタブ切り替えで おすすめ、いろいろな検索、便利なツール、もっと楽しくというのが追加されています。 普段igoogleで…

synchronized文

javaでは複数のスレッドが同時並列的に動くプログラムは簡単に書けます。同時に複数のスレッドで処理したいが、ただランダムにアクセスされては困るような場合があります。典型的な例が書き込み用ファイルや、そのファイルのためにメモリ上に展開されてるデ…

例外処理

try/catch Javaではプログラムのエラーを「エラー(error)」と「例外(exception)」の二種類に分けます。エラーはプログラムによって対応できないエラーとかですね。例えば、OutOfMemoryなどですね。このJavaのエラーはErrorクラスおよび、Errorクラスの子クラ…

ループ文

大量のデータを効率的に処理する時など、同じ処理を複数回実行する時に使うのがループです。Javaではfor文やwhile文を使って書きます。 1万回数値をカウントするプログラムをするのに、1万回処理文を書くなんてありえないですよね。実際実行時間的にはミリ秒…

条件文(if文)

javaの条件文は、if文とswitch文の二種類です。 その他にif文の書き方を簡略化する条件演算子というのもあります。 if文 // example if( a == 0 ){ --b; ++a; } String firstName = getFirstName(); if( firstName.equals("koba") ){ makeFamilyTree( firstN…

演算子

Javaではオブジェクトタイプ、すなわちクラスのオブジェクトに対しては、いろんな操作をメソッドというものを使って行います。しかしプリミティブタイプにはクラスがなく、メソッドもないので操作はもっぱら演算子を使って行われます。 ありきたりですが、 i…

プリミティブタイプの種類

Javaのタイプは「プリミティブタイプ」と「オブジェクトタイプ」の二種類に分かれます。オブジェクトタイプのタイプ指定としては、そのオブジェクトが属するクラスの名前を書きます。例えば、 String myName; // Stringクラスのオブジェクト myName = "unko"…

正規表現の手始め

正規表現を使う事で文字列を処理するコードの量を劇的に減らす事ができます。具体的な用途としては、文字列の検証や検索などに使います。単純な文字列の合致だけならそんなのは必要ないんですけど、複数のルールに合致していないといけない場合などは重宝し…

アクセス制限

クラスにも、クラス内のデータ(オブジェクトを含む)やメソッドにも、すべてアクセス制限が付きます。 アクセス制限とは、そのクラスやデータやメソッドなどに、どこからアクセス可能かという範囲を指定するものです。 コードを管理していく上でも重要な決…

エスケープ文字

Javaでは文字列中の二重引用符などのように特殊な機能を持たされている文字を普通のそのままの文字として使いたいときがあります。(System.out.println("Hello World")のように)。その一方でその文字だけを書くと普通の文字として扱われる文字を特殊な機能を…

ちょっと前進したクラスを作ってみる

文字列を表示するプログラム public class DispMessage(){ String message; //文字列 public DispMessage(String msg){ //コンストラクタ message = msg; //オブジェクトにmsg変数を渡せるように } public void display(){ //メソッド System.out.println(me…

クラスからオブジェクトを作ってみる

public class HelloWorld{ public static void main(String []){ System.out.println("Hello World"); } } このHelloWorldクラスは、オブジェクトを作らないでクラスだけで動くデータもないし、メソッドもないシンプルなプログラムです。 mainメソッドを呼び…

tomcat install for windows

http://tomcat.apache.org/download-60.cgi のページから、Windows Service Installerをclickしインストールする。環境変数JAVA_HOMEが設定されているか確認します。設定されていない場合は、JDKのインストールディレクトリを環境変数JAVA_HOMEに設定します…

ローカル検索の重要性について

ローカル検索とは、検索対象に地域の特性を反映した検索です。PCよりも顕著に使えるのはモバイル。手軽に情報を得ることができるツールとしてモバイルにおけるローカル検索とはかなり重要なポジションになってくると思う。 たとえば、「新宿」でラーメン屋を…