考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > Java语言程序设计 > 考试辅导 > 文章内容
  

全国计算机等级考试二级Java重点内容(4)

中华IT学院   【 】  [ 2016年9月17日 ]

 Writer 抽象类, 定义抽象方法write() 每次写出一个字符

  |-- OutputStreamWriter 也是过滤器, 将char序列编码为byte序列

  |      底层也是依赖基本的byte输出流

  |-- PrintWriter 是过滤器, 提供了常用方法println()

  |      非常常见的文本处理方法

  |-- FileWriter = OutputStreamWriter + FileOutputStream

  |      不能指定文本输出编码, 不好用!

 

 

11 Java 多线程编程

 1) 程序: 指令+数据的byte序列, 如: qq.exe

 2) 进程: 正在运行的程序, 是程序动态的执行过程(运行于主存储器)

 3) 线程: 在进程内部, 并发运程的过程(方法)

 4) 并发: 进程是并发运行的, OS将时间划分为很多时间片段, 尽可能 均匀分配给正在运行的程序, 微观上进程走走停停, 宏观上都在运行这种都运行的现象叫: 并发, 但是不是绝对意义上的"同时"

12 Java 创建一个线程

 1)Thread 类: 线程包含一个可以运行的过程(方法)Thread 类中包含方法 run

 2) 创建一个具体线程, 需要继承于Thread类

 3) 覆盖run 方法(就是更新运行过程), 实现用户自己的过程

 4) 创建线程实例(一个线程)

 5) 使用线程实例的start() 方法启动线程, 启动以后线程会尽快的去并发执行run()

13 线程的状态

  1 new 新建

  2 Runnable 可以运行(就绪)

  3 Running 运行(正在运行)

  4 Block 阻塞  挂起

  5 Dead 死亡

14 线程状态管理:

  1)让出CPU

  Thread.yield() 当前线程让出处理器(离开Running), 使当前线程进入Runnable等待

  2)休眠

   Thread.sleep(times) 使当前线程从 Running 放弃处理器进入Block状态, 休眠times毫秒, 再返回到Runnable如果其他线程打断当前线程的Block(sleep), 就会发生InterruptedException.

15 线程的常用属性

 1)线程的优先级 (资源紧张时候, 尽可能优先)t3.setPriority(Thread.MAX_PRIORITY); 默认有10 优先级, 优先级高的线程获得执行的机会多. 机会 的多少不能通过代码干预.默认的优先级是 5

 2)后台线程(守护线程, 精灵线程)

  t1.setDaemon(true); Java进程的结束: 当前所有前台线程都结束时, Java进程结束 后台线程, 不管是否结束, 都被停掉! 因为并发的现象, 后台线程不会立即结束!

3) 线程名字

    getName()

4) 当前线程

   Thread main = Thread.currentThread();

16 两种方式创建线程

  1)继承Thread类

    a 继承Thread类, 覆盖run()方法, 提供并发运程的过程

    b 创建这个类的实例

    c 使用start() 方法启动线程

  2)实现Runnable接口

    a 实现Runnable接口, 实现run()方法, 提供并发运程的过程

    b 创建这个类的实例, 用这个实例作为Thread构造器参数

      创建Thread类.

    c 使用start() 方法启动线程

   

    class Foo implements Runnable{

             public void run(){

                       //....

             }

    }

    Thread t = new Thread(new Foo());

    t.start();

  3)使用 内部类/匿名类 创建线程

17 Sleep 的打断唤醒

  1) Thread.sleep(times) 使当前线程从 Running 放弃处理器

    进入Block状态, 休眠times毫秒, 再返回到Runnable

  2)一个线程可以提前唤醒另外一个sleep Block的线程

       interrupt() 打断/中断

  3) 被唤醒线程出现 中断异常

13) 异步, 同步

  1) 异步: 并发, 各干自己的: 如: 一群人上卡车

  2) 同步: 步调一致的处理, 如: 一群人上公交车, "伦敦制"

14) 案例异步写文件

  1) 一个线程负责将控制台信息读取到内存缓冲区(集合)如果控制台输入quit 将结束输入. 中断写出线程

  2) 一个线程负责将缓冲区中的信息写到硬盘文件

    每次检查缓冲区是否有数据, 如果有就写出, 直到空为止如果没有数据就休眠5秒

写出线程是后台线程, 可以自动结束

  3) 缓冲区采用队列(FIFO)的工作方式

1 两种方式创建线程

  1)继承Thread类

    a 继承Thread类, 覆盖run()方法, 提供并发运程的过程

    b 创建这个类的实例

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved