讲师笔记,Java基础学习之路之day25——注解,线程

注解 annotation
     可以对程序作出说明解释,还可以被程序读取
     
         内置注解:jdk提供的
              @Override 表示这个方法是子类重写父类的方法,只能使用在方法上面
              @Deprecated 表示 一个类或者方法或者属性或者接口等 已过时,不推荐使用
              @SuppressWarnings 表示取消警告信息 
          
          元注解:标记在其他注解之上的注解
              @Target 用于描述注解的使用范围 
                  属性:ElementType[] value();
                       枚举ElementType:
                       常量值 TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE
              @Retention 用于描述注解的生命周期
                  属性:RetentionPolicy value();
                      枚举RetentionPolicy:
                      常量值 SOURCE(只在源代码中保留) CLASS(在class文件中保留) RUNNTIME(在运行时保留)
          
          自定义注解:
              @Target
              @Retention
              @interface 注解名{
                  数据类型  value();如果注解中只有一个属性,一般使用value作为属性名称
              }
     
     --------------------------------------------------------
     线程
         进程:是系统中正在运行的一个程序
         线程:一个进程可以由多个线程组成,能够实现并发执行。
             区别:
                 线程与线程之间共享同一个进程的资源内存。
                 进程和进程之间资源不共享,各自拥有独立的内存
         
         并发只是在宏观上可以说是同时执行
         微观上是一个一个执行的,只不过时间间隔(时间片)非常短
         
         在计算机中,使用时间片来实现宏观上的并发执行
         在一个时间片内执行执行一个线程。
         
         开启多线程的方式:
         方法一: 1.创建多线程的类 extends Thread 重写run方法
                      MyThread extends Thread
               2.创建线程对象 调用start()方法开启线程
                       MyThread th = new MyThread();
                       th.start();
         方法二:  1. 实现Runnable接口,实现run方法
                     MyRunnable runable = new MyRunnable();
               2. 创建线程对象 调用start()开启线程
                       Thread th = new Thread(runable);
                       th.start();
         方法二的优势:多个线程之间可以方便共享同一份资源 
                 
                       
         Thread类中的常用方法:
             run() :  线程要执行的任务都在run()方法内
             getName(): 获取线程名字
             start():开启多线程
             setPriority(int p) :设置线程的优先级 默认是5,最高是10 最低是1
             getPriority():获取线程的优先级
              interrupt() :中断线程
              join():等待该线程终止
                  main线程中调用j.join(): main进入阻塞状态,等待j线程执行完毕
             
             静态方法:
             Thread.currentThread() :获取当前正在执行的线程对象
             Thread.yield():让当前正在执行的线程回到可运行状态(就绪状态)
              Thread.sleep(long time):让当前线程进入阻塞状态
         
         线程同步,并发:多个线程访问同一份资源 的时候 确保这份资源是安全的 也叫线程安全
              
             关键字:synchronized 同步的
             用法1:同步方法
                 public synchronized void test(){}
             用法2:同步代码块
                 synchronized(对象){}
         
         -----------------------------------------------
         线程
         mysql
         
         作业:
             复制指定目录下所有文件到新指定的目录下
             src = "a/b"
             dest = "a/c"

猜你喜欢

转载自blog.csdn.net/u011189148/article/details/81417222