开发
文章平均质量分 83
道悦(顽石)
这个作者很懒,什么都没留下…
展开
-
c/c++字节序转换
字节序(byte order)关系到多字节整数(short/int16、int/int32,int64)和浮点数的各字节在内存中的存放顺序。字节序分为两种:小端字节序(little endian)和大端字节序(bigendian)。小端字节序:低字节存放在内存低地址,例如对两字节整数0x0100(十进制数256),低字节00放在低地址(假设地址为0x0041f880),高字节01放在高...原创 2015-05-27 13:44:19 · 546 阅读 · 0 评论 -
myibatis dao层update语句使用的generic po类
表数据更新语句类似:update 表名 set field1= value1,field2=value2 where 条件字段1=value3 and 条件字段2= value4; 在dao层,value1~value4一般是从一个vo值对象的属性中取值(不纠结于vo、po、bo、dto这些概念和区别,这里把dao层中的pojo也称为vo),这种方式存在的一个问题是:在这个vo对象中,...原创 2015-06-25 11:40:08 · 389 阅读 · 0 评论 -
Golang中的协程
协程(coroutine)是一种比线程更轻量级的并发执行单元,它的切换开销和内存栈的占用大小都比线程要小。只要内存足够,在一个线程中可有上万个或更多的协程。除了这些优点,对开发人员来说,在网络编程应用中,采用协程后的业务代码比那些采用异步或事件回调方式的代码更好维护。使用协程的业务逻辑代码表面看上去是同步执行的,编写这些代码时思维是连贯的,更符合人类的思维习惯;而采用异步和回调方式后,业...原创 2015-09-05 16:38:39 · 232 阅读 · 0 评论 -
etcd事件监听
etcd是CoreOS开发的一个高可用的键值存储系统,主要用于共享配置和服务发现。它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。etcd目前的最新版本是2.2.0。 和zookeeper的二进制接口不同,它提供了HTTP/JSON的rest api接口,所以对使用它的客户端来说是很友好的,几乎每种编程语言都有较成熟的http client开发包,基于...原创 2015-09-26 19:15:28 · 4338 阅读 · 0 评论 -
读写分离情况下的读自己写一致性
问题分布式系统的一致性模型包括:强一致性、弱一致性、最终一致性,以及一些最终一致性的变种,如因果一致性、读自己写一致性等。有个项目,数据存放在主从同步的mysql数据库中,写操作统一落在主库上。由于主从数据库物理位置相距较远(分别在国内机房和国外机房),同步的网络延迟较大,所以有可能因为网络延迟的原因,在读写分离的情况下,读不到自己刚才所写的数据(读从库)。例如用户在国外机房的应用中写...原创 2016-03-14 23:43:15 · 1299 阅读 · 2 评论 -
rest api的一些深层感悟
restful风格的api相当流行了,但很多开发人员对restful并没有深入理解,这几年面试了很多人,对rest的理解都很肤浅,好一点的也只知道统一资源接口。 相比远程过程调用(动词),rest的核心概念是资源(名词),大致可以对应领域驱动设计或领域模型中的领域实体,每个资源都有uri来标识。 rest 介绍或rest api设计最佳实践网上资料已经很多了,例...原创 2016-03-15 13:33:30 · 212 阅读 · 0 评论 -
autoconfig使用
1.autoconfig介绍 在一个Java应用中(例如web应用或包含main方法的其他应用)通常有很多参数需要配置,例如数据库ip和端口、用户名等,这些参数有的在二方库jar包中,有的在应用自身的war包或jar包中。这些参数的取值通常随着运行环境的变化而变化,例如在开发环境、测试环境、部署环境中有不同的一组配置。同一个二方库中的参数,在依赖它的A应用和B应用中也可能需要有不同的参数值...原创 2014-08-27 23:50:42 · 1219 阅读 · 0 评论