JAVA网页编程之JRuby 1.1公布,次要功能进步仓酷云
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net网页编程有没有机会赶上java。9个月前,JRuby1.0公布了,在3个候选刊行版也公布以后,JRuby1.1终究面世了。InfoQ会见了Ruby的CharlesNutter和OlaBini,来谈一谈JRuby1.1的变更的面前细节和项目将来的偏向。Charles列出了JRuby1.1中的严重变更:
最年夜的改善是:
[*]一个完全的编译器,用来把Ruby代码转换成Java字节码(bytecode)
[*]重写了IO子体系,使它更好地婚配Ruby的功能
[*]我们的新Regexp引擎撑持Ruby字符串,而且功能年夜幅提拔
[*]整体功能比1.0一切的刊行版都要好很多倍
我们还做了不计其数的修补来兼容Ruby1.8.6。JRuby是今朝为止与Ruby兼容性最好的第三方完成了,并且很长工夫内城市一向是。
他还表达了对JRuby1.1功能的意见:
通用的Ruby代码几近都应当运转地快很多,出格是在它利用了大批正则表达式的情形下。一样平常来讲,假如一段Ruby代码在JRuby中运转得不如在Ruby1.8.6中快的话,我们就以为这两头呈现了成绩,因而我们就查找成绩呈报,来办理一切遗留的瓶颈成绩。
除JIT(把Ruby代码编译为Java字节码的JustInTime编译器)之外,功能得以改善的另外一个缘故原由是Joni,一个OnigurumaRegex引擎的Java移植。Ola也许先容了一下:
基础上,这个正则表达式引擎完整移植于Oniguruma——这是Ruby1.9将接纳的Regex引擎。我们的移植是由MarcinMielżyski完成的,仿佛具有更优的功能,并且还修改了原Oniguruma中仍存在的一些毛病。这个新的完成比其他一切的基于Java的regex引擎体现得都要好,而且还与Ruby1.8和Ruby1.9具有极好的兼容性。我们重写了年夜部分的Regexp和字符串办法,来无效地利用新引擎。Charles增补了一些细节:
由于Ruby的字符串只是字节汇合,因而JRuby完成也利用Java字节数组。恰是因为这个缘故原由,现有的Java正则表达式引擎对我们来讲体现的都欠好;一切的regexp操纵都要把byte[]转回char[]。但JRuby成员之一MarcinMielzynski挖空心思地移植了Oniguruma——这一个Ruby1.9所利用的基于byte[]的编码有关的(encoding-agnostic)正则表达式引擎。多亏了他的“Joni”库,如今我们有了比之前更好的regexp撑持,而且基础上一切的regexp功能成绩都办理了。这是一项巨大的事情,一个伟大的奉献。跟着1.1的开辟周期停止,这意味着应当入手下手思索未来的刊行版了。Ruby天下的一个主题是撑持Ruby1.9的特征。Ola注释了如今的企图:
现在Ruby1.9还处于开辟版,尚没有对我们形成很年夜影响。我以为它会在两方面临我们有所匡助:第一,1.9的特征将更不乱,也就是说我们更简单把它们准确地加到JRuby中。第二,因为我们正盘算入手下手察看1.9的实在功能,我们就有了一个好的方针来对照。如今我们基础上在一切的尺度评测中都凌驾了1.8。
我们已入手下手把1.9的工具到场JRuby了,并且我们还会持续这么做下往。固然如今起首要包管准确性和修改毛病。比方Oniguruma的移植让我们为字符串等增添编码撑持变得加倍简单。
我们还没有会商到2.0。从我团体来讲,我以为2.0会是个完整兼容1.9和1.8的版本。为了JRuby1.2,我们会努力于Java集成和内部API。我们的Java集成特征如今事情的十分好,但个中仍有一些毛病和低效力的工具,以是我们盘算对谁人子体系做一次完全的反省。这毫无疑问是个次要的事情,并且劳绩也会很棒。与平常一样,功能一向是个主要的话题。Ola指出了一些事关功能进步的关头点:
你差未几在一切的方面都能看到功能的提拔。可是在那些我们可以静态地指出基于仓库的当地变量充足平安,又没有利用eval,也没有甚么时兴工具中央,功能才进步得最多。在那些办法中,我们一般能够从编译器中取得伟大的功能提拔,并且假如它们是你程序中的热门的话,这也会年夜幅改善一样平常的运转时。
Charles对将来的企图是:
在JRuby1.1以后,我们最想看到的两个方面是对1.9的撑持和更好的Java集成。这些事情大概会作育JRuby1.2,大概年夜到间接进进JRuby2.0。固然了,我们也会经由过程精益求精功能来坚持抢先……可是到今朝为止,我们已对它十分中意了。
我们正思索在JRuby1.1公布一段工夫后入手下手努力于Ruby1.9的特征。但是我们也但愿在我们花了大批工夫在1.9的特征上时,它能坚持不乱。看起来1.9开展的很快,但我们可不想在来岁往追逐1.9特征的变更。
Charles还说了他对将来改善的设法,不但针对JRuby的功能,而是针对一切运转在JVM下面的静态言语:
我想我们不管怎样都要展现一下JVM的dynlang的惊人潜力。即便这意味着要为OpenJDK制造一个新的,大概还不太兼容的工具,那也值得。没有来由会让这个事情不克不及准确地集成到Java中,但的确存在难以相信的VM守候被开辟。我想既然人们已意想到了他们进进了甚么,往年对OpenJDK来讲会是主要的一年。而你能够见证JRuby的事情会使用人们提出的一切OpenJDK实行。检察更多关于改善JVM上的静态言语撑持的企图和项目,大概间接看一看关于此项研讨的DaVinciMachine网站来追求更多细节。
敬请浏览InfoQ中一切关于JRuby的文章。
原文链接:JRuby1.1releasedwithmajorperformanceimprovements
来自:http://www.infoq.com/cn/news/2008/04/jruby-1-1-release
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点, 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 是一种使用者不需花费很多时间学习的语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种将安全性(Security)列为第一优先考虑的语言 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 是一种突破用户端机器环境和CPU
页:
[1]