”温故知新” なことなど

コメントは、タイトル下の"without comments"を押下して記入ください

Archive for the ‘Java’ tag

Javaのコンストラクタの覚え書き

without comments

クラスの連携においてコンストラクタを使用する時の注意事項

コンストラクタとは?
インスタンスを生成する際、初期化処理をするために定義する特別なメソッド

コンストラクタの特徴

  • メソッド名とクラス名が必ず同じである
  • 戻り値は指定できない
  • 引数の異なるコンストラクタを複数定義可能
  • コンストラクタ自体を省略することも可能
  • クラスのコンストラクタの有無の違い
    1)コンストラクタのないクラス
    「デフォルトコンストラクタ」があるとみなされる
    –>この場合、引数無し,処理無し

    2)コンストラクタがあるクラス
    自分が用意したコンストラクタのどれかひとつを必ず利用する必要がある
    ※デフォルトコンストラクタはない

    public class Person {
    	public int age;
    
    	public Person() {
    		age = 0;
    	}
    }
    

    複数定義した場合は下記のようになる

    public class Person {
    	public int age;
    
    	public Person() {
    		age = 0;
    	}
    
    	public Person(int a) {
    		age = a;
    	}
    }
    

    資料:(128ページあたり)http://www.knowledge-ex.jp/opendoc/JavaProgramming.pdf

    Written by nextschool

    8月 9th, 2010 at 11:30 am

    Posted in セミナー,情報系,言語

    Tagged with

    Javaのアップデート方法1

    without comments

    前にHadoop機を組み立てているときに、nicが認識されないことで苦戦していたら、

    ご学友の方に[CentOS]5.4を入れればnicが自然に認識されるよとお教えいただいた。

    みると[CentOS]5.4のデフォルトのJavaは1.4だったので、アップデートしようとしていたところ、

    [JDK1.6]をインストールして、java -version コマンドを打ってもVersion1.4が表示されるのが、なぜかわからなかった。

    いちおうインストールするディレクトリは、前回から変更して/usr/javaにすることにした。
    先にchmodで実行権限を付与する。
    
    [root@hdp_master java]# chmod 705 jdk-6u18-linux-i586-rpm.bin
    

    インストール開始

    [root@hdp_master java]# ./jdk-6u13-linux-i586-rpm.bin
    

    ライセンスのとろこは、spaceキーで飛ばしていき、yesを入力

    Press Enter to continue…..  //空enterを押下。
    Done. //インストール完了!!

    環境設定

    [root@hdp_master java]# vi /etc/profile

    /etc/profileの下段に3行を追加する(環境設定)

    export JAVA_HOME=/usr/java/jdk1.6.0_13
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
    
    設定内容を反映
    [root@hdp_master java]# source /etc/profile

    コンパイル&実行環境の設定
    シンボリックリンクがデフォルトの/usr/bin/javaを指しているので、
    あたらしいjavaを指すように設定する
    念のためjdkが使用されているバージョンを確認

    [root@hdp_master java]# alternatives --display java

    新しいjavaを読むように追加する

    [root@hdp_master java]# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_18/bin/java 200
    
    [root@hdp_master java]# alternatives --config java
    2 プログラムがあり 'java' を提供します。
    選択       コマンド
    ----------------------------------------------
    *+ 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
    2           /usr/java/jdk1.6.0_18/bin/java
    Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

    ここで2を入力してenterを押下して完了。

    最後に、java -versionと javac -versionでバージョンが同じになっていることを確認!

    参考URL: http://blog.livedoor.jp/incomplete_7/archives/51918829.html

    Written by nextschool

    3月 13th, 2010 at 8:20 pm

    Posted in Hacks

    Tagged with ,

    Hadoop機の作業記録

    without comments

    [Atom箱の作成]から、ネットに接続されているか確認したところ、デフォルトではNIC(eth0)が認識されていなかった。
    そこで[参考]を元に設定したらNIC(eth0)が認識されました。
    クライアントPCからsshでログインできたのを確認後、モニターとキーボード、マウスを外します。
    その後、localhostとデフォルトの名前をhdp_masterと変更しました。

    [root@localhost admin]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    192.168.3.8 hdp_master //←ここを追加
    [root@localhost admin]# cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=yes
    HOSTNAME=hdp_master //←ここを追加
    GATEWAY=192.168.3.8  //←ここを追加

    その後、[javaのアップデート]を行うため、USBでmountコマンドを使用して、usbの中身にインストールしてあった最新のJava SDKを/usr/local上で解凍、展開を行います。[USBフラッシュメモリを使うには]

    しかしmountしても、/mnt/usbfmには空っぽだったので、
    # dmesg
    をみると
    SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
    とか書いてあったのでsdaではなくsdbに変えたところ、
    # mount -t vfat /dev/sdb1 /mnt/usbfm/ でなんなく認識されました。

    [root@hdp_master home]# ls /mnt/usbfm
    hadoop-0.20.1.tar.gz  jdk-6u17-linux-i586-rpm.bin  r8168-8.015.00.tar.bz2

    中身のなかのこれを先に解凍
    [root@hdp_master usbfm]# tar zxf hadoop-0.20.1.tar.gz
    [root@hdp_master usbfm]# mv hadoop-0.20.1 /home/hadoop

    Javaをアップデートしたかったけど、hadoopの解凍を先に行いました。(/home直下へ)

    [root@hdp_master usbfm]# ./jdk-6u17-linux-i586-rpm.bin
    次にJavaの最新Verをusbfm上で、解凍展開を行おうとしたら、
    Please free up the required Disk Space and try again とメモリ領域が足りないということで、ディレクトリをlocalへ移動して

    [root@hdp_master usbfm]# cd /usr/local
    [root@hdp_master local]# ./jdk-6u17-linux-i586-rpm.bin
    Do you agree to the above license terms? [yes or no]
    yes
    Unpacking…
    Checksumming…
    Extracting…

    中略

    For more information on what data Registration collects and
    how it is managed and used, see:

    http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html

    Press Enter to continue…..

    Done. →解凍完了!

    次に環境設定を行う。

    参考 http://d.hatena.ne.jp/hkano/20081014

    Written by nextschool

    1月 15th, 2010 at 2:39 am

    Posted in ゼミ,設定

    Tagged with ,

    JDBCドライバの接続確認

    without comments

    JDBCドライバとMySQLの接続テスト

    public class Dbconnect {
    public static void main(String args[]) {
    Connection conn = null;
    try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://localhost/データベース名", "root", "パスワード入力");
    System.out.println("MySQL と接続しました。");
    } catch (SQLException e) {
    System.out.println("MySQL との接続失敗");
    System.out.println("SQLExceptionは " + e.getMessage());
    System.out.println("SQLStateは " + e.getSQLState());
    System.out.println("VendorError: " + e.getErrorCode());
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    if (conn != null) {
    conn.close();
    conn = null;
    System.out.println("MySQLとの接続を切断しました");
    }
    } catch (Exception e) {
    }
    }
    }
    }
    

    Written by nextschool

    12月 8th, 2009 at 10:47 pm

    Posted in プログラミング,設定

    Tagged with ,

    TomcatでHelloWorld

    without comments

    サーブレット&JSPの学習をはじめました。まずHelloWorldから。

    まずディレクトリ構造をこのように設定しておく。

    次に↓のディレクトリに


    ソースコードは↓とします。

    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class HelloWorld extends HttpServlet {
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException
    {
    
    PrintWriter out = response.getWriter();
    out.println("");
    out.println("HelloWorld");
    out.println("");
    out.close();
    }
    }
    

    そしてコンパイルをおこなう

    javac -classpath /usr/local/tomcat/lib/servlet-api.jar HelloWorld.java
    

    なにも出なかったら成功です。

    次はjavaファイルを表示させるための設定ファイルを用意します。


    そしてweb.xmlを作成したら、中を↓のように記載します。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    
    <web-app>
    <servlet>
    <servlet-name>hello</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
    </servlet>
    
    <servlet-mapping>
    <servlet-name>
    hello
    </servlet-name>
    <url-pattern>
    /xxxx
    </url-pattern>
    </servlet-mapping>
    
    </web-app>
    

    次にTomcatを再起動します。
    /etc/rc.d/init.d/tomcat restart

    再起動ができたら、ファイルを作成したアドレスにアクセスして
    結果を確認します。

    http://192.168.3.7/tomcat/hogehoge/xxxx

    するとこのような画面が確認できます。

    む、なんか<html>が表示されてしまっている。これはよくない。が、まあいいとするw

    Written by nextschool

    10月 29th, 2009 at 2:02 am

    Posted in プログラミング

    Tagged with ,