摘要: 双击shift 阅读全文
posted @ 2018-06-29 15:24 罗贱人 阅读(484) 评论(0) 推荐(0) 编辑
摘要: 基础慢慢补回来 "二叉树遍历" 递归 递归就不仔细介绍了:比左右的子树取最大值。 public int calculateHeight(BinaryTreeNode node) { if (node == null) { return 0; } int left = calculateHeight( 阅读全文
posted @ 2018-06-22 15:24 罗贱人 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用定时器呢? 比如说一个web应用,如果这个应用规模很大,那它的日志数据是不是很多。如果一直存下来服务器的存储量怕是不行吧,需要隔一段时间删除,那么就需要一个线程每隔一段时间去删除日志数据。 直接来个程序: import java.util.Timer; import java.util. 阅读全文
posted @ 2018-06-21 16:25 罗贱人 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 参考https://www.cnblogs.com/jeacebolgs/p/6580428.html https://www.cnblogs.com/zhouyuqin/p/5143121.html https://blog.csdn.net/xlgen157387/article/details 阅读全文
posted @ 2018-06-12 10:10 罗贱人 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 今天看了 Lock,最大的感觉就是 ReentrantLock 类有很多方法可以使用 为什么提出Lock? Lock 是 Java1.5 后提出来的,之前有 synchronized 关键字来控制同步。那么为什么要提出Lock呢?肯定是 synchronized 有缺陷所以需要完善。 synchro 阅读全文
posted @ 2018-06-09 20:58 罗贱人 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 以前没有好好学数据结构现在需要补回来欠的账还是要还的。 不知道大家喜不喜欢看权利的游戏个人还是十分推荐看!十分好看!!! 看上图这么多人物如果你想要找某个人是不是很奔溃!!! 假如这个人自身含有一些信息。 假如你找的人是 “小恶魔” 提利昂·兰尼斯特(个人非常喜欢他) 兰尼斯特家族,父亲是泰温兰尼斯 阅读全文
posted @ 2018-06-05 11:39 罗贱人 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 前序遍历:{b,c,e,f,d,a} 中序遍历:{e,c,f,b,a,d} 后续遍历:{e,f,c,a,d,b} 宽度优先遍历(按层遍历):{b,c,d,e,f,a} 二叉树的建立 上图是按层遍历的结果: 根节点是b,它的左孩子是c,右孩子是d c节点的左孩子是e,右孩子是f d节点的左孩子是a 规 阅读全文
posted @ 2018-06-05 11:37 罗贱人 阅读(147) 评论(0) 推荐(0) 编辑
摘要: wait、notify、notifyAll wait、sleep、yield区别? sleep 让出cpu使用权但是不会释放锁。 public class Test { public static void main(String[] args) { Object obj=new Object(); 阅读全文
posted @ 2018-06-03 18:52 罗贱人 阅读(148) 评论(0) 推荐(0) 编辑
摘要: volatile 1. 线程间的可见性 2. 防止指令重排 线程间的可见性 先了解下java的内存模型主内存和工作内存 java的内存模型主要目标是定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。而这些变量包括实例字段、静态字段和构成数组对象的元素。———— 阅读全文
posted @ 2018-05-30 20:50 罗贱人 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 今天看到深入理解JVM第367页多线程volatile部分照着书本敲着代码发现了一个问题 Thread.activeCount()会一直大于2 public class VolatileTest { public static volatile int race = 0; public static 阅读全文
posted @ 2018-05-29 17:01 罗贱人 阅读(812) 评论(1) 推荐(0) 编辑