• 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),即锁

  • 相关阅读:
    杂项收集,包括-发邮件、二维码生成、文件下载、压缩、导出excel
    SQL2008删除大量数据
    优秀程序设计的18大原则
    多线程基础
    SQL金典
    [读书笔记]高效程序员的45个习惯:敏捷开发修炼之道
    Unity 查找资源引用工具
    Unity自动生成各种机型分辨率效果工具
    Unity Editor模式 Invoke()函数 失效
    Unity 特效 粒子 自动播放
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/3414000.html
Copyright © 2020-2023  润新知