技术开发 频道

使用Janino优化Java的性能



   
【IT168 专稿】性能对于整个系统来说举足轻重。特别是在采用Java语言开发的大型多用户程序中更是如此。但遗憾的是,在性能问题并没发生之前,是比较难以辨别的,同时解决他们的成本也是很大的。在本文中,作者采用内嵌式的Janino编译库来列举优化Java代码的方法。当其他的办法在解决性能问题无效时,这些方法不免为可行之法。
       众所周知,越底层的代码,它的性能可能就越好。于是,通过编写较底层关键性能区代码常常可以提高程序的性能。而这种标准技术已经在很多的新型开发语言中广泛使用。从而,C语言变成了一种集装箱型语言,Java从C语言发展而来,而且JavaScript是从Java发展而来。
       对Java开发者来说,这种方法是痛苦的,因为Java的优势是能提供一个可以把应用程序与主机系统隔离的同质环境,而如果再转向底层的语言,Java的这种优势将不再拥有。但是,Java只是将应用程序逻辑进行直接编译。如此一来,它就可以有效的将域定义语言(domain-specific language)变成底层的Java字节码。
 
一、提高性能的传统方法
 
       Java程序的慢速构建已经影响了系统可见的性能。它会影响程序开发者的效率、开发成本及程序的可扩展性。那么,对于采用Java作为开发语言的公司,又将如何提到程序的性能呢?下面是几种常用的性能优化方法:
 
1. 优化算法
       在本文的实例中,将采用最安全且原始的方法来提到程序性能。仅通过改变本地代码而实现提高性能的目标,并且能简易地测试程序的可扩展性。
 
2. 优化硬件
       此种方法可以比较原始的提高程序的性能。相比开发者花费数小时去优化软件而言,通过改变单个服务器的机器性能更合算些。但是这种优化硬件的方法并没有考虑到如下一些较复杂的因素:开发人员的需要、应用程序被多次部署的可能性以及硬件能能被更新的空间。
 
3. 优化软件
       通常而言,Java代码(Java库、应用服务器、数据库驱动程序等)的运行效率较其它语言会更高些。尽量保证程序代码的高效性,是提高应用程序性能的不二选择。但遗憾的是,这往往很难预先决定,因为类库的性能特性取决于操作环境,而操作环境不到开发的最后阶段是不确定的。
 
4. 优化程序架构
       由于对人员素质要求较高,优化程序架构是最后的方法。通常而言,对程序的每一次架构上的变动,代码都需部分的重写并重新的评估。对于特大型的项目,局部的架构变动是很有可能的,而这种情况下优化程序架构的风险就相当的高。      
       如果为了提高程序的性能而穷尽以上的方法,那将是一件令人十分痛苦的事情,特别对一些复杂且难以理顺的大项目更是如此。那难道就没有其它更好的办法了?
0
相关文章