随到随学/常年招生
全日制班
蓝鸥西安
陕西省西安市高新区唐兴路10号后楼一层详细地图
15626540795
课程介绍
优化Java中的多态代码
Oracle的Java是一个门快速的语言,有时候它可以和C++一样快。编写Java代码时,我们通常使用接口、继承或者包装类(wrapper class)来实现多态,使软件更加灵活。不幸的是,多态会引入更多的调用,让Java的性能变得糟糕。部分问题是,Java不建议使用完全的内联代码,即使它是非常安全的。(这个问题可能会在新的Java版本里得到缓解,请看文章后面的更新部分)
考虑下这种情况,我们要用接口抽象出一个整型数组:
public interface Array {
public int get(int i);
public void set(int i, int x);
public int size();
}
你为什么要这样做?可能是因为你的数据是保存在数据库里、网络上、磁盘上或者在其他的数据结构里。你想一次编码后就不用关心数组的具体实现。
那么,强制使用内联函数调用会怎样?
一个可行的解决方法是手动实现内联函数。你可以使用 instanceof 关键字来提供优化实现,否则你只会得到一个普通(更慢)的实现。
总结
一些Java版本可能不完全支持频繁的内联函数调用,即使它可以并且应该支持。这会造成严重的性能问题。把类声明为 final 看起来不会缓解性能问题。对于消耗大的函数,可行的解决方法是自己手动优化多态和实现内联函数调用。使用 instanceof 关键字,你可以为一些特定的类编写代码并且(因此)保留多态的灵活性。
蓝鸥科技西安中心,移动互联网科技育人专家,教育部产学合作协同育人项目承办企业,专注西安Java培训、西安大数据培训、西安unity培训,西安VR/AR培训、西安UI设计,西安HTML5培训、西安PHP培训,选择蓝鸥,不止高薪更是高起点!
显示全部
学校介绍
学校人气度:2047
2016-04-19
共439个
软件开发与培训
杨老师
蓝鸥科技是一家集产、学、研为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发和HTML5前端开发等软件人才的培养。蓝鸥强大的师资阵容,纯净的教育理念,严格的管理制度,使其成为了美国苹果公司AATC认证官方授权培训中心、Unity官方授权培训中心,也是目前国内仅有的一家”两大官方授权于一身“的移动互联网培训企业。
相关课程
加载更多
热门推荐
QQ咨询
微信咨询