加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Java能抵挡住JavaScript的进攻吗?

发布时间:2019-01-31 20:07:15 所属栏目:建站 来源:码农翻身刘欣
导读:副标题#e# JavaScript的进攻 公元2014年,Java 第八代国王终于登上了王位。 第一次早朝,国王坐在高高的宝座上,看着毕恭毕敬的大臣,第一次体会到了皇权的威力。 德高望重的IO大臣颤悠悠地走上前来:启禀陛下,昨日收到战报,有个叫做Node.js的番邦又一次

“确实受到了它的启发, 但是我的Node.x在架构和一些关键的抽象上和Node.js有很大不同。” 蒂姆不好意思地笑了笑,“先说说相同的部分,既然都是异步操作,那肯定是通过事件驱动的,所以都有一个事件循环。”

Java能抵挡住JavaScript的进攻吗?

IO大臣之前和Swing大臣聊过, 知道事件循环是怎么回事,这是一个相当古老的概念了。

无非就是有个线程在检测一个队列,如果队列中有事件,就拿出来处理。

“只不过我这里有所不同,可以创建多个事件循环出来,比如每一个CPU核心有一个,这样可以充分利用CPU的多核性能。”  蒂姆得意地说道。

Java能抵挡住JavaScript的进攻吗?

(4个CPU core, 4个事件循环)

IO大臣点头表示赞许, 他听说Node.js好像只有一个主线程,没法直接利用多核的能力。想利用多核的话还得开多个进程才行。

异步操作

“你图中的那个Hanlder就是具体的业务代码所在地吧? 具体长什么样子啊,让我看看!”  IO大臣问道。

蒂姆赶紧呈上代码,这是简单的Hello World。

  1. import io.vertx.core.AbstractVerticle;  
  2. public class Server extends AbstractVerticle {  
  3.   public void start() {  
  4.     vertx.createHttpServer().requestHandler(req -> {  
  5.       req.response()  
  6.         .putHeader("content-type", "text/plain")  
  7.         .end("Hello Word!");  
  8.     }).listen(8080);  
  9.   }  

这段代码生成了一个简单的HTTP 服务器, 在8080端口监听, 每当有请求来的时候,都返回一个字符串“Hello World!”。

IO大臣一看,大为吃惊:“你这代码不需要外部容器,自己就搞了一个HTTP服务器啊?”

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读