什么是反射 (1)Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 (2)反射(Reflection)是Java程序开发语言的特征之一,它允 ...
分类:
编程语言 时间:
2018-01-26 01:39:11
阅读次数:
256
转自:条件阻塞Condition的应用 Condition将Object监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意Lock实现组合使用,为每个对象提供多个等待 set(wait-set)。其中,Lock 替代了synchronized方 ...
分类:
其他好文 时间:
2018-01-25 13:14:31
阅读次数:
144
Java的Object类包含了三个final方法,允许线程就资源的锁定状态进行通信。这三个方法分别是:wait(),notify(),notifyAll(),今天来了解一下这三个方法。在任何对象上调用这些方法的当前线程应具有对象监视器(锁住了一个对象,就是获得对象相关联的监视器),否则会抛出java ...
分类:
编程语言 时间:
2018-01-24 11:00:47
阅读次数:
172
线程在一定条件下,状态会发生变化。线程一共有以下几种状态: 1、新建状态(New):新创建了一个线程对象。 2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU ...
分类:
编程语言 时间:
2018-01-23 01:05:14
阅读次数:
176
本例是阅读Think in Java中相应章节后,自己实际写了一下自己的实现 输出是 的不停循环。 应该算成功了吧。 ...
分类:
编程语言 时间:
2018-01-21 01:09:46
阅读次数:
144
Java提供了一套API来支持线程之间的交互。在Object类中提供了一套等待通知的API wait() notify() notifyAll() 此处要注意的是,绝不
分类:
编程语言 时间:
2018-01-14 13:07:37
阅读次数:
155
//加synchronize进行同步 //释放资源又很快获得自身的资源,这样不妥,吃完的话休息100ms //每个人先申请编号小的筷子 public class Philosopher implements Runnable { int[] fork=new int[5]; Thread threa... ...
分类:
编程语言 时间:
2017-12-31 22:27:13
阅读次数:
203
一. 现在wait方法和notifyAll方法,我们比较纠结。为什么这么说,之前同步里面的锁是我们自定义的,比如this,obj,而现在这个锁是我们自己new的,并且是根据1.5之后的锁对象来完成的。 以前写this和obj时,wait方法和notifyAll方法都是在这个锁上进行的操作,现在锁没了 ...
分类:
编程语言 时间:
2017-12-23 15:45:36
阅读次数:
212
Sleep():指定线程睡眠多长时间 Yield():让出cpu给其他线程 Notify():叫醒线程 Notifyall():叫醒所有线程 Setpriority():设定优先级 继承Thread线程类或者实现runnable接口,推荐使用实现接口的方法来实现,因为java不可以多继承。然后再重写 ...
分类:
编程语言 时间:
2017-11-27 16:54:09
阅读次数:
229
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例 如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PR ...
分类:
编程语言 时间:
2017-11-25 19:23:05
阅读次数:
192