![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
已索引
iteye_20173
这个作者很懒,什么都没留下…
展开
-
Nonlocal jump: longjmp 和 siglongjmp
In C, we can't goto a label that's in another function(跨stack frame). Instead, we must use the setjmp and longjmp functions to perform this type of branching.首先,在可能需要返回的点执行:[code="c"]#incl...原创 2012-07-19 15:25:43 · 97 阅读 · 0 评论 -
TCP协议梳理
[color=violet][size=xx-large]1. TCP数据段格式[/size][/color]TCP数据段的格式如下图所示,其中每一格代表一个比特位。[img]http://dl2.iteye.com/upload/attachment/0123/1488/ade7793e-d845-305d-881f-2b57ce83d746.png[/img][color=vi...原创 2017-02-23 21:19:59 · 131 阅读 · 0 评论 -
Java Instrumentation浅析
[size=xx-large][color=blue]原委[/color][/size]利用[url=http://en.wikipedia.org/wiki/Optimistic_concurrency_control]乐观的并发控制[/url]在共享内存的粒度上,所构建的高层的同步控制机制就称作Software Transactional Memory(STM)。命名渊源起于:...原创 2014-08-13 13:53:40 · 143 阅读 · 0 评论 -
以单一率(Single Propotion)为例的Meta分析原理详解
[color=blue][size=xx-large]1. 什么是Meta分析[/size][/color]Meta分析是指将多个研究结果整合在一起的统计方法,所以又叫整合分析或荟萃分析。[url=http://en.wikipedia.org/wiki/Meta-analysis]脑补通道->[/url][color=blue][size=xx-large]2.Meta分析的步骤...原创 2014-08-15 12:17:38 · 3631 阅读 · 0 评论 -
如何在运行时获取Java Class的载入路径
以下代码可以在运行时获取Java Class的磁盘路径:[code="java"].class.getProtectionDomain().getCodeSource().getLocation()[/code]原创 2014-10-15 18:18:04 · 209 阅读 · 0 评论 -
实现线程池的两种模式
[color=blue][size=xx-large]以下两种模式都可以用于实现线程池[/size][/color][list][*]模式1由各个Worker线程自己负责从TaskPool中获取Task。[*]模式2由1个Dispatcher线程不断遍历Worker线程数组来负责检查各个Worker线程的状态,如果状态符合则分配新的任务。[/list][b][size=la...原创 2014-10-22 15:52:03 · 328 阅读 · 0 评论 -
关于Java反射的性能问题及其常见的处理方法
调用Java的反射API是有较高的性能开销的,这方面的性能比较文章较多,在此不赘述。[color=blue][size=xx-large]原因[/size][/color]纠其原因,性能的开销主要在两方面:[color=blue][size=large]1.产生了Dynamic Resolve[/size][/color]无论是通过字符串获取Class、Method还是Fiel...原创 2014-10-22 16:23:39 · 1879 阅读 · 0 评论 -
非阻塞、无锁、无等待算法的核心与区别
本文是一系列并发编程文章的学习笔记之一,意在厘清非阻塞、无锁、无等待着三个概念。[color=blue][size=xx-large]非阻塞[/size][/color]阻塞是操作系统层面的概念,发生阻塞的准确含义为:当前执行上下文通过调用操作系统的接口,使自己进入等待某一事件发生的状态。在这种等待中,该上下文将被从操作系统的调度队列中移除,而将不获得任何CPU执行时间。直到等待的事件...原创 2014-10-22 17:37:17 · 422 阅读 · 0 评论 -
解析命令行参数的两种方式
[color=blue][size=xx-large]方式1[/size][/color]最Naive的实现,即按照参数的输入顺序进行依次解析,例如:[code="java"] private void parseArguments(String[] args) { dbIP = args[0]; dbName = args[1]; threadNo = Inte...原创 2014-11-03 11:36:11 · 619 阅读 · 0 评论 -
三个并发编程工具包java.util.concurent/locks/atomic的概念厘清
Java提供了三个并发编程功能包,它们是:[list][*]java.util.concurent[*]java.util.concurent.locks[*]java.util.concurent.atomic[/list]本文意在厘清这三个包的概念结构,关于具体功能的实现,将另文详记。[color=blue][size=xx-large]1. Overvie...原创 2014-11-24 18:02:11 · 140 阅读 · 0 评论 -
数据库隔离级别详解
数据库的隔离性是数据库ACID保证中的重要组成部分。应当区分开原子性与隔离性的不同含义,为了实现原子性有悲观/乐观的两种并发控制策略,在原子性的基础上,实现隔离性,既可以使用悲观的并发控制策略,也可以使用乐观的并发控制策略。不同的应用场景会对数据库隔离性有不同的要求,越高的隔离性可以越高程度的保证数据的一致性,但是会带来越多的性能开销。反之,降低隔离性要求将会牺牲一些数据一致性,但是可以提...原创 2014-11-27 15:27:30 · 114 阅读 · 0 评论 -
Redis集群解决方案比较
调研比较了三个Redis集群的解决方案:[table]|系统|贡献者|是否官方Redis实现|编程语言|Twemproxy|Twitter|是|C|Redis Cluster|Redis官方|是|C|Codis|豌豆荚|否|Go+C[/table][color=blue][size=xx-large]1.基本架构[/size][/color][color=blu...原创 2015-01-19 10:30:13 · 420 阅读 · 0 评论 -
Redis持久化机制详解
Redis提供两种持久化机制,供用户灵活的选用、组合使用:[list][*]基于快照的持久化机制:rdb[*]基于日志的持久化机制:aof[/list][color=blue][size=xx-large]1.快照[/size][/color][color=blue][size=x-large]1.1 基于快照的持久化[/size][/color]基于快照的持久化(...原创 2015-01-23 20:01:55 · 123 阅读 · 0 评论 -
基于Client端一致性哈希的Redis Cache 集群方案设计
设计目标是高可用,易伸缩的RedisCache集群方案,Cache的应用可以允许Key丢失,但应当越少越好:[list][*]故障转移:某个Redis实例故障应当可以把负责的key转移到其他实例。故障实例保存的数据可能丢失(符合Cache应用场景需求)[*]动态水平伸缩:应当可以在运行时动态增加Redis实例,以达到容量水平扩容。水平扩容可能造成部分Cache Key丢失(符合Cach...原创 2015-01-27 15:11:37 · 166 阅读 · 0 评论 -
记录RednaxelaFX对JamVM性能图标的解释
zz: http://hllvm.group.iteye.com/group/topic/35391#239661下面这张性能评测表摘自开源轻量级JVM实现JamVM的网站(http://jamvm.sourceforge.net/),是JamVM的一幅性能评测图,请诸位大大指点这幅图中的"T2 JIT(asm interp)"和"Zero(cpp interp)"分别是什么意思?...原创 2013-03-02 21:37:24 · 189 阅读 · 0 评论 -
Java内存模型的形象解释
[color=blue][size=xx-large]0.什么是Java内存模型:这篇文章讨论什么不讨论什么[/size][/color]内存模型规定了在给定程序的条件下,某个特定的程序执行过程是否合法。内存模型只是Java运行环境与上层Java程序员之间关于内存操作语义的约定,并不规定Java内存管理的具体实现。这篇文章也只是试图用易于理解的方式描述这种约定,而不会讨论内存模型约束下内存...原创 2014-03-23 17:36:31 · 133 阅读 · 0 评论 -
在栈上动态分配内存
在栈上动态分配内存使用函数alloca可以实现在栈上动态分配内存:The function alloca has the same calling sequence as malloc; however, instead of allocating memory from the heap, the memory is allocated from the stack frame ...原创 2012-07-19 15:54:36 · 541 阅读 · 0 评论 -
静态链接(binutils的ld)与动态链接(glibc的ld-linux)
链接器(英语:Linker),又譯為鏈結器、連結器,是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库链接为一个可执行文件。所谓目标文件: Computer programs typically comprise several parts or modules; all these parts/modules need not be contained within a sin...原创 2012-07-25 20:32:15 · 608 阅读 · 0 评论 -
关于调用关系图(call graph)工具的资料收集
[color=blue][size=large]陈硕的Blog,很好的入门综述:[/size][/color]from:http://blog.csdn.net/solstice/article/details/488865绘制函数调用关系图对理解大型程序大有帮助。我想大家都有过一边读源码(并在头脑中维护一个调用栈),一边在纸上画函数调用关系,然后整理成图的经历。如果运气好一点,借助调试器...原创 2012-08-04 15:21:02 · 589 阅读 · 0 评论 -
C语言中的const和voliate关键字
[color=blue][size=large]const[/size][/color]:The qualifier const can be applied to the declaration of any variable to specify that its valuewill not be changed. For an array, the const qualifier s...原创 2012-08-14 10:23:40 · 645 阅读 · 0 评论 -
关于Java程序的编码
java的comments, identifiers, char类型数据 和 string literals使用unicode(utf-16,固定两字节)编码,所有其他elements in a program written in the Java programming language are formed from only ASCII characters单个char 16位只能...原创 2012-08-19 09:51:51 · 125 阅读 · 0 评论 -
X桌面系统术语梳理
[code="java"]X Window System=X Window系统=X11=X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~图形视窗系统的规范与协议,只是工具套件及架構規範,本身並無實際參與運作的實體,所以必須有人依據此標準進行開發撰寫。 XOrg和XFree86~~~~~~~~~~~~~XFree86是X Window系统的其...原创 2012-08-25 21:23:55 · 123 阅读 · 0 评论 -
Java Instrumentation浅析
通过 JVM arguments 调用:[code="java"] Java -javaagent:youragent.jar 或者 -javaagent:youragent.jar=argument [/code]在试着运行指定的 main 之前使 Java 调用位于 youragent.jar 清单上的:[code="java"]public static void prema...原创 2012-09-06 20:45:22 · 115 阅读 · 0 评论 -
左值、右值、可修改左值、不可修改左值
Assignment: l-values and r-valuesSome languages use the idea of l-values and r-values. Lvalues are values that have addresses being programmatically accessible to the running program (e.g., via so...原创 2012-09-20 00:15:35 · 1561 阅读 · 0 评论 -
Java的Nested Classes
[color=blue][size=xx-large]什么是Nested Class[/size][/color]在另一个Java类中定义的Java类,Inner Class(Non-static Nested Class)、Static Nested Class、Local Class、Anonymous Class和Lambda Expression都属于Nested Class。...原创 2013-07-04 16:50:23 · 75 阅读 · 0 评论 -
Two's complement
[color=blue][size=xx-large]1.由补码计算其表示的实际数值[/size][/color][img]http://dl.iteye.com/upload/picture/pic/127267/43c4a0a3-3c5a-3d5e-b3f5-ab6aaf321013.png[/img][color=blue][size=xx-large]2.对数据使用补码编码[/...原创 2013-08-19 21:22:16 · 124 阅读 · 0 评论 -
Java线程的中断机制
[color=blue][size=xx-large]线程RUNNABLE时的基本用法:[/size][/color][code="java"]for (int i = 0; i < inputs.length; i++) { heavyCrunch(inputs[i]); if (Thread.interrupted()) { // We've be...原创 2013-08-23 17:10:31 · 79 阅读 · 0 评论 -
Java的消费者-生产者模型实现总结
[color=blue][size=xx-large]基于链表的生产者-消费者FIFO队列[/size][/color]queue是一个FIFO的链表队列,Producer负责生产QueueItem,一旦生产完成就添加到queue末尾。Consumer不停的consume queue中的QueueItem,若某一时刻consume完了就转入等待Producer生产新的QueueItem,一旦q...原创 2013-09-15 16:08:27 · 96 阅读 · 0 评论 -
Intel80386知识总结
[color=gray]====================================================================本文用于汇总整理Intel80386的体系结构及其提供的编程接口,参考文献:[list][*]《INTEL 80386 programmer's reference manual 1986》[/list]本文是系列文...原创 2013-09-29 11:41:34 · 244 阅读 · 0 评论 -
基于3.0 RC2版本的Redis源码逻辑明细
[table]|源文件|方法|流程图|redis.c|main()|[url=http://dl.iteye.com/upload/picture/pic/132464/46f21856-e9b8-315d-b69d-1ef32ea2c759.png]流程图[/url]|redis.c|initServerConfig()|[url=http://dl.iteye.com/upload...原创 2015-03-23 10:45:53 · 136 阅读 · 0 评论