摘要: 6.1网站架构伸缩性设计 纵向分层:应用层、可复用服务层(公用功能,如考务里面用户管理、数据权限管理、报表打印)、基础服务层(数据库访问、缓存管理等) 横向分割:每一层还可细分成更不同业务模块,如应用层可分为考生注册、考生登录、考生报名、系统管理等模块 分层和分割的目的: 首先,不同模... 阅读全文
posted @ 2015-11-11 19:24 农夫与花园 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 之前无意中看到推箱子游戏,想了一下这个游戏的求解算法,感觉非常复杂,苦思无果。最近在看《java并发编程实践》时得到启发,可以利用穷举算法来解决这一问题,而且很多类似的问题都可以用穷举算法解决。这里定义三个类:~~~PuzzleState:定义解谜过程中的一个状态或者说一个步骤。SolvePuzzl... 阅读全文
posted @ 2015-11-11 19:23 农夫与花园 阅读(281) 评论(0) 推荐(0) 编辑
摘要: Byte 长度:1byte/8bit 最大值:127 0b0111_1111 最小值: 128 0b1000_0000 Short 长度:2byte/16bit 最大值: 2^15 32767 0x7fff 0b0111_1111_1111_1111 最小值: 2^15 32768 0x8000 ... 阅读全文
posted @ 2015-11-11 19:20 农夫与花园 阅读(401) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap通过将完整的表分成若干个segment的方式实现锁分离,每个segment都是一个独立的线程安全的Hash表,当需要操作数据时,HashMap通过Key的hash值和segment数量来路由到某个segment,剩下的操作交给segment来完成。下面来看下segm... 阅读全文
posted @ 2015-11-11 19:17 农夫与花园 阅读(1424) 评论(0) 推荐(1) 编辑
摘要: 同步容器: Vector/Hashtable:jdk1.0就已经存在,jdk1.2改写实现List/Map接口。作为ArrayList/HashMap在并发场景中的替代类出现。注意:Hashtable的API中已经建议用ConcurrentHashMap替代Hashtable。 Synchro... 阅读全文
posted @ 2015-11-11 19:15 农夫与花园 阅读(980) 评论(1) 推荐(0) 编辑
摘要: java的枚举类型声明非常简单,这里我们声明一个只有两个枚举值的TypeB~~~javapublic enum TypeB { A,B;}~~~随后编译器生成TypeB.class文件,我们来研究下里面藏了什么首先是静态变量和静态代码块:~~~java{ public static final te... 阅读全文
posted @ 2015-11-11 19:14 农夫与花园 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 不可变类的优点 易于构造,测试和使用 天然线程安全,没有同步问题 不需要实现clone方法 引用不可变类的实例时,不需要考虑实例的值发生变化的情况 如何构造不可变类 不声明“setter”方法。 所有属性设为private final。 class声明为final,不允许继承... 阅读全文
posted @ 2015-11-11 19:12 农夫与花园 阅读(245) 评论(0) 推荐(0) 编辑
摘要: Unsafe类是java中非常特别的一个类。它名字就叫做“不安全”,提供的操作可以直接读写内存、获得地址偏移值、锁定或释放线程。通过正常途径是无法获得Unsafe实例的,首先它的构造方法是私有的,然后,即使你调用它的getUnsafe方法,也会抛出SecurityException。 A colle... 阅读全文
posted @ 2015-11-11 19:11 农夫与花园 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 【 这篇论文我翻译下来,首先感觉还是不好懂,很多地方结论的得出不够清楚,需要读者自己思考其中的原因。要理解Paxos算法,个人建议先搜索下介绍算法的中文文章,大致了解下Paxos算法要做什么,然后就再读下论文,应该会有所感悟。 】 Paxos Made Simple Leslie L... 阅读全文
posted @ 2015-11-11 19:08 农夫与花园 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 之前在A\ 算法演示程序的编码过程中,发现javaScript并没有原生的优先队列,于是去Java中找到了PriorityQueue类,研究了一下源码。Java中的优先队列基于最小二叉堆实现。最小二叉堆具有两个性质: 结构性:必须是一颗完全二叉树,树的插入从左到右,一棵完全二叉树的高度为小于log(... 阅读全文
posted @ 2015-11-11 19:04 农夫与花园 阅读(253) 评论(0) 推荐(0) 编辑