会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
J.M.Liu
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
下一页
2018年4月8日
温故而知新,再探ConcurrentHashMap
摘要: 这里说的还是1.7的ConcurrentHashMap,在1.8中,ConcurrentHashMap已经不是基于segments实现了。 之前也知道ConcurrentHashMap是通过把锁加载各个segment上从而实现分段式锁来达到增加并发效率的,但是时间久了容易忘,这次再看了一下源码,记录
阅读全文
posted @ 2018-04-08 17:45 J.M.Liu
阅读(410)
评论(0)
推荐(0)
编辑
2018年3月21日
数据竞争和先行原则
摘要: 先行原则规定了先行的操作对后续的操作可见,有效解决了数据竞争问题。数据竞争问题发生在当变量被多个线程读时,同时至少有一个线程在对这个变量进行写,那么写入的变量不一定能够及时被其他线程看见,甚至永远也不能被其他线程看见。 从这里就可以看出,“先行”其实规定的是“可见性”问题,它和操作(读、写、方法调用
阅读全文
posted @ 2018-03-21 21:05 J.M.Liu
阅读(424)
评论(0)
推荐(0)
编辑
2018年3月7日
记一次坑爹的jconsole使用
摘要: 之前一直是用jstat来监控GC的,后来发现原来有个自带的jconsole,是可始化界面的,而且也是oracle公司自带的工具,与是拿来用一下,发现蛮好用的。 然而,在一次复现实验中,发现原来能复现的实验突然复现不了了,内存使用居然以下在就将下去了。于是开启jstat gcutil <pid> 2s
阅读全文
posted @ 2018-03-07 16:17 J.M.Liu
阅读(382)
评论(0)
推荐(0)
编辑
2018年2月28日
触发Full GC的时机
摘要: 由于Full GC的耗时是Minor GC的十倍左右,所以Full GC的频率设计得比Minor GC低得多。现总结一下触发Full GC的情况。 在那些实现了CMS的比较新的虚拟机中,如果配置了-XX:+UseConcMarkSwapGC,则启用CMS回收算法,CMS会周期性地检查老年代的情况,每
阅读全文
posted @ 2018-02-28 10:56 J.M.Liu
阅读(4485)
评论(0)
推荐(0)
编辑
2018年2月17日
java NIO之Selector
摘要: Selector是java NIO的核心,通过Selector实现非阻塞式IO。一个Selector可以对应多个不同类型的Channel,并且以SelectedKey进行标记管理。换句话说,Selector只管理SelectedKey而直接管理Channel。 Selector对象中有三个集合,分别
阅读全文
posted @ 2018-02-17 12:04 J.M.Liu
阅读(416)
评论(0)
推荐(0)
编辑
java NIO之SelectedKey
摘要: SelectedKey是channel与Selector绑定的标记,每将一个channel注册到一个selector就会产生一个SelectedKey,并将这个SelectedKey放入到Selected的key set中,注意,key set 只能通过这种方式添加,不可以直接添加,但是可以手动移除
阅读全文
posted @ 2018-02-17 10:46 J.M.Liu
阅读(1753)
评论(0)
推荐(0)
编辑
2018年2月15日
java泛型中的各种限制
摘要: java和其他语言一样,都支持泛型,包括泛型类和泛型方法,但是java的泛型比较特殊。因为java的泛型并不是在java诞生之初就加入的,在很长的一段时间里,java是没有泛型的,在需要泛型的地方,统统都采用协变的方式,也就是采用Object,比如ArrayList类,元素的类型就是Object。为
阅读全文
posted @ 2018-02-15 11:40 J.M.Liu
阅读(3885)
评论(0)
推荐(0)
编辑
2018年2月3日
并发调度的可串行性
摘要: 可串行化:多个任务并发执行是正确的,当且仅当起结果与按某种次序串行执行这些任务时产生的结果一样,称这种调度策略为可串行化调度。 冲突操作:不同任务对同一数据的读写操作和写写操作,其它任务都是不冲突的。 冲突可串行化:冲突操作的顺序是不能调换的,不冲突操作可以调换顺序。这样的调换之后,调度仍然是串行的
阅读全文
posted @ 2018-02-03 21:10 J.M.Liu
阅读(1296)
评论(0)
推荐(0)
编辑
2018年1月30日
mysql limit查询(分页查询)探究
摘要: MySQL的Limit子句 Limit子句可以被用于强制 SELECT 语句返回指定的记录数。Limit接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。 Limit的效率有时候很高 常说的Limit的执行效
阅读全文
posted @ 2018-01-30 11:01 J.M.Liu
阅读(1294)
评论(0)
推荐(0)
编辑
2018年1月24日
通过宏定义将__declspec(dllexport)与__declspec(dllimport)的转化,实现库代码和使用代码使用同一份头文件
摘要: 我们知道,在VC编程中,如果要编译成动态链接库,需要将函数、变量、类等导出,这时使用__declspec(dllexport)。使用动态链接库时,需要在声明的时候有使用__declspec(dllimport)导入外部符号。这样,在库的编写时需要使用一份带__declspec(dllexport)的
阅读全文
posted @ 2018-01-24 21:19 J.M.Liu
阅读(661)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
8
9
下一页