JAVA学习总结

一、LINUX配置JAVA环境

1、下载 JDK,注意是 JDK,不是 JAVA(JRE)

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

2、比如我下载的是:jdk-7u45-linux-x64.gz,解压后成为 jdk1.7.0_45 文件夹,然后 

cp jdk1.7.0_45 /usr/local/java

3、在 /etc/profile 添加下面的语句,然后 source /etc/profile 重新载入环境变量。

export JAVA_HOME=/usr/local/java

export JRE_HOME=/usr/local/java/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH

export PATH=$PATH:$JAVA_HOME/bin

 

二、测试代码

public class Hello

{

    public static void main(String[] args)

    {

        System.out.println("Hello,World!");

    }

}

编译运行:

javac Hello.java

java Hello

 

三、线程学习

1、直接继承 Thread 类:

class MyThread extends Thread

{

    public void run()

    {

        for(int i = 0; i < 100; i++)

        {

            System.out.println("MyThread --> " + i);

        }

    }

}



public class Main

{

    public static void main(String[] args)

    {

        MyThread ft = new MyThread();

        //ft.run(); //not do this!

        ft.start();

        for(int i = 0; i < 100; i++)

        {

            System.out.println("Main --> " + i);

        }

    }

}

 

2、实现 Runnable 接口

class RunnableImpl implements Runnable

{

    public void run()

    {

        for(int i = 0; i < 100; i++)

        {

            System.out.println("MyThread --> " + i);

        }

    }

}



public class ThreadTest2

{

    public static void main(String[] args)

    {

        /*

        RunnableImpl ri = new RunnableImpl();

        Thread t = new Thread(ri);

        t.start();

        */

        new Thread(new RunnableImpl()).start();

        for(int i = 0; i < 100; i++)

        {

            System.out.println("Main --> " + i);

        }

    }

}

上面的代码还可以使用匿名内部类来优化:

public class ThreadTest2

{

    public static void main(String[] args)

    {

        new Thread(new Runnable(){

            public void run()

            {

                for(int i = 0; i < 100; i++)

                {

                    System.out.println("MyThread --> " + i);                
} } }).start();
for(int i = 0; i < 100; i++) { System.out.println("Main --> " + i); } } }

 

3、其它线程常用方法

Thread.sleep(int n);    //休眠 n 毫秒

Thread.yield();    //让出执行权,进入就绪状态(但可能立即又抢到CPU)

Thread.currentThread();  //获取当前线程对象

setName(String name);  //设置线程名字,成员方法

getName();  //获取线程的名字,成员方法

setPriority(int n);    //设置当前线程优先级,从 1~10,也可以使用静态常量如 Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,成员方法

getPriority();    //获取当前线程优先级,从 1~10,成员方法

 

4、同步代码块关键字(synchronized),即锁

 

你可能感兴趣的:(Java学习)