摘要:
/** * 线程池的作用:并行计算 * 计算 1-200000 之间的质数 */ public class T07_ParallelComputing { public static void main(String[] args) throws ExecutionException, InterruptedException { long start =... 阅读全文
摘要:
/** * Future 未来的执行结果 */ public class T06_Future { public static void main(String[] args) throws ExecutionException, InterruptedException { // 未来任务, 既是Runnable 也是 Future Fut... 阅读全文
摘要:
线程池的作用:并行计算 阅读全文
摘要:
1.LinkedBlockingQueue 2.ArrayBlockingQueue 3.DelayQueue可以当做定时任务 4.TransferQueue 5.SynchronousQueue 这个是容量为0的队列,生产者直接把数据交给消费者 总结 阅读全文
摘要:
ConcurrentHashMap的效率要比HashTable的效率高, 因为他两个加锁的粒度不同, HashTable是锁的整个对象 ConcurrentHashMap锁的是其中的一部分,大锁换成小锁 阅读全文
摘要:
这是一个买票的问题 解决方案: 3.优化 阅读全文
摘要:
单例多例需要搞明白两个问题:1. 什么是单例多例;2. 如何产生单例多例;3. 为什么要用单例多例4. 什么时候用单例,什么时候用多例;1. 什么是单例、多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理 阅读全文
摘要:
1.静态方法和非静态方法 2.静态类和非静态类的区别 阅读全文
摘要:
下面代码中B继承了A,在new B对象时,首先执行A的无参构造,不管是new B的有参还是无参。 使用无参构造方法new B时,会执行B的无参构造方法;使用有参构造new B对象时,会执行B的有参构造方法 控制台打印为: 阅读全文
摘要:
线程局部变量 阅读全文
摘要:
1.若是有判断情况下使用wait()方法,是线程中断,则使用while(){}的方法进行判断。 因为判断满足了If的条件,使这个线程中断,进行等待,下次再执行时,它会接着这个if判断继续执行下去,这样可能会出问题。 而while(){}方法会继续执行while进行判断,再做其他的事情。 阅读全文
摘要:
注:处于wait状态下的线程没有被唤醒,不能去抢锁 1.容器 2.生产者 3.消费者 4.测试 阅读全文