摘要:作者: Maoni Stephens (@maoni0) - 2015 附: 关于垃圾回收的信息,可以参照本文末尾资源章节里引用的垃圾回收手册一书。 组件架构 GC包含的两个组件分别是内存分配器和垃圾收集器。内存分配器负责获取更多的内存并在适当的时候触发垃圾收集。垃圾收集器回收程序中不再使用的对象的 阅读全文
posted @ 2016-05-14 17:55 donjuan 阅读 (189) 评论 (0) 编辑
摘要:作者:施懿民链接:https://zhuanlan.zhihu.com/p/20866017来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 同步: 托管代码 托管代码可以访问很多在System.Threading里定义的同步原语。包括操作系统原语的简单封装如:互斥(M 阅读全文
posted @ 2016-05-09 00:04 donjuan 阅读 (188) 评论 (0) 编辑
摘要:托管 vs. 原生线程 托管代码在“托管线程”上执行,(托管线程)与操作系统提供的原生线程不同。原生线程是在物理机器上执行的原生代码序列;而托管线程则是在CLR虚拟机上执行的虚拟线程。 正如JIT解释器将“虚拟的”中间(IL)指令映射到物理机器上的原声指令,CLR线程基础架构将“虚拟的”托管线程映射 阅读全文
posted @ 2016-05-04 23:08 donjuan 阅读 (364) 评论 (0) 编辑
摘要:什么是通用语言运行时(CLR),简单来讲: CLR是一个支持多种编程语言及多语言互操作,完整的高级虚拟机。 有点拗口,而且不是很有启发性,但上面的文字是将又大又复杂的CLR的功能归类以便容易理解的第一步。它从一万英尺的高度来帮助我们理解CLR的设计目标。从这个高度明了CLR之后,我们可以深入其各个组 阅读全文
posted @ 2016-03-11 12:58 donjuan 阅读 (768) 评论 (2) 编辑
摘要:前面提到在SSCLI环境里运行.NET程序的时候,执行的命令类似java程序的执行过程,即通过clix程序解释执行.net程序。这个过程看起来跟在windows环境下执行.net程序表面上看起来不一样 – Windows环境下的CLR直接执行.net程序文件即可执行,其实内部运作机制是一样的,在后文... 阅读全文
posted @ 2015-02-25 22:13 donjuan 阅读 (553) 评论 (0) 编辑
摘要:微软发布了CLR 2.0的源码,这个源码是可以直接在freebsd和windows环境下编译及运行的,请在微软shared source cli(http://www.microsoft.com/en-us/download/details.aspx?id=4917)链接处下载,并用7zip等工具解... 阅读全文
posted @ 2015-02-07 13:04 donjuan 阅读 (591) 评论 (0) 编辑
摘要:大概解释了几种垃圾回收算法,并且分析了Android源码里的一个垃圾回收算法实现,有描述不对,或者不准确的地方,请多提意见。 阅读全文
posted @ 2013-06-12 11:20 donjuan 阅读 (22723) 评论 (10) 编辑
摘要:票池暂定使用disruptor来做消息队列,把最近对disruptor的调研结果整理一下。大部分文字都是把disruptor和其它网站上看到的资料翻译一下。原文:http://www.oraclejavamagazine-digital.com/javamagazine/20120304/?pg=56&pm=1&u1=friend#pg56Disruptor是什么?Disruptor是一个线程间通信的框架,即在多线程间共享数据。它是由LMAX公司开发的可信消息传递架构的一部分,以便用非常快速的方法来在多组件之间传递数据。它的一个核心思想是理解并适应硬件工作方式来达到最优的效果。 阅读全文
posted @ 2012-12-02 15:25 donjuan 阅读 (12080) 评论 (4) 编辑
摘要:就是12306票池方面的最新研究进展,没做过这么大的系统,随便写写,欢迎批评指正。 阅读全文
posted @ 2012-11-12 01:41 donjuan 阅读 (5977) 评论 (10) 编辑
摘要:12306票池设计的一个初步想法,过几天逐步将分布式处理、错误恢复,事务回滚这些设计补齐。 阅读全文
posted @ 2012-10-17 19:54 donjuan 阅读 (3725) 评论 (9) 编辑