Java能抵挡住JavaScript的进攻吗?
副问题[/!--empirenews.page--]
JavaScript的袭击 公元2014年,Java 第八代国王终于登上了王位。 第一次早朝,国王坐在高高的宝座上,看着毕恭毕敬的大臣,第一次领会到了皇权的威力。 德高望重的IO大臣颤悠悠地走上前来:“启禀陛下,昨日收到战报,有个叫做Node.js的番邦又一次向我国袭击,我边防将士死伤惨重。” “Node.js? 那是什么对象?” 国王心中一乐, 还真有人自不量力,想不自量力。 想我Java帝国生齿之浩瀚,边境之辽阔,踩死你小番邦还不像踩死一只蚂蚁似的。 “那是用JavaScript写的一个框架。” IO大臣看到国王不知道Node.js,内心一沉。 “JavaScript? 爱卿言笑了,一个在赏识器中运行的对象,怎么也许袭击我Java后端。” “陛下有所不知,这JavaScript成长迅猛,不只霸占了前端,还通过Node.js向后端,尤其是我国渗出,臣还传闻他们用Electron开始蚕食桌面开拓了!” “竟有这等事!莫非他们想通吃? 我们不是有Tomcat吗? 派Tomcat去把Node.js给镇压了。” 国王开始憎恨本身的父亲JDK 7世和祖父JDK 6世没把这个Node.js当成一回事,没有把Node.js给抹杀在摇篮之中,把这个祸殃留给了本身,内心开始发虚。 非阻塞异步IO 线程大臣走上前来:“陛下,Tomcat已经率军和Node.js恶战了几日,败下阵来, 这Node.js有个独门兵器,叫做‘非阻塞异步IO’。” “非阻塞? 我传闻我们的Tomcat也能实现非阻塞啊!” 王国有点惊奇。 “不可的,陛下,Tomcat在处理赏罚毗连的时辰能实现非阻塞,可是在真正处理赏罚哀求的时辰照旧必要同步操纵,一个哀求对应一个线程来处理赏罚,不像Node.js那样,都是异步操纵,只有一个主线程在忙活。” 线程大臣做了一个简明简要的讲述,不知道国王可否听懂。 (码农翻身老刘注: Node.js的故事请拜见《Node.js: 我只必要一个店小二》) “众位爱卿,你们说说该怎么办? 总不能让这小小番邦屡屡陵暴我堂堂Java帝国吧。” “臣倒是有一计,” 荟萃大臣说道,“这Node.js固然来势汹汹,可是它也有个致命的弱点,那JavaScript是个动态说话,无法举办编译时范例搜查,错误只有比及运行时才气袒暴露来。用它开拓个小项目还可以,一旦项目变大,代码变多,职员变多,那就会酿成恶梦了。” “爱卿说说详细怎么办?” “我们可以派一些卧底去Node.js, 处处撒播这样的动静,解体他们的军心和士气,让他们以为Node.js写的体系,很快就会侵蚀,最终照旧要用我大公至正的Java说话来重写。” “嗯,此乃生理战也,至少会稳住一些墙头草,准奏,由爱卿来布置。 ” 国王说道,“不外,此法治标不治本,照旧得想步伐直接把他们打败。” “陛下真乃一代圣君,” 线程大臣顿时开始捧臭脚,与此同时,奇妙地把矛头转向老不死的IO大臣:“我Java帝国在第4代国王的时辰就呈现了非阻塞IO,这么多年已往了,居然还没成长出相同Node.js的体系,其实是不该该啊。” “老不死”的IO大臣是多么夺目:“陛下明鉴, 我Java帝国应用处事器一向以来都是Tomcat独大,他们回收了线程池,每个哀求一个线程的方法,我也欠好过问。” IO大臣把责任推得一干二净。 “没错,” 荟萃大臣为IO大臣打行侠仗义,两肋插刀,“尚有一点就是这异步编程,听起来很好,可是写起来可就要命了,那么多的回调,的确就是反人类,臣民们戏称为回调地狱,没人乐意那么写,成长不起来也很正常。” 线程大臣顿时接口:“此言差矣,陛下已经教会了臣民们怎样行使Lambda表达式,而且此刻也呈现了RxJava,已经没什么回调地狱了!” “那是此刻,早年可没有!” “......” 国王看到这几位大臣要打起来,顿时发挥和稀泥之术:“众位爱卿各有原理,你们且说说,怎么才气打败着来势汹汹的Node.js吧。” 没人措辞。 国王只好退朝。 首都酒馆 首都的小酒馆历来是一个多方动静的集散地。 一个金发碧眼的小伙子正在“骇人听闻”:“传闻了没有,Node.js又赢了几仗,Tomcat雄师死伤惨重,有不少臣民都投奔到谁人番邦去了。” “这异步操纵真的有这么锋利?” 有人问道。 小伙子喝了一口酒: “着实不是异步操纵更好,而是在高并发的情形异步操纵更有用,各人都知道, 一个呆板能支持的线程数量是有限的,不行能一向增进。Tomcat那种一个哀求一个线程的方法很快就会碰着瓶颈。” “你说说,到底有什么甜头?”有人刨根问底。 “此刻处事器端的操纵无非就是操纵文件,读写数据库,会见长途处事,这些都是所谓阻塞操纵。” 小伙子睁开了一张图: “橙色的都是IO操纵,绿色的才是真正的线程执行, IO操纵很是耗时,线程大部门时刻都挥霍在了守候上面! 假如能让线程不要守候,去做此外工作,那用少量的线程,乃至一个线程就可以了。” 世人纷纷颔首, 这小伙子已经看出了题目的要害,此刻的许多体系,都是IO麋集的, 高并发环境下,假如一个哀求一个线程,挥霍庞大。 “想我Java 假造机云云刁悍,假如能实现异步操纵,那还不把Node.js秒成渣?!”小伙子狠狠地用手锤了一下桌子。 正在此时,酒馆冲进一队士兵,赶走世人,围住小伙子,领头的喝问到:“斗胆刁民,竟然处处鼓吹异步头脑,给我带走!” 士兵恶狠狠地把他五花大绑,推出门去, 留下一堆人在哪里议论纷纷。 IO王府 “我让你们把他请来,怎么绑来了?快松绑!” IO大臣呵叱完部属,回头密切地问道:“叫什么名字啊?” “小人蒂姆, Tomcat贵寓的幕僚。 ” 蒂姆一边说一边揉肩膀。 “Tomcat贵寓的人......” IO大臣捻着髯毛如有所思。 “是的,大人,我还见过您呢,您前次三更去Tomcat贵寓密谈......” “住口! ” IO大臣赶忙转换话题, “我的部属发明你处处鼓吹异步头脑,毕竟要干什么? ” “小人发现了一个体系,叫做Node.x。 ” “为什么不献于Tomcat 将军?” “唉,小人进言多次,然则将军不听啊!” “你说说看,这是个什么对象? 是要仿照Node.js吗?” IO大臣问道。 之前蒂姆给Tomcat将军报告过Node.js, 他理都不理,常常是一甩袖子就走, 本身是空有一身本事却无人欣赏, 莫非这IO大臣能帮本身一把? 想到此处,蒂姆精力大振。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |