chp10.ppt

Size: px
Start display at page:

Download "chp10.ppt"

Transcription

1 Java 软件设计基础 Java 线程机制

2 1.Java 中的多线程机制 基本概念 程序 程序是为完成特定任务 用某种语言编写的一组指令的集合, 指一段静态的代码 进程 进程是程序的一次执行过程, 是系统进行调度和资源分配的一个独立单位, 每个进程都有自己独立的一块内存空间 一组系统资源 在进程概念中, 每个进程的内部数据和状态都是完全独立的 计算机上同时运行多个程序叫进程并发 操作系统按照一定的策略调度各个进程执行, 以便最大限度的利用计算机的各种资源 线程的基本概念 线程 (Thread) 是进程中某个单个顺序的控制流, 也被称为轻量进程 (Lightweight Process)

3 线程是进程中的实体 一个进程可以有多个线程, 一个线程必须有一个父进程 线程不拥有系统资源, 只有运行必需的一些数据结构 ; 它与父进程的其他线程共享该进程拥有的全部资源 多线程 多线程指在单个程序中可以同时运行多个不同的线程, 执行不同的任务, 这是实现并发机制的一种有效手段 操作系统使用分时管理各个进程, 按时间片轮流执行每个进程 Java 的多线程就是在操作系统每次分时给 Java 程序一个时间片的 CPU 时间内, 在若干独立的可控制的线程之间切换

4 多个线程运行在多个 CPU 上 多个线程共享单个 CPU

5 线程的生命周期 同进程一样, 线程也有从创建 运行到消亡的过程, 这称为线程的生命周期 创建状态 用 new 关键字和 Thread 类或其子类建立一个线程对象后, 该线程对象就处于创建状态, 这是线程已被创建但未开始执行的特殊状态 处于创建状态的线程是一个空的线程对象, 系统不为它分配资源, 但有自己的内存空间 创建状态的线程通过调用 start() 方法进入就绪状态

6 就绪状态 处于就绪状态的线程已经具备了运行条件, 但还没有分配到 CPU, 因而将进入线程队列, 等待系统为其分配 CPU 线程根据自身优先级进入等待队列的相应位置 一旦获得 CPU, 线程就进入运行状态, 并自动调用自己的 run() 方法 运行状态 进入运行状态的线程顺序执行自己 run() 方法中的代码, 直到调用其他方法而终止, 或等待某资源而阻塞, 或完成任务而死亡 运行状态表示线程拥有了对处理器的控制权, 其代码正在运行, 除非运行过程的控制权被另一优先级更高的线程抢占, 否则这个线程将一直持续到运行完毕

7 阻塞状态 处于运行状态的线程在某些情况下让出 CPU 并暂时终止自己的运行, 进入阻塞状态 执行了 sleep() 方法 ; 等待 I/O 设备等资源 在阻塞状态的线程不能进入就绪队列, 只有当引起阻塞的原因消除时才能转入就绪状态 睡眠时间已到 等待的 I/O 设备空闲 当再次获得 CPU 时, 从原来终止的位置开始继续运行 注意 : 若线程正在等待某个条件, 那么相关联的另一个线程必须通过调用 notify() 或 notifyall() 方法告诉正在等待的线程条件发生了变化

8 死亡状态 这是线程生命周期中的最后一个阶段, 表示线程已退出运行状态, 并且不再进入就绪队伍 当线程的 run() 方法结束或由于其他原因被终止后, 线程就进入消亡状态 线程的终止分两种情况 : 总结 自然死亡» 即从线程的 run() 方法正常退出 ; 被强制性终止» 使用 Thread 类中的 destroy() 方法或 stop() 方法终止»Java 系统不赞成使用 destroy() 方法或 stop() 方法终止线程, 因为若使用不当, 可能会导致程序的死锁

9 多线程的实现方法 多线程有两种实现方法 : 通过继承创建 Thread 类的子类来实现 ; 利用 Runnable 接口来实现 当程序作为一个应用程序运行时,Java 解释器为 main 方法启动一个线程 当程序作为一个 applet 运行时,Web 浏览器启动一个线程来运行 applet 在程序中还可以创建附加的线程以执行并发的任务 Java 中每个任务都是一个 Runnable 接口的实例, 也称为可运行对象 线程本质上就是实现任务的对象

10 创建任务和线程 创建任务 声明一个任务类, 它必须实现 Runnable 接口 Runnable 接口只包含一个 run 方法, 需要实现这个方法来告诉系统线程是如何运行的 一旦声明了一个任务类, 就可以利用其构造方法创建一个任务 在线程中执行任务 根据任务对象创建线程 ; 调用 start 方法告诉 JVM 该线程准备运行 JVM 通过调用任务中的 run 方法执行任务

