Java的API调用优化
来源:互联网 发布:协同过滤算法 python 编辑:程序博客网 时间:2024/06/10 01:04
1.使用clone()函数创建通用型对象以加快创建速度,并且不会调用构造器,原有对象值得以保留。
2.对于返回值为布尔类型的条件不要再用布尔值判断相等,这样字节码减少,执行效率高。
3.用三目条件运算符代替if—else。
4.当不需要访问对象内部时,用静态方法代替实例方法,这样速度更快更省内存。因为实例方法要针对对象生成一个函数导向表来支持多态。
5.final确保方法不会重载,并给予保护。
6.能用多态尽量不要用instanceof。
7.能用局部变量就用局部变量,局部在栈中;静态、实例对象在堆中。
8.尝试用位运算代替乘除运算,尝试用布尔运算代替位运算。
9.一维数组比二维数组慢,因为二维数组是JVM牺牲了大约10倍的空间换来的时间效率。
10.JVM分配内存有两种方式:指针碰撞(适用于Java堆绝对规整的时候),空闲列表(适用于不规整的时候,类似于FF、BF、WF算法)。具体采用哪种由Java堆是否规整决定,而Java堆是否规整由GC是否有压缩整理功能决定。
11.内存分配还要考虑同步和独立性(线程有自己的内存空间)。
12.对象:对象头、实例数据、对齐填充。对象头:对象自身数据(哈希码、GC年龄、线程锁)。类型指针(用来确定属于哪个类)。
13.Java要求对象的起始地址必须是8字节的整数倍。
14.Java通过栈上的引用来寻找对象:直接指针和句柄(二级指针)。
15.Switch语句中避免参数项的各种形式的重复,如:字母和相应的UTF-16值,虽然形式不同,但结果是一样的。
16.Java支持的switch参数的string类型来自于编译器级别,在JVM层次依然是整数兼容型。
17.Java对switch的优化:一个case=if;一个case+default=if-else;再多,用哈希值代表数值参数,并且对比时仍然用equals,因为哈希函数可能产生冲突。
- Java的API调用优化
- Java的API调用优化——容器
- java 调用C的API
- JAVA API调用优化建议--采用Clone()方式创建对象
- JAVA API调用优化建议--避免对boolean类型判断
- JAVA API调用优化建议--多用条件运算符
- TC的优化--HDB--java api
- OGRE针对图形API调用的效率优化
- Java 调用 Windows API 可能性的实现
- Java中调用Windows API的方法
- Java中怎么调用Windows的API
- Java中调用Windows API的方法
- J2ME 调用faceapi 的API Java版本
- java实现kubernates API的访问调用
- delphi调用java的api接口
- java后台api间的相互调用
- elasticsearch java api优化
- Java调用Win API
- android之新闻客户端
- 链表的初始化
- iOS测试与集成
- 96. Unique Binary Search Trees
- [LeetCode]541. Reverse String II(间隔反转字符串)
- Java的API调用优化
- [UE4]角色蓝图CharacterBlueprint中设置对象往移动方向自动转向
- Python程序 Flora
- Codeforces 797C-Minimal string
- Django: ImportError: No module named XXX.settings
- Python中raw_input() 与 input()
- 算法训练 装箱问题 递归动态规划
- Shell 下的helloworld!
- LinkedList与ArrayList比较