condition有两层锁: 1. 一把底层锁会在线程调用了wait方法的时候释放(是先创建一把锁,然后再release),底层还是Lock或者RLock, 2.第二把锁会在每次调用wait的时候创建一把新的,并放入到cond的等待队列中(采用的是dqueue),一直acquire,等到notify ...
分类:
编程语言 时间:
2019-07-07 14:49:12
阅读次数:
107
part 1 1.在循环中使用控制语句continue和break,其功能区别是: continue:只控制本次循环的结束。 break:终止并跳出循环,之后的循环也不再执行。 2.在两层嵌套循环中,内层循环如果出现continue或break,是否影响外层循环? 答:通过实验可知,均布影响外层循环 ...
分类:
其他好文 时间:
2019-06-25 13:27:27
阅读次数:
84
1 @UtilityClass 2 public class TreeUtil { 3 /** 4 * 两层循环实现建树 5 * 6 * @param treeNodes 传入的树节点列表 7 * @return 8 */ 9 public <T extends TreeNode> List<T> ...
分类:
编程语言 时间:
2019-06-19 17:11:05
阅读次数:
124
MSTP是一个多生成树协议。MSTP的"多生成树"包括两层含义:一是在一个交换网络中可以基于VLAN划分出多个生成树实例(STI),二是在每个生成树实例中可以包括多个VLAN。而不是像Cisco的PVST、PVST+这样,虽然在整个交换网络中可以基于VLAN划分出多个生成树实例,但是每个生成树实例中仅包括一个VLAN。所以相对PVST、PVST+来说,MSTP更适用于比较大的网
分类:
其他好文 时间:
2019-06-17 10:44:01
阅读次数:
96
一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(读取值时强行获取主内存中的值,设置值时将工作内存的数据刷新到主内存中)2)禁止进行指令重排序。注意:不具备原子性,使用也有很多限制,需要原子性则可以使用juc的锁机制,如:synchro
分类:
其他好文 时间:
2019-06-14 17:55:51
阅读次数:
133
朋友问的问题,我试着写了一下。用了两层递归,感觉很麻烦。 朋友的朋友也拿去实现了一下,我瞬间感觉自己弱爆了。。。 思路已经比较清楚了,可是代码理着理着就乱了,果然还是自己会的东西太少了吧,还是得多看多学。 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
分类:
编程语言 时间:
2019-06-12 19:40:28
阅读次数:
128
冒泡排序是算法中比较重要的知识点,也是程序员必备的知识点. 有两种实现方式: 第一种是两层循环的实现方式: 1:双层for循环嵌套; 2.判断条件如果满足,交换两数位置; 打印出来的结果是 6 5 3 2 1 单层循环的实现方式: 实质上是用单层循环实现多层循环,在for循环中判断当前循环是否结束, ...
分类:
编程语言 时间:
2019-06-11 10:51:00
阅读次数:
119
```html:run<!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="te ...
分类:
其他好文 时间:
2019-06-03 12:35:45
阅读次数:
61
06.01自我总结 一.装饰器 1.函数装饰圈的定义 函数装饰器:一种装饰函数的函数 2.个人理解两层函数装饰器 两层函数装饰器个人觉得他其实就是把需要装饰的函数名丢入形参,然后用一个嵌套的函数 进行添加程序,但是不能减少他的程序内容,他的原来程序不变只能 ,然后返回装饰好的子函数,再全局定义一个变 ...
分类:
编程语言 时间:
2019-06-01 19:12:00
阅读次数:
394