- 博客(11)
- 收藏
- 关注
原创 面试小记
今天去一家大公司面试,面试官给出下面一题,虽然第一反应是知道要面试什么知识,不过还是因为过度紧张,没能把问题回答好,特此留下作为纪念。 题目如下: 要求用一个方法交换两个变量的值,伪代码如下示: swap(a,b){//请实现方法体}main(){ a = 1,b=2; System.out.println("a="+a+",b="+...
2013-05-28 17:27:14 201
原创 Reactor模式和NIO<转>
本文可看成是对Doug Lea Scalable IO in Java一文的翻译。当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:1. Read request2. Decode request3. Process service4. Encode reply5. Send reply经典的网络服务的设计如下图,在...
2013-05-27 14:20:36 157
原创 基于MINA构建简单高性能的NIO应用-优化指南<转>
19 February 2010 本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。 优化指南 MINA默认配置的性能并不是很高的,部分原因是MINA目前还保留初期版本的架构,另外一个原因是因为JVM的发展。首先我们关闭默认的ThreadModel设置IoAcceptor acceptor = ...;...
2013-05-27 13:42:53 158
原创 基于MINA构建简单高性能的NIO应用-MINA架构<转>
19 February 2010本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。MINA架构这里,我借用了一张Trustin Lee在Asia 2006的ppt里面的图片来介绍MINA的架构。(图略)Remote Peer就是客户端,而下方的框是MINA的主要结构,各个框之间的箭头代表数据流向。 大家可以...
2013-05-27 13:42:21 163
原创 基于MINA构建简单高性能的NIO应用-一个简单的例子<转>
19 February 2010本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。一个简单的例子MINA使用非常简单,笔者以前做过一段时间传统的Java Socket开发,不过一直对Java NIO不是很理解,但是MINA很快就上手了,MINA封装了NIO繁琐的部分,使你可以更专注于业务功能实现。话不多说,让我们来...
2013-05-27 13:41:38 134
原创 基于MINA构建简单高性能的NIO应用-前言<转>
19 February 2010本文为Sparkle发于《程序员》2008年2月刊的文章,与《程序员》的协议,可以在个人博客中发布,转载请保留出处。前言MINA是Trustin Lee最新制作的Java通讯框架。通讯框架的主要作用是封装底层IO操作,提供高级的操作API。比较出名的通讯框架有C++的ACE、Python的Twisted,而Java的通讯框架还有QuickServe...
2013-05-27 13:40:53 201
原创 一致性 hash 算法( consistent hashing )<转>
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object...
2013-05-23 23:53:49 115
原创 【转】几种经典的hash算法
文章出处:http://hunteagle.javaeye.com注:最近因为在做和hash有关的题目,感到很纠结。虽然上学期数据结构学过,但是当时觉得hash没什么用,所以没有认真学~后悔啊~~~现在恶补一下~计算理论中,没有Hash函数的说法,只有单向函数的说法。所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据。用“人 类”的语言描述单向函数就是:如果某个函...
2013-05-23 23:51:24 230
原创 常用hash算法及评测[转]
RS hash 算法unsigned int RSHash(char* str, unsigned int len){ unsigned int b = 378551; unsigned int a = 63689; unsigned int hash = 0; unsigned int i = 0; for(i = 0...
2013-05-23 23:27:11 126
原创 基础数据结构之一链表介绍(转)
基础数据结构之一链表介绍2011-06-06链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是...
2013-05-07 21:46:01 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人