- 博客(3)
- 收藏
- 关注
原创 Leetcode 402. 移掉K位数字 2020.12.3 day01
Leetcode 402. 移掉K位数字贪心;单调栈类型题:402. 移掉 K 位数字316. 去除重复字母1081. 不同字符的最小子序列321. 拼接最大数解题思路:核心:从头到尾遍历,若当前字符cur小于前面的字符,则淘汰前面大的字符。因为若cur前面存在一个比cur还要大的字符,则构成的数字不会是最小。实现:维护一个单调栈,每次当前字符cur都跟栈顶K比较,若栈顶元素大于cur,则出栈,直到不满足栈顶元素>cur(这就是一个while循环)。 最终从栈底得到每一个
2020-12-03 20:47:14 73
原创 JAVA中cyclicbarrier和countdownlatch的区别分别是什么?
概念:CountDownLatch是一个同步的辅助类,允许一个或多个线程,等待其他一组线程完成操作,再继续执行。CyclicBarrier是一个同步的辅助类,允许一组线程相互之间等待,达到一个共同点,再继续执行。应用场景:CountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有的框架服务之后再执行。...
2019-02-10 00:21:42 1549
原创 什么是线程池(thread pool)?
在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁,这就是”池化资源”技术产生的原因。线程池顾名思义就是事先创建若干个可执行的线程放入一个池(容器)中,需要的时候从池中获取...
2019-02-09 23:57:36 786
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人