2020
10-08
10-08
java并发编程专题(八)----(JUC)实例讲解CountDownLatch
CountDownLatch是一个非常实用的多线程控制工具类。”CountDown”在英文中意为倒计数,Latch为门问的意思。如果翻译成为倒计数门阀,我想大家都会觉得不知所云吧!因此,这里简单地称之为倒计数器。在这里,门问的含义是:把门锁起来,不让里面的线程跑出来。因此,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行。CountDownLatch的构造函数接收一个整数作为参数,即当前这个计数器...
继续阅读 >
用for-each边遍历ArrayList边修改时:publicstaticvoidmain(String[]args){ArrayList<String>list=newArrayList<>();list.add("aa");list.add("bb");list.add("cc");list.add("dd");System.out.println(list);for(Strings:list){if(s.equals("dd")){list.remove(s);}}System.out.println(list);}会报错可以改用如下方式:①用迭代器iterator进行遍...
在springboot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,而不需要另外配置一个WebServer。那么springboot如何启动的呢?今天我们就来一起探究一下它的原理。首先我们来创建一个基本的springboot工程来帮助我们分析,本次springboot版本为2.2.5.RELEASE。//SpringBootDemo.java@SpringBootApplicationpublicclassSpringBootDemo{publicstaticvoidmain(String[]a...
在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的。所以Java中要比较对象的大小或者要对对象的集合进行排序,需要通过比较这些对象的某些属性的大小来确定它们之间的大小关系。一般,Java中通过接口实现两个对象的比较,比较常用就是Comparable接口和Comparator接口。首先类要实现接...