博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的优化机制对代码编写的启示
阅读量:4040 次
发布时间:2019-05-24

本文共 949 字,大约阅读时间需要 3 分钟。

Java的代码优化机制分为两部分:编译优化和运行优化。

编译优化阶段是在把java代码转化为class文件的过程优化,主要是在eclipse等编译器中进行的编译过程。在编译过程中,带有的优化措施有:

1.注解的处理

2.解语法糖   需要解的语法糖有泛型、循环遍历、自动装箱、拆箱条件等

注解在编译阶段优化是因为大多数的注解是在java代码层面以上的,语法糖则是因为它可以提高编码的效率。编译阶段主要集中在可以正确并有效的生成class文件,集中在java易用性上的优化。

编译阶段的优化需要我们注意注解是注入到什么层面的,语法糖的具体实现细节。由于语法糖并不能对代码的提供实质性的改进,所有了解细节有助于规避其中的细节问题。编译时期的优化的要求是会熟练使用编程语言java。

运行优化阶段是class文件转化为本地机器代码的过程优化,主要是在JVM中进行的。在运行优化阶段,JVM会对class文件中频繁用到的方法从解释执行转化为编译执行,进行深度的优化,这个也是JVM对class文件运行的一项重要的效率保证措施。至于如何统计运行频率,这个对当前主题来说可以跳过。在运行时优化的过程中,采取的优化措施有的比较的保守,有的非常激进。保守的公共子表达消除,方法内联等;激进的优化措施可能类似于计算机指令执行过程中的条件猜测。采用这些措施之后,会在class文件转化为机器代码的过程中合并代码,移除dead code等,这些操作做完之后,你可能发现将这些机器代码进行反编译的时候产生的代码结果与java的源码文件出现了差异。差异就是我们编写代码中做的还不够的地方。

当然也有一些公司或者组织提供了一些工具,帮助扫描代码去除有冗余或者dead code等内容,这些工具是基于class文件进行工作的。当要使用工具扫描的时候,请先编译java文件,因为这些工具也是基于运行优化技术的工具。

编译优化阶段对代码优化的要求很低,不过运行优化对代码的优化会让源码的痕迹的很模糊,特别是没有优化记录时。我们在编写代码的时候,根据编译时期的优化,需要正确使用java的语法规则就可以了;根据运行优化时期的优化,需要平时不断的对编码时期的逻辑的全面性进行提升,是一种不断锻炼和提升的能力,这个可以区分编码人员的功力水平。

转载地址:http://dzvdi.baihongyu.com/

你可能感兴趣的文章
linux mint下使用外部SMTP(如网易yeah.net)发邮件
查看>>
北京联通华为光猫HG8346R破解改桥接
查看>>
python append 与浅拷贝
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
python一句话之利用文件对话框获取文件路径
查看>>
PaperDownloader——文献命名6起来
查看>>
如何将PaperDownloader下载的文献存放到任意位置
查看>>
C/C++中关于动态生成一维数组和二维数组的学习
查看>>
JVM最简生存指南
查看>>
Java的对象驻留
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>