Netty实现原理浅析

2010年7月28日
7 views 没有评论

Netty是JBoss出品的高效的Java NIO开发框架,关于其使用,可参考我的另一篇文章 netty使用初步。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文的一些内容及图示也来自于Netty的文档,特此致谢。

阅读全文...

纯净水 java ,

Netty 3.1 中文用户手册

2010年7月14日
30 views 2 条评论

本指南对Netty 进行了介绍并指出其意义所在。

1. 问题

现在,我们使用适合一般用途的应用或组件来和彼此通信。例如,我们常常使用一个HTTP客户端从远程服务器获取信息或者通过web services进行远程方法的调用。

然而,一个适合普通目的的协议或其实现并不具备其规模上的扩展性。例如,我们无法使用一个普通的HTTP服务器进行大型文件,电邮信息的交互,或者处理金融信息和多人游戏数据那种要求准实时消息传递的应用场景。因此,这些都要求使用一个适用于特殊目的并经过高度优化的协议实现。例如,你可能想要实现一个对基于AJAX的聊天应用,媒体流或大文件传输进行过特殊优化的HTTP服务器。你甚至可能想去设计和实现一个全新的,特定于你的需求的通信协议。

阅读全文...

纯净水 java ,

不按科学发展观办事的行为,大家看看你对上几条了

2010年7月14日
3 views 没有评论

不按科学发展观办事的行为:
1跟网友见面
2跟知己上床
3跟情人结婚
4把爱好当职业
5把所有同事当挚友
6到朋友公司打工
7在领导面前知无不言
8轻信组织的许诺
9不会给自己找借口
10喜怒哀乐都挂在脸上
11相信仅靠努力就能成功
12不懂吹捧领导的艺术
13没有足够调剂生活的私房钱
14爱听别人的恭维
15酒桌上先弄到自己
16长期不和老婆做爱
17把情人肚子搞大
18受贿钱存在自己名下
19坚持写性爱日记
20有好短信不与朋友分享,请对照以上内容及时整改。

阅读全文...

纯净水 我的日记

motionWelder动作编辑器封装使用

2010年7月9日
26 views 没有评论

motionWelder是一位印度先生写的动作编辑器.曾经使用时向作者提出过一些BUG.人家都修改了.可谓是好心人啊.现在这软件也越来越强大了.

下面是我使用中的一些封装..

他有两种方式一种是MSimpleAnimationPlayer.另一种是implements MSprite.前一种是简单动画.后一种自己实现MSprite接口.可能扩展

阅读全文...

纯净水 j2me, 游戏

Comet 10w + 连接打开测试

2010年7月9日
29 views 没有评论

Comet是一个时髦词语,象ajax一样,非常Cool。Comet的主要作用是,服务器可以把新数据主动传送给客户端。 

我认为,Comet将是下一波互联网应用更新潮的主流.象google wave使用Comet一样,实现实时更新. 

Plurkr 的增长速度非常快,我们正在成为最大的Python网站之一,我们的每天都有10w+的在线用户。
我们大约用了一个星期寻找不同的解决方案.

阅读全文...

纯净水 java , , ,

手机游戏动作编辑器MotionWelder–编写程序

2010年7月8日
27 views 没有评论

开发环境:Eclipse+EclipseMe (Eclipse3.4版本以上使用EclipseMe时在添加第三方库常常会出现classnotfound异常,可使用mtj代替EclipseME,或使用低一些的Eclipse版本)
1、新建J2ME工程,导入MotionWelder的J2ME库(在该程序下载包里J2ME 的lib目录里的motionwelder.jar)
       右键工程–>Build Path –>Add external archives… —>选择motionwelder.jar打开,即可导入完毕。
2、把导出的动作数据文件拷到工程的资源目录,导入动作数据文件
/*
spriteName 动作数据文件
splitImageClips 内存加载图片的方式,如果为false则加载完整的图片(图片没有切片),true则加载切片的图片
imageloader  加载动作所需图片的类
*/
MSpriteData animationData = MSpriteLoader.loadMSprite(java.lang.String spriteName, boolean splitImageClips, MSpriteImageLoader imageloader)
3、加载动作图片
interface MSpriteImageLoader:
splitImageClips = false  - 加载完整的图片
           Image[]  loadImage(spriteName,imageId,orientationUsedInStudio);

阅读全文...

纯净水 j2me, 游戏 , ,

各种排序算法java实现

2010年6月28日
16 views 没有评论

