会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
remagon
博客园
首页
新随笔
联系
订阅
管理
2015年8月14日
ReentrantReadWriteLock实现
摘要: 读写锁顾名思义就是提供了一个读锁、一个写锁,其中读锁是共享锁,写锁是独占锁。读锁同时可以有多个线程获取,获取的前提是没有其他线程的写锁(当然还有同时并发数限制,不过普通java进程也不会起那么多的线程);写锁同时只能有一个线程获取,获取的前提是没有读锁和非本线程的写锁ReentrantReadWri...
阅读全文
posted @ 2015-08-14 21:07 remagon
阅读(229)
评论(0)
推荐(0)
编辑
2015年4月28日
斐波那契堆
摘要: 斐波那契堆是一个可合并最小堆,提取最小节点和删除节点的时间复杂度为o(logn),其他操作的平摊时间复杂度为o(1)表示方式:斐波那契堆以一个树结构表示,父节点有一个度数表示有几个子节点,同时保存指向自身的一个子节点的指针,子节点通过left和right形成一个循环链表连接所有同级节点如上图所示,借...
阅读全文
posted @ 2015-04-28 11:37 remagon
阅读(578)
评论(0)
推荐(0)
编辑
2015年4月20日
[转]深入理解G1垃圾收集器
摘要: G1 GC是Jdk7的新特性之一、Jdk7+版本都可以自主配置G1作为JVM GC选项;作为JVM GC算法的一次重大升级、DK7u后G1已相对稳定、且未来计划替代CMS、所以有必要深入了解下:不同于其他的分代回收算法、G1将堆空间划分成了互相独立的区块。每块区域既有可能属于O区、也有可能是Y区,且...
阅读全文
posted @ 2015-04-20 10:10 remagon
阅读(607)
评论(0)
推荐(0)
编辑
2015年4月16日
[转]并发垃圾回收器CMS介绍
摘要: 当使用CMS收集器时,当开始进行收集时,old代的收集过程如下所示:1,首先jvm根据-XX:CMSInitiatingOccupancyFraction,-XX:+UseCMSInitiatingOccupancyOnly来决定什么时间开始垃圾收集;2,如果设置了-XX:+UseCMSInitia...
阅读全文
posted @ 2015-04-16 18:25 remagon
阅读(330)
评论(0)
推荐(0)
编辑
2015年4月9日
zookeeper leader选举机制
摘要: 最近看了下zookeeper的源码,先整理下leader选举机制先看几个关键数据结构和函数服务可能处于的状态,从名字应该很好理解public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING;}选票参数,还有Notification...
阅读全文
posted @ 2015-04-09 13:03 remagon
阅读(3051)
评论(0)
推荐(0)
编辑
2015年4月8日
双调欧几里得旅行商问题
摘要: 欧几里得旅行商问题是一个NP问题,问题描述:平面上n个点,确定一条连接各点的最短闭合旅程。所以通常会简化为双调欧几里得问题来求一个近似解,借用下算法导论的图,如下所示a)是一个最优欧几里得b)为双调路线,从最左点开始严格向右至最右点通过动态规划求解,首先需要分析子问题:双调路径为 i -> 0,0 ...
阅读全文
posted @ 2015-04-08 09:56 remagon
阅读(625)
评论(0)
推荐(0)
编辑
2015年3月30日
红黑树的一个java实现
摘要: 前几天闲来无事实现了一个红黑树,虽然感觉理解透了,但是真正写码的时候还是调了一个上午才调通,理论还是得联系实践才行啊。另外可以看看234树,算是红黑树的一个变种,可以加深对红黑树的理解红黑树性质1)每个结点要么是红的,要么是黑的。2)根结点是黑的。3)每个叶结点,即空结点(NIL)是黑的。4)如果一...
阅读全文
posted @ 2015-03-30 11:05 remagon
阅读(347)
评论(0)
推荐(0)
编辑
2014年12月11日
BTrace注解详细介绍
摘要: BTrace(https://btrace.dev.java.net/)是一个非常不错的java诊断工具,最近试着用了一下,文档比较少,主要是看例子吧.BTrace中的B表示bytecode,表明它是在字节码层面上对代码进行trace用来在运行中的java类中注入trace代码,并对运行中的目标程序...
阅读全文
posted @ 2014-12-11 21:31 remagon
阅读(482)
评论(0)
推荐(0)
编辑
2014年9月24日
[转]jstat查看jvm的GC情况、
摘要: jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。jps存放在JAVA_HOME/bin/jps,使用时为了方...
阅读全文
posted @ 2014-09-24 11:53 remagon
阅读(460)
评论(0)
推荐(0)
编辑
2014年7月30日
java的System.getProperty()方法可以获取的值
摘要: java.versionJava运行时环境版本java.vendorJava运行时环境供应商java.vendor.urlJava供应商的 URLjava.homeJava安装目录java.vm.specification.versionJava虚拟机规范版本java.vm.specificatio...
阅读全文
posted @ 2014-07-30 11:41 remagon
阅读(154)
评论(0)
推荐(0)
编辑
下一页