zoukankan      html  css  js  c++  java
  • 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),即锁

  • 相关阅读:
    openssl生成公钥私钥对 加解密
    boost replace_if replace_all_regex_copy用法
    PS 图像滤镜— — USM 锐化
    使用boost库生成 随机数 随机字符串
    改动Android设备信息,如改动手机型号为iPhone7黄金土豪版!
    验证(Verification)与确认(Validation)的差别
    Spring-SpringMVC-Hibernate整合
    全面整理的C++面试题
    Metropolis Hasting算法
    捕捉到来自宇宙深空的神奇X-射线信号
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/3414000.html
Copyright © 2011-2022 走看看