java每日一讲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意:调用yield方法并不会让线程进入阻塞状态,而是让 线程重回就绪状态,它只需要等待重新获取CPU执行时间, 这一点是和sleep方法不一样的。
isAlive()方法 方法isAlive()的功能是判断当前线程是否处于活动状态
方法isAlive()的作用是测试线程是否偶处于活动状态。什 么是活Leabharlann Baidu状态呢?活动状态就是线程已经启动且尚未终止。 线程处于正在运行或准备开始运行的状态,就认为线程是 “存活”的。
每日一讲
析)
荣俊
(Java面试题解
主讲人:孙
多线程作为Java中很重要的一个知识点,在此还是有必要复习一下的。
• 线程的生命周期及五种基本状态
yield()方法: 调用yield方法会让当前线程交出CPU权限,让CPU去执行 其他的线程。它跟sleep方法类似,同样不会释放锁。但 是yield不能控制具体的交出CPU的时间,另外,yield方 法只能让拥有相同优先级的线程有获取CPU执行时间的机 会。
到目前位置,有了线程阻塞运行状态的3种方法: 1、调用Thread.sleep(): 2、调用Thread.yield(): 3、调用join()方法 除了以上三种方式外,还有几种特殊情况可能使线程离开运行状态: 1、线程的run()方法完成。 2、在对象上调用wait()方法(不是在线程上调用)。 3、线程不能在对象上获得锁定,它正试图运行该对象的方法代码。 4、线程调度程序可以决定将当前运行状态移动到可运行状态,以 便让另一个线程获得运行机会,而不需要任何理由。
D(因为static修饰的变量代表全
局的,在类加载的时候就会加载,
如果放在非static方法里,又成局
部的了,自然不对了;个人理解,
放在非static方法里了,因为方法
没有加载到,自然不会加载方法 里的变量了,但是却用static修饰 了,自然冲突了)
在一个线程中 Sleep ( 1000 )方法,将使得该线程在多少时间 后获得对 CPU 的控制(假设睡眠过程中不会有其他事件唤醒该线 程) A. 正好1000毫秒 B. 1000毫秒不到 C. =>1000毫秒 D. 不一定 • C (因为在1000ms之后,只是让线程重新回到队列中,如果还 有其它线程在执行,还会继续等待,不会立即取得CPU的控制)
在Java中,若在try-catch-finally的try语句块 中插入return语句,finally语句块是否会执行?
• 会执行。当退出try语句块时,finally语句块将执行。即使我们试 图从try语句块里跳出(通过return语句、continue语句、break 语句或任意异常语句),finally语句块仍将得以执行。
public class Test { public int aMethod() { static int i = 0; i++; return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println( j); } } 输出结果是什么? A. 0 B. 1 C. 2 D. 编译失败
相关文档
最新文档