Java,Go,NodeJS性能测试

PS: 项目地址:github,这边有所有的代码 写在文章之前: rpctest文件夹下为测试程序,使用说明见文档,改写自网上淘宝的性能测试用代码 go java nodejs文件夹下为三个不同版本的rpc echo server. 线下测试看,go语言的效率和Nodejs差不多,java因为没有解决并发问题所以只有单线程,效率约为前两者的70~80%,后续将会使用netty进行测试比较 测试环境: Intel i5 4核4线程 内存8G UBuntu x64 文章开始 文章缘由,因为公司中真好有一个代码竞赛,就是... [阅读全文]

像NodeJS一样写Java(二)

在上篇文章中像NodeJS一样写Java(一)中,我们已经了解了一个简单的单线程异步框架的基本构成和编写方式。 下面,我们需要聊的是有关这个框架的一些改进,具体的代码可以在我的GITHUB上找到,地址为:https://github.com/MikeCoder/NodeJava,相较于之前的那个,做的改进有下: 添加了任务调度模块 完善了任务结束之后,资源回收问题 关于任务调度模块 我添加了TaskDispatcher接口,接口的定义如下: public interface TaskDispatcher { // getTask() Method m... [阅读全文]

像NodeJS一样写Java(一)

六月过了将近2个星期了,马上要期末考试了,就没有多少心情去写一些自己感兴趣的东西了.这个模型是我很早就想去做的,因为网上吹捧NodeJS很过分.貌似到了膜拜的境地,虽然对JavaScript并不是很感冒,但作为圈子里的人,也是要看一下的.所以就有了前一篇文章《初识NodeJS》 其中,我就对NodeJS的事件机制有了兴趣,因为从来没有想过代码可以这样写,完全基于事件进行编写,虽然之前在写SWING,AWT等程序的时候,会有事件概念,但像NodeJS一样完全架构于事件... [阅读全文]

初识NodeJS

初识NodeJS,印象最深的莫过于他的事件机制,和回调函数,他的读取文件的代码段如下: var fs = require('fs'); fs.readFile('file.txt', 'utf-8', function(err, data) { if(err) console.error(...); else console.log(...); }); console.log(...); 这边好玩的是,他的代码并不是顺序执行的,代码中的function,并不是在readFile之后立刻执行,而是会先执行console.log(...)等到文件准备好之后,系统会触发一个文件准备好的事件,然后自动调用注册的回调函数进行执行.这一点很不同于Java中经典的BIO,代码会... [阅读全文]