插入排序:
 

  1.  
  2. package org.rut.util.algorithm.support;
  3. import org.rut.util.algorithm.SortUtil;
  4.  
  5. public class InsertSort implements SortUtil.Sort{
  6.     /* (non-Javadoc)
  7.      * @see org.rut.util.algorithm.SortUtil.Sort#sort(int[])
  8.      */
  9.     public void sort(int[] data) {
  10.         int temp;
  11.         for(int i=1;i<data.length;i++){
  12.             for(int j=i;(j>0)&amp;&amp;(data[j]<data[j-1]);j–){
  13.                 SortUtil.swap(data,j,j-1);
  14.             }
  15.         }        
  16.     }
  17. }
  18.  
阅读全文...

纯净水 java

用mysqlslap进行mysql压力测试

2010年5月30日
25 views 1 条评论

mysqlslap是一个mysql官方提供的压力测试工具,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap –help可以获得可用的选项。
下面我们就来看看一些比较重要的参数:
–defaults-file,配置文件存放位置
–create-schema,测试的schema,MySQL中schema也就是database
–concurrency,并发数
–engines,测试引擎,可以有多个,用分隔符隔开。
–iterations,迭代的实验次数
–socket,socket,文件位置
–debug-info,打印内存和CPU的信息
–only-print,只打印测试语句而不实际执行
–auto-generate-sql,自动产生测试SQL
–auto-generate-sql-load-type,测试SQL的类型。类型有mixed,update,write,key,read。
–number-of-queries,执行的SQL总数量
–number-int-cols,表内int列的数量
–number-char-cols,表内char列的数量
–query=name,使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。
测试例子如下:
[root@localhost ~]# /usr/local/mysql/bin/mysqlslap  –defaults-file=/etc/my.cnf –concurrency=200 –iterations=1 –number-int-cols=1 –auto-generate-sql –auto-generate-sql-load-type=write –engine=myisam,innodb –number-of-queries=200 -S/tmp/mysql.sock –debug-info  -uroot -p123
Benchmark
        Running for engine myisam
        Average number of seconds to run all queries: 0.087 seconds
        Minimum number of seconds to run all queries: 0.087 seconds
        Maximum number of seconds to run all queries: 0.087 seconds
        Number of clients running queries: 200
        Average number of queries per client: 1
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 0.551 seconds
        Minimum number of seconds to run all queries: 0.551 seconds
        Maximum number of seconds to run all queries: 0.551 seconds
        Number of clients running queries: 200
        Average number of queries per client: 1
User time 0.03, System time 0.05
Maximum resident set size 0, Integral resident set size 0
Non-physical pagefaults 2826, Physical pagefaults 0, Swaps 0
Blocks in 0 out 0, Messages in 0 out 0, Signals 0
Voluntary context switches 3340, Involuntary context switches 96
对于INNODB引擎,200个客户端同时运行这些SQL语句平均要花0.551秒。相应的MYISAM为0.087秒,测试结果也很简明,就不多少说了。
指定数据库的测试:
–create-schema,指定数据库名称
–query,     指定SQL语句,可以定位到某个包含SQL的文件
[root@localhost ~]# /usr/local/mysql/bin/mysqlslap –defaults-file=/etc/my.cnf –concurrency=50 –iterations=1 –create-schema=test –query=/root/test.sql -S/tmp/mysql.sock -uroot -p123
Benchmark
        Average number of seconds to run all queries: 0.021 seconds
        Minimum number of seconds to run all queries: 0.021 seconds
        Maximum number of seconds to run all queries: 0.021 seconds
        Number of clients running queries: 50
        Average number of queries per client: 1

阅读全文...

纯净水 mysql

lua 语法

2010年5月26日
18 views 没有评论

Lua像C和PASCAL几乎支持所有的传统语句:赋值语句、控制结构语句、函数调用等,同时也支持非传统的多变量赋值、局部变量声明。
4.1 赋值语句
赋值是改变一个变量的值和改变表域的最基本的方法。
a = “hello” .. “world”
t.n = t.n + 1
Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
a, b = 10, 2*x     <–>     a=10; b=2*x
遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值:
x, y = y, x             — swap ‘x’ for ‘y’
a, a[j] = a[j], a     — swap ‘a’ for ‘a’
当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:
a. 变量个数 > 值的个数    ;     按变量个数补足nil
b. 变量个数 < 值的个数         多余的值会被忽略
例如:
a, b, c = 0, 1
print(a,b,c)         –> 0 1 nil

阅读全文...

纯净水 java ,

kahlua java上的lua脚本介绍及性能测试

2010年5月24日
52 views 没有评论

kahlua是一款基于CLDC1.1且非常小巧的Lua解释器,它很容易扩展。只需要配合一个Lua编译器,就可以执行编译后的Lua源代码。

也可以用在j2se上,而且速度还非常快!!支持把lua文件的编译执行,大家可以到http://www.oschina.net/p/kahlua 下载项目和交流此项目

阅读全文...

纯净水 java