上一页 1 2 3 4 5 6 7 ··· 24 下一页
摘要: 1.LinkedBlockingQueue 2.ArrayBlockingQueue 3.DelayQueue可以当做定时任务 4.TransferQueue 5.SynchronousQueue 这个是容量为0的队列,生产者直接把数据交给消费者 总结 阅读全文
posted @ 2019-10-18 17:56 我爱si搬砖 阅读(403) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap的效率要比HashTable的效率高, 因为他两个加锁的粒度不同, HashTable是锁的整个对象 ConcurrentHashMap锁的是其中的一部分,大锁换成小锁 阅读全文
posted @ 2019-10-18 17:06 我爱si搬砖 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 这是一个买票的问题 解决方案: 3.优化 阅读全文
posted @ 2019-10-18 16:34 我爱si搬砖 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 单例多例需要搞明白两个问题:1. 什么是单例多例;2. 如何产生单例多例;3. 为什么要用单例多例4. 什么时候用单例,什么时候用多例;1. 什么是单例、多例:所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理 阅读全文
posted @ 2019-10-18 15:49 我爱si搬砖 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 1.静态方法和非静态方法 2.静态类和非静态类的区别 阅读全文
posted @ 2019-10-18 15:42 我爱si搬砖 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 下面代码中B继承了A,在new B对象时,首先执行A的无参构造,不管是new B的有参还是无参。 使用无参构造方法new B时,会执行B的无参构造方法;使用有参构造new B对象时,会执行B的有参构造方法 控制台打印为: 阅读全文
posted @ 2019-10-18 15:15 我爱si搬砖 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 线程局部变量 阅读全文
posted @ 2019-10-18 14:43 我爱si搬砖 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1.若是有判断情况下使用wait()方法,是线程中断,则使用while(){}的方法进行判断。 因为判断满足了If的条件,使这个线程中断,进行等待,下次再执行时,它会接着这个if判断继续执行下去,这样可能会出问题。 而while(){}方法会继续执行while进行判断,再做其他的事情。 阅读全文
posted @ 2019-10-18 13:19 我爱si搬砖 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 注:处于wait状态下的线程没有被唤醒,不能去抢锁 1.容器 2.生产者 3.消费者 4.测试 阅读全文
posted @ 2019-10-18 13:10 我爱si搬砖 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1.同步方法和非同步方法是否可以同时调用 可以同时调用,可以理解为不加synchronized的方法无视这个对象的锁 2.对业务写方法上枷锁,业务读方法上不加锁,可能会产生脏读现象(读到在写的过程中还没有完成的数据) 3.一个同步方法可以调用另外一个同步方法, 一个线程已经拥有了某个对象的锁,再次申 阅读全文
posted @ 2019-10-17 11:55 我爱si搬砖 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 24 下一页