JAVA
雨落花潭
这个作者很懒,什么都没留下…
展开
-
线程状态
线程状态新生状态就绪状态运行状态死亡状态阻塞状态新生状态线程对象一旦创建,就进入到新生状态。就绪状态当调用start()方法,线程立即进入就绪状态,但是不意味着立即高度执行。运行状态进入运行状态,线程才真正执行线程的代码块。阻塞状态当调用sleep()、wait()或同步锁定时,线程进入阻塞状态,所谓就是代码不往下执行,在等待着,同理不保证调用以上方法就立即阻塞。阻...转载 2019-05-26 17:42:10 · 129 阅读 · 0 评论 -
线程通信
线程通信使用wait()、notify()或者notifyAll()实现线程通信解决方式1:管程法并发协作模型“生产者/消费者模式”——>管程法生产者:负责生产数据的模块(这里的模块可能是:方法、对象、线程、进程)消费者:负责处理数据的模块(这里的模块可能是:方法、对象、线程、进程)缓冲区:消费者不能直接使用生产者的数据,它们之间有个“缓冲区”;生产者将生产好的数据放入“缓冲区...转载 2019-05-26 17:34:39 · 79 阅读 · 0 评论 -
线程同步
线程同步由于同一进程的多个线程共享同一块存储空间,带来 了访问冲突问题。为保证数据在方法中被访问时的正确性,在访问时加入锁机制(synchronized),当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可。锁的使用存在以下问题:一个线程持有锁会导致其它所有需要此锁的线程挂起;在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题;如果一个优...转载 2019-05-26 17:46:30 · 70 阅读 · 0 评论 -
Java的反射
反射反射机制指的是可以于运行时加载、探知、使用编译期间完全未知的类。程序在运行状态中,可以动态加载一个只有名称的类,对于任意一个已加载的类,都能够知道这个类的所有属性和文法对于任意一个对象,都能够调用它的任意一个方法和属性。Class c = Class.forName(com.abc.User)加载完类之后,在堆内存中,就产生了一个Class类型的对象(一个类只胡一个Class对象)...原创 2019-07-26 15:00:51 · 72 阅读 · 0 评论