问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写Java程序如果只用静态方法和非引用类型,性能能否大幅提高?

发布网友 发布时间:2022-04-25 06:17

我来回答

1个回答

热心网友 时间:2023-11-02 10:46

首先,结构体和类带给我们最大的好处,是可以将基本的数据类型组合起来,得到我们业务所需要的数据类型。然后才有绑定动作、继承、多态之类。Java中只有类没有结构体,因此我们总是不可避免的使用类而创建对象。
我们再假设Java引入了某种语法可以帮助我们解决上述的问题,并且可以如题主所说只使用静态方法和非引用类型。可以分析出,这样做的好处有两个,避免类成员方法调用,避免在堆上创建和回收对象。
避免成员方法调用,按照C++里面的差别,this调用约定和标准调用约定的区别只是this调用约定在调用之前将this指针存入ecx中,仅仅多一条指令的差别并没有带来那么多的影响。至于避免堆上对象创建和垃圾回收器回收,而使用非引用类型(即在栈上分配),普林斯顿大学著名的编译器理论研究者A.W. Appel在1987年就指出Garbage collection can be faster than stack allocation(垃圾回收可以比栈式内存分配速度快),尤其在大内存(按照当时的条件,64M已经算是大内存)条件下,显式的手工释放内存开销会比由垃圾回收器一次性批量释放要大。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样备份iPhone的照片? 奇迹的战士怎样加点? 奇迹私服战士8W点的怎么加点PK厉害 房屋装修建材的选购家装建材种类有哪些 家装建材都包含什么 家装应该买什么东西 劓刑简介 电信手机停机保号怎么办理? 定胆定胆方法 3d定胆方法有哪些? java中大量数据如何提高性能? 如何用JNI技术提高Java的性能详解 如何提高Java代码可重用性 Java为什么比C++慢?以及如何提高Java效率 java抽象类能带来性能上提升吗 java语言中几种类型转换的方法 详细?? java重载时是如何向上转型的? 学过C++、JAVA基础知识,怎样才能快速提高,看那些书能在几个月类有明显的效果 java 类型转换的原理是什么? 关于数据类型提升的问题 Java新手 自动类型转换 表达式类型的自动提升 这两者怎么区别 云南有哪些名胜古迹? 普洱十大旅游景点 云南有什么好玩的地方,云南旅游十大必去景点 云南省景点 云南最著名的旅游景点 如何去除脸上痘印痘疤 如何消除痘印痘疤? 股市行情的术语 股票下跌是补仓还是割肉?专业术语怎么说? 关于java中的short和int类型转换的问题 电脑配件怎么区分新旧? 如何知道电脑配件全新? 电脑配件怎么能辨别真假,怎么判断是不是翻新的 怎样知道组装电脑零件是新的 wpsexcel表格多台电脑在局域网同时编辑如何实现? 配置电脑时,怎么检查电脑配件新的还是旧的,怕被翻新 协同合作更加高效,excel多人如何同时编辑 在网上买的 这些 电脑配件如何检查是不是全新正版的? 买组装电脑怎么才能知道配件是新的! 如何辨别组装电脑部件是否是翻新的? 怎样检测网购的电脑配件是不是全新的 怎么看组装主机的配件是不是全新的 怎么看组装好的电脑主机配件是不是全新和有没有缩水? 组装电脑怎么知道硬件是全新还是翻新? 怎样确保组装电脑配件是新的 化学符号怎么打出来? 牛肉生汆面怎么做好吃,牛肉生汆面的家常做 用牛肉蒸面条怎么做呢? 为什么华为nova4是970的处理器而畅享10s才710处理器?