- 博客(34)
- 资源 (35)
- 收藏
- 关注
原创 Spring 创建 JDK- and CGLIB-based proxies的区别
几条原则: If the class of a target object that is to be proxied (hereafter simply referred to as the target class) doesn't implement any interfaces, then a CGLIB-based proxy will be created.【原因是:Thi
2013-08-15 09:45:01
1839
原创 zookeeper 内部蹩脚问题(未回答完)
1. 说说zookeeper和chubby的SnapshotsZookeeper使用的是fuzzy snapshot,中文意思大概是模糊的snapshot,但是,论文wait-free说到可能会有notvalid的时候Chubby同样具有snapshots ,用了三种方式,原文是这样的:Our firstimplementation of the fault-tolerant d
2012-03-13 20:30:02
3070
原创 chubby中使用paxos的分析
chubby使用paxos作为日志错误容错的复制算法,在协议栈的最底层,paxos算法确保了每个replica的本地日志都有相同的entries,replicas的通信则是通过paxos-specific protocal,一旦某个值进入容错日志,每个replica会调用发送一个callback给客户端应用程序,告诉这个已提交的值chubby的paxos描述【隐藏了propose和
2012-03-12 19:14:11
5570
原创 chubby 分析(未完待续)
关键词解释coarse-grained: an application might use a lock to elect a primary, which would then handle all access to that data for a considerable time, perhaps hours or days. An application might partitio
2012-03-12 12:14:47
2222
原创 libpaxos分析
1. Learner listening to acceptors decision. 怎么知道接受的决议呢?是这样的,The acceptor should periodically repeat the state of the highest instance for which some valuewas accepted. By doing so, it helps learne
2012-03-09 17:47:54
5953
3
原创 paxos问题与相关的资料记下,回头再好好整理
自己思考的几个问题:1. paxos为什么要两阶段?一阶段不行吗?我在paxos made simple中找到这句话【在一次消息中】Several values could be proposed by different proposers at about the same time, leading to a situation in which every acceptor
2012-03-09 15:25:38
2994
1
原创 苦逼IT男必然生女?
IT行业业内盛传,“辐射会降低精子活力,男员工多生女儿”,由于自己从事的行业也是与IT相关,因此,对于这一盛传也颇感兴趣,如果说从事IT行业是一种苦逼命运的话,那么对于生女这种近似命中注定的结论则无疑是给这一苦逼行业雪上加霜。 在一篇新浪的关于“IT男生女论”的文章中说道,“辐射会降低精子活力,损伤决定子女性别的Y染色体,所以生女儿的男员工多”,而文章中列举了一些专家,众说纷沓,
2012-02-18 22:06:23
3384
原创 自己动手实现zookeeper的FastLeaderELection选举算法和心跳同步
FastLeaderELection选举算法是类fast paoxs的算法,由于网上分析该算法的文章比较多,所以我这里就不重复这些工作了,直接从实现的角度进行考虑,事实上,在实现上,还是有许多细节需要考虑,就像初始的设计总是不是那么的完美,往往在实现的时候才能更新的看清问题。因此,我把在设计和实现中遇到的问题总结写出来,一、选举算法设计和分析中遇到的问题分布式系统中,节点的状态各个时刻可能
2012-02-05 17:02:29
11121
1
原创 Google Megastore读写的架构分析
使用在什么地方?google的megastore早在今年2月份公开后,马上就国人翻译了它,但我个人看了翻译似乎还是不怎么理解,还是看看E文的吧,这篇文章的原文直接用google搜索“google megastore” ,基本前面几条就有这篇文章了。我个人感觉,他这篇文章的主要使用之处,是对于多机房的使用,即在不同的地域之间使用paxos算法来达到数据的强一致,相对于国内多机房的数据同步,大多数
2011-12-04 15:44:19
8809
原创 读写锁实现
嗯,写一个读写锁,细节的东西挺多的import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Reen
2011-10-14 17:01:28
1199
原创 ThreadPoolExecutor 源码分析
我主要从以下几个部分来剖析一下ThreadPoolExecutor线程池的实现原理1. 先拿个例子来讲解2. 分析内部实现3. 总结1. 先拿个例子来讲解我感觉看懂整个实现,最主要还是看懂整个执行过程,这样就不怕中间哪一步不懂了,举个例子吧
2011-09-24 22:48:46
3449
原创 新浪微博密码加密分析
1. 准备加密条件用户在新浪微博登陆的时候,密码其实被经过了三次sha1加密,所使用的到信息包括了用户的密码,服务端的时间发送过来的servertime和一个叫做nonce的字段,后面两个是在登陆的时候从服务端get过来的,例,下边是我在测试的时候截取的消息:
2011-08-06 05:16:17
7816
2
原创 高效高质量软件,规范很重要
真正到企业了才知道为什么规范那么重要,因为那样做肯定是不会出问题,如果你自己想一套,90%以上都会有一些小问题,然后在规范的基础上做创造性的工作,这样可以保证出现问题不是因为规范而导致的,而是因为其他工作的疏忽导致的。如果对于处理问题的规范没有的话,那么就可以自己创造一个规范,使
2011-07-31 15:01:30
1414
原创 log4j 级别(level)
所有的log4j的级别,这些级别都相当于一层层的过滤器Log4J LevelsTRACE LevelDEBUG LevelINFO LevelWARN LevelERROR LevelFATAL LevelTRACE LevelYYYYYYDEBUG LevelNYYYYYINF
2011-07-26 23:15:02
16324
原创 比较Jmeter、Grinder和JAVA多线程本身压力测试所带来的性能开销
1. 测试环境jmeter版本 :jmeter 2.4grinder的版本 : Grinder 3JAVA的版本:JDK 1.62. 测试代码Jmeter测试代码public class Sampler { public void test() { return; }}public class JmeterTes
2011-07-23 21:09:11
8098
原创 微博的世界,世界的微博
看了几个微博客网站,quoar(问答社交网站,架构灰常复杂,如有兴趣,可以看下这篇文章),twitter,tumblr(分享,follow等),blogbus,点点(国人做的,一开始应该是基于tmblr做起来的,好像自己添了不少功能),Gelato(开源的,应该是向tumblr看
2011-07-14 21:38:16
1167
原创 社交网络的发展及趋势
Over the last three years large friendship-driven social network sites like Facebook have become more pervasive. Groups and fan pages on Fac
2011-07-11 23:10:04
5661
1
原创 社交+啤酒
国内不知道有没有,国外有个网站叫Pintley,是一个比较典型的社交+啤酒的网站,它开辟了给热爱啤酒的年轻人一片新的天地。该网站也比较简单,你只要登录上去后,给啤酒做个评价,如果有新的种类就黏上图片,到tweet上分享给你其他的朋友。当然Pintley还提供也
2011-07-05 23:16:58
1943
1
转载 Google的威风六面
While the tech world is buzzing about the launch and implications of Google’s new social network, Google+, it’s worth noting that
2011-07-05 00:14:13
1243
转载 互联网IT巨头
Facebook. Generally I have to have met you in person and would consider a friend in a broad definition of the word. This includes
2011-07-04 23:25:30
727
原创 Building a New Framework
The architectural style in use is novel.The architectural style is not novel but it is being implemented on a platformfor which no framework exists.The architectural style is not novel and frame
2011-06-25 17:13:00
1048
原创 2-CNF 问题解决方案
本篇文章主要是根据上届一个东大学长谢文艳写的一篇《给定2CNF可满足性问题》自己重新总结了一下,然后把所有的代码都调试了一遍,不过有一点要注意的是,文章中的方法能够判断问题是有具有解,能给出该问题的一种可行解,但并不能给出所有的解。我自己总结为两个部分,图论问题和算法的详解。一、将问题转换为图论问题二、算法的详解1. 先构图,并将图表示为邻接矩阵。思想主要是将每一个字句用邻接矩阵edges表示,如字句xUy,输入的时候表示为:1 1。然后,将该字句表示 在数据结构中表示为edges[n+1][
2011-02-18 21:48:00
11649
2
原创 SVM算法实现(一)
关键字(keywords):SVM 支持向量机 SMO算法 实现 机器学习 如果对SVM原理不是很懂的,可以先看一下入门的视频,对帮助理解很有用的,然后再深入一点可以看看这几篇入门文章,作者写得挺详细,看完以后SVM的基础就了解得差不多了,再然后买本《支持向量机导论》作者是Nello Cristianini 和 John Shawe-Taylor,电子工业出版社的。然后把书本后面的那个SMO算法实现就基本上弄懂了SVM是怎么一回事,最后再编写一个SVM库出来,比如说像libsvm等工具使用
2011-02-01 19:44:00
116488
76
原创 大素数测试
先列出几篇已经写过的大素数测试的文章基本都是用Miller_Rabin的测试方法http://blog.youkuaiyun.com/fisher_jiang/archive/2006/07/27/986654.aspxhttp://www.cppblog.com/zoyi-zhang/archive/2008/09/23/62572.aspx但似乎都没有实现完整的代码,另外对于Miller_Rabin的方法还有可以改进的地方我先附上代码,2011/01/17号前更新!!!为改进的Miller_Rabin的算法:时间复
2011-01-09 20:32:00
9889
原创 如何高效地进行远程大规模字符串比较问题
随着互联网的快速发展,信息量成爆炸趋势,大规模的文本处理已经成为一个挑战,今天这里我想解决一个海量数据中会经常遇到的一个问题,就是如何在两台主机之间进行高效地大规模字符串比较问题,如果给定100MB字符串A和1GB字符串B分别在远程在两台主机上,那我想比较A是否是B的字串?怎么办呢?很明显,我们用一般的算法是无法解决这个问题的。因为如果是一般的算法,肯定是先传送这两个字符串到同一台机子上,然后再用KMP等算法进行字符串比较,我想大家都知道其实这样是非常耗时的,我下面给出了我的解法,使用的算法是随机算
2011-01-05 21:40:00
5903
1
原创 Find_Depth和Link的实现
在编译器的实现等应用中需要用到上述两类指令.问题是Find-Depth指令如果不具路径压缩功能,则执行O(n)条Find-Depth指令,最坏情况下时间复杂度为O(n2);但如果采用具有路径压缩功能的Find-Depth指令,则原先树中在被压缩路径上的各结点深度会发生改变,如不采取其它措施,对其中某结点执行Find-Depth指令时,就会得到错误的深度信息。如果我们给每个结点增加一个字段记录其在原树中的深度,
2010-12-25 12:04:00
5741
原创 Command Pattern(命令模式)
定义:将一个请求封装成一个对象,因此可以参数化多个客户的不同请求,将请求排队,记录请求日志,并且支持撤销操作。(来自:《深入浅出设计模式》莫勇腾) 应用情景:(来自:《深入浅出设计模式》莫勇腾)当你需要与动作有关的对象来作为参数。你需要在不同的时间创建请求,生成请求队列,执行请求。你需要支持取消、保存修改日志或处理事务(事务包括大量修改的数据)功能。你需要支持宏命令
2009-05-08 10:25:00
904
原创 JavaBean 在jsp的实现
这是一个测试体重指数的程序1.input.htmlhtml> head> title>input.htmltitle> --> head> body> form method = "get" action = "./calc.jsp" name = "testForm"> 体重:input typ
2008-10-13 13:24:00
800
原创 查询分析器 创建数据 创建表 主键 递增
创建一个数据库,并且名为stuDATA,初始容量为1MB,最大容量为5MB,每次的增长量为10%,事务文件的逻辑名为stuLOG,初始容量为1MB,最大容量为5MB,每次的增长量为1MB。create database stuon primary(name = stuDATA,filename = d:/database/stuDATA.mdf,
2008-09-28 13:27:00
1390
原创 httpclient 登录 post
为了使apache的HttpClient更加方便易用,我写了一个继承类总共有三个功能1.登录网站2.获取网站上的内容3.post数据本代码在运行平台:eclipse3.2运行环境:jre1.5其他:commons-codec-1.3commons-httpclient-3.1commons-logging-1.1.1这可以在本空间下载或者可以到apache上下载虽然功能很少,功能却非常强大,基本上
2008-09-17 20:49:00
7372
原创 JAVA GUI界面包
import javax.swing.*;import java.awt.*;public class GuiJava extends JFrame { Container container; //container size public GuiJava (int width, int height, String name) { super(name)
2008-09-17 16:57:00
1536
翻译 java语言 托盘控制 任务栏
import java.util.*;import java.io.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test extends JFrame { public Test() { final TrayIcon
2008-09-09 19:46:00
1086
1
原创 java 托盘 显示 在桌面最上
当你将应用程序隐藏 缩小到一个系统托盘 此时候 你更希望点击一下他 然后应用程序又跳回原来的样子 你可以这样写 frame.setVisible(true); frame.setExtendedState(frame.NORMAL); f
2008-09-09 19:43:00
1038
转载 java 最小化 最大化窗口 触发事件
import javax.swing.*; import java.awt.event.*; public class TestPost { JFrame mainFrame; public TestPost() { mainFrame = new JFrame("JFrameDemo Title");
2008-09-09 19:38:00
4943
FEC 前向纠错编码
2011-03-13
2CNF问题完整代码
2011-02-18
SMO算法实现 java代码
2011-02-01
ATM(前置机,服务网关、服务端)
2010-12-25
C++编程思想第二版第一卷 代码 课后答案
2010-03-24
IEEE Std 802.11™-2007, IEEE Standard for Information Technology IEEE 802.11 2007标准规格文档
2009-02-11
wireless source for Intel(R) PRO/Wireless 3945ABG Network Connection
2009-02-11
tomcat httpclient包
2008-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人