java代码优化执行效率 java程序优化方法

如何让Java程序执行效率更高你这个问题太广泛,首先 , 要知道运行的瓶颈在哪里,一个系统 , 不仅仅是java,还包括数据库 , 缓存等,要看在哪里慢 。就java本身来说 , 合理的代码架构很重要,其次就是服务器的性能 。
如何用JNI技术提高Java的性能详解阻碍Java取得广泛使用的一个首要因素是Java程序的运行效率 。Java是介于解释型和编译型之间的一种语言 , 同样的程序,假如用编译型语言C来实现,其运行速度通常要比Java快一倍以上 。Java具有平台无关性,这使人们在开发企业级使用的时刻总是把它作为首要候选方案之一,但是性能方面的因素又大大削弱了它的竞争力 。为此,提高Java的性能就显得十分主要 。疑问的提出 Sun公司及Java的支撑者们为提高Java的运行速度已经做出了许多全力,其中大多数集中在程序设计的要领和模式挑选方面 。由于算法和设计模式的优化是通用的,对Java有效的优化算法和设计模式,对其他编译语言也基本同样适用 , 因此无法从根本上改动 Java程序与编译型语言在执行效率方面的差别 。JIT(Just In Time,及时编译)技能是个比较好的思想 。它的基本原理是:最先议决 Java编译器把Java源代码编译成平台无关的二进制字节码 。然后在Java程序真实执行之前,系统议决 JIT编译器把Java的字节码编译为本地化机器码 。结尾,系统执行本地化机器码,节省了对字节码实行解释的时间 。这样做的优点是大大提高了Java程序的性能,缩短了加载程序的时间;同时 , 由于编译的结果并不在程序运行间保存,因此也节约了存储空间 。缺点是由于JIT编译器对所有的代码都想优化,因此同样也占用了许多时间 。动态优化技能是提高Java性能的另一个尝试 。该技能试图议决把Java源程序直接编译成机器码,以充分使用 Java动态编译和静态编译技能来提高Java的性能 。该要领把输入的Java源码或字节码转换为经历高度优化的可执行代码和动态库 (Windows中的. dll文件或Unix中的. so文件) 。该技能能大大提高程序的性能,但却破坏了Java的可移植性 。JNI技能 实际上,有一种通常为咱们忽视的技能能够在很大程度上处理这个难题,那就是JNI(Java Native Interface, Java本地化要领 ) 。主张采用纯Java的人们通常反对本地化代码的运用 , 他们认为在Java程序执行的流程中调用C/C++程序会影响程序的可移植性和安全性 。还有一些人认为JNI只是对过去混合编程技能的基本扩展,本来际目标是为了充分使用大量原有的C程序库 。本来,咱们不必拘泥于严格的平台独立性限定,因为采用JNI技能只是针对一些严重影响Java性能的代码段 , 该部分可能只占源程序的极少部分,所以几乎能够不思虑该部分代码在主流平台之间移植的工作量 。同时,也不必过分担心类型匹配疑问 , 咱们完全能够控制代码不出现这种不正确 。此外 , 也不必担心安全控制疑问,因为Java安全模型已扩展为准许非系统类加载和调用本地点法 。根据Java规范,从JDK 1. 2开始,FindClass将设法找到与当前的本地点法关联的类加载器 。假如平台有关代码属于一个系统类,则无需涉及任何类加载器; 否则 , 将调用适当的类加载器来加载和链接已命名的类 。换句话说,假如在Java程序中直接调用C/C++语言产生的机器码,该部分代码的安全性就由Java虚拟机控制 。
Java代码执行效率问题效率是一样的,虽然语句不一样,但是编译成class文件后 , 都是相同的JVM指令 。
新建一个Java文件Test2.java,然后把它编译成Test2.class

推荐阅读