- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 Java锁——死锁
死锁死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。产生条件java 死锁产生的四个必要条件:1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用 2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资
2017-06-24 21:17:18 914
原创 Java多线程——获取多个线程任务执行完的时间
问题最近我在处理一批数据,用多线程来处理,我想知道大概多久能处理完。比如我先用多线程处理 100 条数据,统计下用时,然后根据总的数据量就可以大概估算出处理完这批数据要多久。使用 CountDownLatch 计时思路:用两个 CountDownLatch 倒计时锁:开始计时锁,任务结束计时锁。开始计时锁在子线程任务开始时通过 await() 阻塞所有子线程,然后在主线程中通过 CountDownL
2017-06-24 19:29:37 20709 2
原创 设计模式——观察者模式
观察者模式模式结构模式涉及角色模式结构图示例代码实现运行结果应用场景观察者模式观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/L
2017-06-04 13:22:16 771
原创 Java——回调机制
按调用方式分为:同步调用:类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。异步调用:类A的方法方法a()通过新起线程的方式调用类B的方法b(),代码接着直接往下执行。回调:包括同步回调和异步回调。类
2017-06-03 19:03:09 789
原创 Spring Boot 整合 Mybatis 和 MySQL
Spring Boot 使用 1.5.3.RELEASE添加依赖在 pom.xml 文件中添加 mybatis 和 MySQL 依赖包<properties> <mybatis-spring-boot>1.3.0</mybatis-spring-boot> <mysql-connector>5.1.39</mysql-connector> </properti
2017-06-01 19:52:56 9760
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人