11 线程的一些常用方法 : start() 方法 线程调用该方法启动一个线程, 使之从新建状态进入就绪队列排队, 一旦轮到它来使用 CPU 资源时, 就可以脱离创建它的主线程独立开始自己的生命周期 run() 方法 线程的所有活动都是通过线程体 run() 方法来定义并实现它被调用以后所执行的操作 Runnable 接口中的 run() 方法是由系统自动调用而用户程序不得引用的方法 sleep() 方法 使线程睡眠一段时间, 单位为毫秒 正在运行的高优先级线程可以在它的 run() 方法体中调用 sleep() 方法来使自己放弃处理器资源而休眠一段时间, 长短由 sleep() 方法的参数决定 如果线程在休眠时被打断,JVM 就抛出 InterruptedException 异常, 因此必须在 try-catch 语句块中调用 sleep() 方法

12 isalive() 方法 测试线程是否处于活动状态 interrupt() 方法 用来唤醒休眠的线程 系统可以通过一定方式让休眠的线程分别调用 interrupt() 方法, 导致休眠的线程发生 InterruptedException 异常, 从而结束休眠, 重新排队等待 CPU 资源 yield() 方法 把线程移到队列的尾部 destroy() 方法 结束线程生命周期但不做清理工作 stop() 方法 结束线程生命周期并执行清理工作

13 线程调度与优先级 在 CPU 上以某种次序执行多个线程被称为调度 线程调度器 为了控制线程的运行策略,Java 定义了线程调度器来监控系统中处于就绪状态的所有线程 线程调度器采用 抢占式 策略来按照线程的优先级决定哪个线程获取处理器投入运行 优先级 Java 将线程的优先级分为 10 个等级, 用 1~10 表示, 数字越大表示优先级越高 Thread 类中定义了三个成员变量 : MIN_PRIORITY: 最低级 (1 级 )

14 MAX_PRIORITY: 最高级 (10 级 ) NORM_PRIORITY: 普通优先级 (5 级 ) 当线程对象被创建时, 默认优先级是 5 级 线程可以通过调用 setpriority 方法改变优先级 抢占式调度 实例 时间片方式 独占方式

15 注意 : 并不是在所有系统中运行 Java 程序时都采用时间片策略调度线程 一个线程在空闲时应该主动放弃 CPU, 以使其他同优先级和低优先级的线程得到执行 在 Java 中比较特殊的一类线程是被称作守护 (Daemon) 线程的低级别线程, 这种线程具有最低的优先级, 用于为系统中的其他对象和线程提供服务 可以通过 setdaemon 方法将一个线程设置为守护线程 JVM 中的系统资源回收线程就是典型的守护线程

16 2. 多线程的创建与实现 Thread 类 在默认情况下 run() 是空的, 必须根据需要重新设计线程的 run 方法, 再使用 start 方法启动线程, 将执行权转交到 run

17 过程 使应用程序继承 Thread 类, 并且在该类的 run 方法中实现并发性处理过程 优点 注意 可以在子类中增加新的成员变量, 使线程具有某种属性 ; 可以在子类中增加新的方法, 是线程具有某种功能 ; run() 方法必须进行重写, 把要在多个线程中并行处理的代码放到这个方法中 虽然 run() 方法实现了多个线程的并行处理, 但不能直接调用 run() 方法, 而是通过 start() 方法来调用 在调用 start() 的时候,start 方法会首先进行与多线程相关的初始化, 然后再自动调用 run() 方法 实例

18

19 Runnable 接口 Runnable 接口中定义的 run 方法 还可以通过向 Thread() 类构造方法传递一个实现了 Runnable 接口的对象来创建进程 Thread 类有多个构造方法, 其中可以接受 Runnable 参数的构造方法有以下两个 : 通过 Runnable 接口实现线程的步骤 : 定义实现 Runnable 接口的类

20 创建实现 Runnable 接口的类对象 创建线程对象 启动线程 实现接口 Runnable 的类仍然可以继承其他父类, 例如 : 实现 Runnable 接口的多线程应用程序框架 :

21 实例

