jdk 1.5变参的使用

今天进行编码的时候发现了一点好玩的东西,贴出来记录.

 

有某List<String>
strList含有如下元素

String a1=”a1″;

String a2=”a2″;

String an = “an”;

 

想调用某函数:

methodFunc(byte[] bytes);

bytes为这些a1…an的经过特定转换函数转换成byte[]的append之和

 

已经有的方法:

byte[] stringToBytes[](String str);

String到byte[]的转换函数,转换完,长度为x

 

byte[] joinBytes(byte[]…by);

将若干个by数组连接的变参方法,效率为1.

 

 

最开始想到的解决方法是

 

byte[] result= new byte[0];

 

for(String
str:strList){

  byte[] temp = stringToBytes(str);

  result =
joinBytes(result,temp)://效率已经成为n了

}

 

methodFunc(result);

 

后来又想到

byte[] result= new byte[x*strList.size()];

int result_position =0;

for(String
str:strList){

  byte[] temp = stringToBytes(str);

  for(int
i=0;i<x;i++,position++){

    result[position] = temp[i];

  }

}

 

methodFunc(result);

 

虽然这样效率高了,但是对于已经有的函数用不上,整体来说不利于结构化和重构.

 

最后无意间发现,jdk1.5对于变参的处理是作为数组传入的,简直太方便了!最后的代码:

 

//初始化一个size大小的数组,对象为每个String处理后的byte[]

byte[][] temp= new byte[strList.size()][x];

 

 //挨个将String转化为byte[]

for(int
i=0;i<strList.size();i++){

  temp[i] = stringToBytes(str);

}

 

//哈哈,竟然可以这样用变参函数~!

byte[] result = joinBytes(temp);

 

methodFunc(result);

 

Java NIO API详解  &近期的一些想法

正在做的系统用到了很多NIO的东西,以前用过,但是不很透彻,这次也正好有机会把原来copy的那套代码好好吃透.

 

上午把协议的解析部分匆忙弄完,一些简单的共有Util方法自己就按最简单的方法写了一个,实现为主.

 

后来老B同志准确的发现了这些问题(不愧是老同志了~眼光就是准),并指出了优化方法,自己写了一些例子,上网搜了点相关资料,越来越觉得nio是个好东西!一定要好好看看.

 

csdn的某高人发了一篇翻译老外的东西,看了看觉得相当不错,本来想把原文贴过来的,不过这个Space提醒我字节太多让我多贴几篇,,还是给个连接吧.

 

同时可敬可爱的老B同志也提出此项目的线程池的问题.代码是老H写的,异常漂亮,可惜自己水平有限,看的也是异常迷茫,还是自己改造一下吧.

 

发现自己挺适合在压力下工作的.想起来东东老大提起的”人都是有惰性”的看法,没错没错,的确如此啊!

 

毕业在郑州工作的时候,也许是在父母身边吧,觉得日子也还悠哉.到北京快1年了,越来越觉得自己学生心态太严重,处理问题的方法稚嫩的很,可是又不知如何去改善.总觉得自己少了70年代生人的执著,多了70年代人的深沉.少了80年代人的乐观,多了80年代人的稚嫩.是不是人都有这么一个过程?

 

有时在家望着窗外的水泥丛林,想起大学哥们的”人生游戏论”,那么我是不是也是找不到练功的诀窍?

 

在”北京”这个诺大的服务器中,如何才能找到自己的人生定位?

 

别人说3岁看小,7岁看老.呵呵,我在网游中是体验多过练功.多半时间都是在欣赏美丽的风光,做各种各样有趣的任务,练功的唯一目标也就是在做任务的时候不会因为自己能力的原因而卡在哪里.看着别人把所有的时间用来无休止的练级,练级,PK.我只是觉得自己没那样的时间和心思,况且,我也不喜欢去枯燥的折磨自己.

 

其实有点能卡住自己的东西挺好的,也就是所谓的挑战吧,有了挑战才有动力,如果游戏中所有的任务用10级可以完成,那么我最多也不会去练到15级;也正是有了那么多变态的任务,所以我也才能有那么高的等级和能力吧,恩,这么解释应该是差不多的.佩服哥们,不知道这厮现在在巴蜀之地和他的美人是否巴适.