22 public class RunnableEx{ public static void main(string args[]){ Target first,second; first=new Target("First thread ");second=new Target("Second thread "); Thread one,two; one=new Thread(first);two=new Thread(second); one.start();two.start(); class Target implements Runnable{ String s; public Target(String s){ this.s=s; System.out.println(s+"Now building"); public void run(){ System.out.println(s+"Now running"); try{ Thread.sleep(1000); catch(interruptedexception e){system.out.println(e.tostring()); System.out.println(s+"Now over"); First thread Now building Second thread Now building First thread Now running Second thread Now running Second thread Now over First thread Now over

23 继承 Thread 类与实现 Runnable 接口的对比 使用 Runnable 接口 : 可以将 CPU 代码和数据分开, 形成清晰的风格 ; 可以从其他类继承, 适用面广, 保持程序风格的一致性 ; 直接继承 Thread 类 : 编写简单, 可以直接操纵线程, 但不能再从其他类继承

24

25 也可以将以上模式改写如下 : 声明一个 Thread 类的子类, 并实现 Runnable 接口 然后在客户端程序中用这个类生成一个对象, 并调用它的 start 方法来启动线程 不推荐使用以上模式, 因为它将任务和任务运行的机制混在一起 将任务从线程中分离出来是比较好的设计

26 3. 线程的同步与死锁 线程的等待 Java 程序中的线程并发运行将共同争夺 CPU 资源, 哪个线程抢夺到 CPU 资源后就开始运行 线程之间往往会有冲突, 为规避这种现象, 引入线程等待的概念 由于线程的调度执行是按照优先级高低的顺序进行, 因此可使用 sleep 方法让高级线程休眠一段时间使得低优先级线程有机会执行 暂停线程执行的方法 sleep() 方法 suspend() 方法和 resume() 方法 线程的暂停和恢复可通过调用 suspend() 方法使线程暂时由可运行状态切换到不可运行状态 若此线程想再回到可运行状态, 必须由其他线程调用 resume() 方法来实现

27 由于普遍认为上述两种方法和 stop 方法具有内在的不安全因素, 在 Java2 中不提倡这些方法 为了替代 stop() 的使用, 可以通过给 Thread 变量赋值为 null, 指出要停止它的运行 join() 方法 表示当前线程等待调用该方法的线程结束后再恢复执行 一个线程 A 在占有 CPU 资源期间, 可以让其他线程 B 调用 join() 方法与本线程联合, 即 B.join();, 这样称 A 在运行期间联合了 B 如果线程 A 在占有 CPU 资源期间一旦联合 B 线程, 那么 A 线程将立即中断运行, 一直等到它联合的线程 B 执行完毕,A 线程才再重新排队等待 CPU 资源 如果 A 准备联合的线程 B 已经结束, 则 B.join(); 语句将不起任何作用

28 实例 class ThreadEx2 extends Thread{ String s; int m,i=0; ThreadEx2(String s){ this.s=s; public void run(){ try{ for(i=0;i<4;i++){ sleep((int)(500*math.random())); System.out.println(s); System.out.println(s+"finished"); catch(interruptedexception e){return; public static void main(string args[]){ ThreadEx2 a=new ThreadEx2("a "); ThreadEx2 b=new ThreadEx2("b "); a.start();b.start(); System.out.println("main is finished"); main is finished a b a b a b a a finished b b finished

29 public class ThreadJoin{ public static void main(string argsp[]){ TJoin a = new TJoin(); a.threada.start(); a.threadb.start(); class TJoin implements Runnable{ Thread threada,threadb; String content[]={" 各就位 "," 预备 "," 跑 "; public TJoin(){ threada=new Thread(this); threadb=new Thread(this); threadb.setname(" 发令员 "); public void run(){ if(thread.currentthread()==threada){ System.out.println(" 等待 "+threadb.getname()+" 发令 "); try{threadb.join(); catch(interruptedexception e){return; System.out.println(" 开始跑!"); else if(thread.currentthread()==threadb){ System.out.println(threadB.getName()+" 发令 :"); for(int i=0;i<content.length;i++){ System.out.println(content[i]); try{threadb.sleep(1000); catch(interruptedexception e){return;

30 线程的同步 线程同步概念的提出 Java 应用程序的多个线程共享同一进程的数据资源, 多个用户线程在并发运行过程中可能会同时访问具有敏感性的内容 一个线程需要修改该内容时, 另一个线程也要修改该内容, 系统需要对以上情况作出使当的处理 Java 中定义了线程同步的概念, 用来实现共享数据的一致性维护 线程同步的使用主要是保证一个进程中多个线程的协调工作, 使得线程安全的共享数据, 转换和控制线程的执行, 保证内存的一致性 实现同步的方法 在共享内存变量的方法前加上 synchronized 修饰符, 在程序的运行中, 如果某一线程调用经 synchronized 修饰的方法, 在该线程结束此方法之前, 其他所有线程都不能运行该方法, 只有等待到该方法被释放为止

31 在线程同步中要做的第一件事就是要把修改数据的方法用关键字 synchronized 来修饰 synchronized 修饰符的使用 修饰方法 放在对象前面限制一段代码的执行 作为类修饰符, 表明该类中的方法都是 synchronized 的 实例 :

32 public class BankEx{ public static void main(string args[]) throws InterruptedException{ BankSave bs=new BankSave(); Operator o1=new Operator(bs," 丈夫 "); Operator o2=new Operator(bs," 妻子 "); Thread t1=new Thread(o1); Thread t2=new Thread(o2); t1.start(); t2.start(); Thread.currentThread().sleep(500); class BankSave{ private static int money=1000; public void add(int i){ money=money+i; System.out.println(" 丈夫存入 "+i+" 元, 余额 "+money+" 元 "); public void get(int i){ if(i<=money){ money=money-i; System.out.println(" 妻子取走 "+i+" 元, 余额 "+money+" 元 "); else System.out.println(" 余额不足 "); public int showmoney(){return money;

33 丈夫存入 1000 元, 余额 2000 元丈夫存入 1000 元, 余额 3000 元丈夫存入 1000 元, 余额 4000 元丈夫存入 1000 元, 余额 5000 元丈夫存入 1000 元, 余额 6000 元妻子取走 1000 元, 余额 5000 元妻子取走 1000 元, 余额 4000 元妻子取走 1000 元, 余额 3000 元妻子取走 1000 元, 余额 2000 元妻子取走 1000 元, 余额 1000 元

34 线程的死锁 当两个或多个线程等待一个不可能满足的条件时会发生死锁 死锁是发生在线程间相互阻塞的现象, 允许多个线程并发访问共享资源时, 必须提供同步机制, 然而如果对这种机制使用不当, 可能会出现线程永远被阻塞的现象 例如两个线程分别等待对方各自占有的一个资源, 就会产生死锁 Java 本身既不能预防死锁, 也不能发现死锁, 只能靠程序设计上的谨慎来避免 线程的调度 线程调度方法 Java 的线程同步运行会竞争资源, 但是它们的任务间存在一定的关联, 这就需要调度 Java 提供了三个方法实现线程的调度和通信 :

35 wait(): 等待方法 可让当前线程放弃监视器并进入睡眠状态, 直到其他线程进入同一监视器并调用 notify() 方法为止 notify(): 唤醒方法 可唤醒同一对象监视器中调用了 wait() 方法的第一个线程, 并把它移入锁申请队列 notifyall(): 唤醒所有线程的方法 唤醒同一对象监视器中调用了 wait() 方法的所有线程, 具有最高优先级的线程首先被唤醒 线程的调度规则 如果两个或两个以上的线程都修改一个对象, 那么把执行修改的方法定义为 synchronized 的, 若对象更新影响到只读方法, 那么只读方法应该也定义为同步的 ; 如果一个线程必须等待一个对象状态发生变化, 那么它应该在对象内部等待, 而不是在外部等待, 它可以调用一个被同步的方法, 并让这个方法调用 wait(); 每当一个方法改变某个对象的状态时, 它应该调用 notifyall() 方法, 这给等待队列的线程提供机会来看一看执行环境是否已发生变化

36 wait() notify() notifyall() 方法属于 Object 类而非 Thread 类, 在使用时要仔细检查是否每个 wait() 方法都有相应的 notify() 或 notifyall() 方法且作用于相同的对象 对于多个线程同时等待某个条件的情况, 当条件满足时应该使用 notifyall() 方法唤醒 否则某些线程会一直等待下去导致死锁 更为保险的做法是, 任何情况下都使用 notifyall() 方法唤醒等待的线程 应当区分由于得不到锁而等待的线程和由于调用了 wait() 方法而等待的线程 wait() 和 notify() 只能在一个同步的方法或代码块内部调用, 若在一个不同步的方法内调用, 运行时将产生非法监视器状态异常 (IllegalMonitorStateException) Java 中的每个类都有一个主线程 要执行一个程序, 那么这个类当中一定要有 main 方法,main 方法就是 Java 类中的主线程 实例 : 模拟三人买票 说明 :

37 售货员最初只有一张五元钱, 电影票五元一张 排队的三人中,A 有一张二十元人民币,B 有一张十元人民币,C 有一张五元人民币 如果给售票员的钱不是零钱, 而售票员又没有零钱找, 那么此人必须等待, 并允许后面的人买票, 以便售票员获得零钱 分析 A/B/C 三人买票就像三个线程, 每个线程必须满足以上条件 ( 售票员有足够的找零或者提供售票员的是五元零钱 ) 才能执行 ; A/B/C 三人同时只能有一人向售票员买票 ; 不满足条件时需要等待

38

39 else if(receivemoney==20){ while(five<1 ten<1){ try{ System.out.println(Thread.currentThread().getName()+" 请您一旁等待 "); wait(); System.out.println(Thread.currentThread().getName()+" 结束等待 "); catch(interruptedexception e){ return; five--; ten--; twenty++; System.out.println(Thread.currentThread().getName()+" 给我二十元钱, 售票一张, 找零十五元 "); notifyall(); public class TicketEx{ public static void main(string args[]){ Cinema a = new Cinema(); a.a.start(); a.b.start(); a.c.start();

40 思考题 : 等待电梯的程序 假设电梯停靠楼层为 1~8,8 个楼层都有可能有人要求搭乘电梯去往目的楼层 电梯控制台在同一时刻只可能对一个方向 ( 上 下 ) 作出响应, 并到达得到响应的楼层 再复杂一些, 在响应后的某个行进方向上如果有楼层的搭乘要求符合该方向, 则 顺便 完成该要求 如当前在 8 楼的电梯响应 1 楼的要求向下行进, 如果此时 4 楼的向下键被按下, 则在 4 楼停靠, 顺路搭载 4 楼的用户 电梯的运行时间上的延迟可以用 sleep 方法完成, 未得到响应的用户则通过 wait 来等待

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

PowerPoint Presentation

PowerPoint Presentation L o g o Java 线程 中软培训中心 内容概述 了解什么是线程 定义线程 实例化线程 启动线程 同步代码 了解线程的 4 个状态之间的转换关系 专题 继承 Thread 和和实现 Runnable 的比较 线程之间的关系 本章目标 学完以后我们应该可以 : 了解什么是线程 编程定义线程 编程实例化线程 知道如何启动线程 会使用同步代码来保护资源 说出线程的 4 个状态之间的转换关系 程序 进程和线程

More information

Natural Language Processing, Topic Modeling, Neural Text Generation and Ali Xiaomi

Natural Language Processing, Topic Modeling, Neural Text Generation and Ali Xiaomi 并行计算 :Parallel Computing 结构编程算法应用 3.3 Java 并发与并行程序 设计 徐悦甡 (Yueshen Xu) ysxu@xidian.edu.cn 软件工程系西安电子科技大学 本节提纲 Java 语言基础讨论 Java 并发程序设计 Java 多线程机制 Java 中多线程的创建 Thread 方法途径 Runnable 接口途径 Java 多线程程序举例 Java

More information

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074>

<4D F736F F F696E74202D20B8DFBCB6D3C3BBA7BDE7C3E6D3EBB6E0CFDFB3CC2E707074> 高级用户界面与多线程 LCDUI 高级 LCDUI LCDUI 与多线程 多线程在手机编程中尤为重要 手机游戏开发中, 通常由游戏主线程负责游戏的基本控制, 除此之外还会由一个或者多个线程用于播放背景音乐或声效 网络接受数据时, 传输速度通常都比较慢, 因此可以使用一个独立的线程负责接收数据, 另外一个线程负责 UI 界面和与用户的交互 LCDUI 与多线程 J2ME 是通过线程体来实现多线程的 线程体就是用于实现线程活动的主体,

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

Microsoft PowerPoint - 14Threads.ppt

Microsoft PowerPoint - 14Threads.ppt Threads Outline Introduction to Threads How to create Thread extend Thread implement Runnable interface Synchronization What is thread? 定義 : 程式的執行軌跡 Single Thread Multi-Thread 依序執行 int x, y; int z; x =

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

01_Service

01_Service 移动平台应用软件开发 Service 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组 北京大学 二零一七年 什么是 Service 与 Activity 一样, 同属 Android 基本组件 后台运行, 不与用户交互, 没有可视化界面 最常见的 Service 如 : 在后台播放歌曲 后台执行文件的下载 同样需在 AndroidManifest.xml

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

<4D F736F F F696E74202D20B5DA35D5C220D2ECB3A3BACDB6E0CFDFB3CC2E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA35D5C220D2ECB3A3BACDB6E0CFDFB3CC2E BBCE6C8DDC4A3CABD5D> 第 5 章 异常和多线程 5.1 Java 异常处理 5.2 Java 中的多线程 5.1 Java 异常处理 5.1.1 Java 的异常类和异常处理 \ 1. 异常的产生 异常是指在程序运行过程中, 打断程序正常执行的事件 Java 语言通过异常类 (Exception) 和异常子类, 来处理程序运行过程中产生的异常 一个异常事件由一个异常类的对象来代表并作出处理 确保不对系统造成破坏, 保证程序运行的安全性和强健性

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

Microsoft Word - 投影片ch15

Microsoft Word - 投影片ch15 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十五章多執行緒 本章學習目標認識執行緒學習如何建立執行緒學習如何管理執行緒認識執行緒的同步處理 多執行緒 15-2 15.1 認識執行緒 多執行緒 的機制可以同時執行多個程式區塊 app15_1 是單一執行緒的範例 : 01 // app15_1, 單一執行緒的範例 02 class CTest 03 { 04 private

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

while (queue.isempty() && newtasksmaybescheduled) queue.wait(); if (queue.isempty()) break; // Queue is empty and will forever remain; die if (!taskfi

while (queue.isempty() && newtasksmaybescheduled) queue.wait(); if (queue.isempty()) break; // Queue is empty and will forever remain; die if (!taskfi 深入浅出 Java Concurrency (32): 线程池 part 5 周期性任务调度 周期性任务调度前世 在 JDK 5.0 之前,java.util.Timer/TimerTask 是唯一的内置任务调度方法, 而且在很长一段 时间里很热衷于使用这种方式进行周期性任务调度 首先研究下 Timer/TimerTask 的特性 ( 至于 javax.swing.timer 就不再研究了 ) public

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

Microsoft PowerPoint - Java - Lecture 4 Thread & JDBC.ppt

Microsoft PowerPoint - Java - Lecture 4 Thread & JDBC.ppt 第七章多线程程序设计 Definition: A thread is a single sequential flow of control within a program 一个线程是程序中的一个顺序执行流 多线程是指一个程序中有多个顺序执行流 JAVA 在语言级支持多线程 (thread) 的程序设计 1 有些应用更适合用多线程的机制来实现 例 : 具有 GUI 的应用程序, 单线程难于高效实现

More information

附录J:Eclipse教程

附录J:Eclipse教程 附 录 J:Eclipse 教 程 By Y.Daniel Liang 该 帮 助 文 档 包 括 以 下 内 容 : Eclipse 入 门 选 择 透 视 图 创 建 项 目 创 建 Java 程 序 编 译 和 运 行 Java 程 序 从 命 令 行 运 行 Java Application 在 Eclipse 中 调 试 提 示 : 在 学 习 完 第 一 章 后 使 用 本 教 程 第

More information

Guava学习之CharSequenceReader

Guava学习之CharSequenceReader CharSequenceReader 类是以 CharSequence 的形式读取字符 CharSequenceReader 类继承自 Reader 类, 除了 remaining() hasremaining() 以及 checkopen() 函数之后, 其他的函数都是重写 Reader 类中的函数 CharSequenceReader 类声明没有用 public 关键字, 所以我们暂时还不能调用这个类

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B,

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B, 1 下列类头定义中, 正确的是 A class x B public x extends y C public class x extends y. D class x extends y implements y1 2 现有两个类 A B, 以下描述中表示 B 继承自 A 的是 (D ) A) class A extends B B) class B implements A C) class A

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

VM GC HotSpot JVM Oracle OpenJDK Java JVM JVM Java Java 記憶體洩漏 memory leak Java public static void main(string args[]) { int bigarray[] = new int[10000

VM GC HotSpot JVM Oracle OpenJDK Java JVM JVM Java Java 記憶體洩漏 memory leak Java public static void main(string args[]) { int bigarray[] = new int[10000 第六章 Java Java Java HotSpot JVM GC Java Java Memory and Concurrency Java 記憶體回收 garbage collection Lisp C C++ free() delete Java Java Java Java 在記憶體管理的基本概念 207 VM GC HotSpot JVM Oracle OpenJDK Java JVM JVM

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

Java 面试关键与综合软件项目开发全程实战 把一般类和特殊类的对象实例所共同具有的属性和操作在一般类中进行显式地定义, 在特殊类中不再重复地定义这些东西, 但是在语义上, 特殊类却自动地 隐含地拥有它的一般类 ( 以及所有更上层的一般类 ) 中定义的属性和操作 特殊类的对象拥有一般类的全部或部分属

Java 面试关键与综合软件项目开发全程实战 把一般类和特殊类的对象实例所共同具有的属性和操作在一般类中进行显式地定义, 在特殊类中不再重复地定义这些东西, 但是在语义上, 特殊类却自动地 隐含地拥有它的一般类 ( 以及所有更上层的一般类 ) 中定义的属性和操作 特殊类的对象拥有一般类的全部或部分属 第 章 Java 的高级特性 本章导读 Java 编程语言之所以受到广大开发人员的追捧, 并经久不衰, 除了具有面向对象编程语言的基本功能外, 还具有如多线程 丰富的流功能 抽象类 接口等高级功能 本章在上一章的 Java 基础知识之上更深入一步, 讲述 Java 的高级特性 本章开篇小节讲述 Java 中的继承, 包括单继承的实现 访问控制 方法重载 方法覆盖 多态实现和隐藏技术等 ; 接着讲述

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - JAVA Programming Language Homework VI_ans.doc

Microsoft Word - JAVA Programming Language Homework VI_ans.doc JAVA Programming Language Homework VI: Threads & I/O ID: Name: 1. When comparing java.io.bufferedwriter to java.io.filewriter, which capability exists as a method in only one of the two? A. Closing the

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

chp11.ppt

chp11.ppt Java 软 件 设 计 基 础 Applet 程 序 1.Applet 概 念 Applet 与 Application Application 是 能 独 立 运 行 的 程 序 单 位 ; Applet 程 序 不 能 独 立 运 行, 必 须 依 附 在 网 页 上, 借 助 于 浏 览 器 才 能 运 行 通 常 置 于 服 务 器 端, 当 用 户 连 接 到 该 网 页,Applet

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

2009年9月全国计算机等级考试二级Java真题及答案

2009年9月全国计算机等级考试二级Java真题及答案 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟,

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 复习 Upcasting 同一基类的不同子类可以被视为同一类型 ( 基类 ) 放宽类型一致性 简化接口 class A{ class B{ A a = new A(); B b = new B(); // A a = new B(); compile

More information

Natural Language Processing, Topic Modeling, Neural Text Generation and Ali Xiaomi

Natural Language Processing, Topic Modeling, Neural Text Generation and Ali Xiaomi 并行计算 :Parallel Computing 结构编程算法应用 3.4 Python 并发程序设计 徐悦甡 (Yueshen Xu) ysxu@xidian.edu.cn 软件工程系西安电子科技大学 本节提纲 Python 语言基础 Python 基础语法 Python 面向对象编程 Python 并发程序设计 (Concurrency) Python 多线程机制 Python 中线程的创建 Python

More information

未命名

未命名 1 Synchronized synchronized Java ( ) Synchronized Java unlock lock load assign unlock (happen-before) lock Synchronized null " " HotSpot JVM Object Monitor synchronized 1 2 Class synchronized monitor Class

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

Hive:用Java代码通过JDBC连接Hiveserver

Hive:用Java代码通过JDBC连接Hiveserver Hive: 用 Java 代码通过 JDBC 连接 Hiveserver 我们可以通过 CLI Client Web UI 等 Hive 提供的用户接口来和 Hive 通信, 但这三种方式最常用的是 CLI;Client 是 Hive 的客户端, 用户连接至 Hive Server 在启动 Client 模式的时候, 需要指出 Hive Server 所在节点, 并且在该节点启动 Hive Server

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

<4D F736F F D204A617661B2A2B7A2B1E0B3CCCAB5BCF92DB5E7D7D3CAE92D3031D5C22E646F63>

<4D F736F F D204A617661B2A2B7A2B1E0B3CCCAB5BCF92DB5E7D7D3CAE92D3031D5C22E646F63> 第一章 Java 并发编程实践基础 第一章 Java 并发编程实践基础...1 1.1 进程与线程...2 1.1.1 进程...2 1.1.2 线程...6 1.2 创建多线程...7 1.2.1 继承 Thread 创建线程...8 1.2.2 实现 Runnable 接口创建线程...8 1.2.3 线程池...9 1.3 线程的基本控制...12 1.3.1 使用 Sleep 暂停执行...13

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

Microsoft Word - Broker.doc

Microsoft Word - Broker.doc Broker 模式 采用 broker 模式对分布式计算进行简单模拟 系统在一个进程内模拟分布式环境, 因此不涉及网络编程和进程间通信,Broker 通过本地函数调用的方式实现 request 和 response 的转发 采用 broker 模式对分布式计算进行简单的模拟, 要求如下 : 设计四个 server, 一个 server 接收两个整数, 求和并返回结果, 一个 server 接收两个整数,

More information

第 1 章 Chapter 1 线程基础 本章将涵盖 C# 中使用线程的基本操作 你将学到以下内容 : 使用 C# 创建线程 暂停线程 线程等待 终止线程 检测线程状态 线程优先级 前台线程和后台线程 向线程传参 使用 C# 中的 lock 关键字 使用 Monitor 类锁定资源 处理异常 1.1

第 1 章 Chapter 1 线程基础 本章将涵盖 C# 中使用线程的基本操作 你将学到以下内容 : 使用 C# 创建线程 暂停线程 线程等待 终止线程 检测线程状态 线程优先级 前台线程和后台线程 向线程传参 使用 C# 中的 lock 关键字 使用 Monitor 类锁定资源 处理异常 1.1 第 1 章 Chapter 1 线程基础 本章将涵盖 C# 中使用线程的基本操作 你将学到以下内容 : 使用 C# 创建线程 暂停线程 线程等待 终止线程 检测线程状态 线程优先级 前台线程和后台线程 向线程传参 使用 C# 中的 lock 关键字 使用 Monitor 类锁定资源 处理异常 1.1 简介 过去普通计算机只有一个计算单元, 不能同时执行多个计算任务 然而操作系统却已经可以同时运行多个应用程序,

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja

javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja Java 基 础 知 识 总 结 一 :java 概 述 : 1,JDK:Java Development Kit,java 的 开 发 和 运 行 环 境,java 的 开 发 工 具 和 jre 2,JRE:Java Runtime Environment,java 程 序 的 运 行 环 境,java 运 行 的 所 需 的 类 库 +JVM(java 虚 拟 机 ) 3, 配 置 环 境 变

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指 导 你 搭 建 Linux 平 台 下 的 JAVA 开 发 环 境, 包 括 JDK 以 及 集

More information

java 难 试卷 总分 题号 一 二 三 四 五 题分 得分 得分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B P

java 难 试卷 总分 题号 一 二 三 四 五 题分 得分 得分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B P java 难 试卷 总分 题号 一 二 三 四 五 题分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B PrintStream 类位于 IO 包中, 是字符输出流的子类 C 调用 println() 方法和 print()

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

Microsoft PowerPoint - 08_OO_CJC.ppt

Microsoft PowerPoint - 08_OO_CJC.ppt C++ 中的 Hello World! C 程序设计语言 第 8 章 OO 与 C++ Java C# 孙志岗 sun@hit.edu.cn http://sunner.cn 兼容 C 语言的 : #include int main() printf("hello,, world!\n"); return 0; 更具 C++ 味道的 : #include int

More information

電機工程系認可證照清單 2011/7/1

電機工程系認可證照清單                  2011/7/1 南 台 科 技 大 學 電 機 工 程 系 專 業 證 照 課 程 實 施 要 點 96 年 10 月 05 日 系 務 會 議 通 過 100 年 06 月 30 日 系 務 會 議 修 正 通 過 101 年 06 月 21 日 系 務 會 議 修 正 通 過 一 本 系 為 提 升 學 生 的 專 業 技 能, 特 訂 定 本 辦 法 二 實 施 對 象 : 本 系 日 間 部 96 學 年

More information

JBuilder Weblogic

JBuilder Weblogic JUnit ( bliu76@yeah.net) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC

More information

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址   access_token=access_token (http 停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 https://webapi.zego.im/cgi/stop-mix? access_token=access_token (https://webapi.zego.im/cgi/stop-mix? access_token=access_token)

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2016 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于

计 算 机 系 统 应 用 http://www.c-s-a.org.cn 2016 年 第 25 卷 第 4 期 线 程 的 复 用 [2,3]. 通 常 情 况 下, 服 务 器 端 程 序 在 启 动 时 创 建 若 干 数 量 的 线 程 对 象 并 缓 存 起 来, 此 时 它 们 处 于 1 线 程 池 技 术 在 考 试 系 统 中 的 应 用 葛 萌 1, 于 博 2, 欧 阳 宏 基 ( 咸 阳 师 范 学 院 信 息 工 程 学 院, 咸 阳 712000) ( 河 南 建 筑 职 业 技 术 学 院 信 息 工 程 系, 郑 州 450064) 1 摘 要 : 当 较 大 规 模 客 户 端 并 发 请 求 服 务 器 端 应 用 程 序 时, 传 统 的 为 每 个 请

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 Java 高级技术 课程第二讲 Java 语言的面向对象特性 (2) 李戈 北京大学信息科学技术学院软件研究所 2010 年 3 月 21 日 课程助教 : 前言 黎育龙 (10817195@pub.ss.pku.edu.cn) Email 标题 :Java 高级技术 + 题目 请不要把作业发到我的信箱 ; 新的课程网站 http://www.ontoedu.pku.edu.cn/index.jsp

More information

PowerPoint Presentation

PowerPoint Presentation 中 小 IT 企 业 人 力 资 源 管 理 咨 询 简 介 一 背 景 分 析 二 需 求 分 析 三 服 务 内 容 四 操 作 流 程 五 斯 隆 优 势 六 行 业 案 例 七 服 务 理 念 目 录 一 背 景 分 析 -IT 业 现 状 分 析 IT 产 业 的 总 量 水 平 较 低 中 国 IT IT 现 状 总 体 规 模 较 小 技 术 自 主 创 新 能 力 差 对 经 济 的

More information

NethersoleJO89(8).indd

NethersoleJO89(8).indd 2 3 4 5 6 7 8 9 10 雅風四十六期 二零零八年九月 婆婆的愛心感動了我 陳姑娘在災區認識了白婆婆 她的家人全都在外地工 作 婆婆表示地震當日 她急忙地救了兩戶鄰舍的兩名小 孩 拖著六歲的男孩和揹著四個月大的嬰孩從災區步行兩 日後到達救援區 獲救的男孩每天都前往帳篷探望婆婆 因此她面上常帶笑容 每當白婆婆看見義工隊到災區時 都會送上暖暖的問候 更將獲配給的涼水贈予義工們 她 那真誠和熱切的關懷深深感動了義工隊

More information

三种方法实现Hadoop(MapReduce)全局排序(1)

三种方法实现Hadoop(MapReduce)全局排序(1) 三种方法实现 Hadoop(MapReduce) 全局排序 () 三种方法实现 Hadoop(MapReduce) 全局排序 () 我们可能会有些需求要求 MapReduce 的输出全局有序, 这里说的有序是指 Key 全局有序 但是我们知道,MapReduce 默认只是保证同一个分区内的 Key 是有序的, 但是不保证全局有序 基于此, 本文提供三种方法来对 MapReduce 的输出进行全局排序

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information