面向对象和面向过程的区别,Java为什么说它性能低

本文探讨了面向对象编程(OOP)相较于面向过程的优点,如更好的代码扩展性、封装、继承和多态,强调其在易维护和复用方面的优势。然而,也指出在追求性能和资源效率时,面向过程可能更适用,尤其是在嵌入式开发等场景。同时,对比了编译型语言与解释型语言,如Java的半编译特性及其性能影响。
摘要由CSDN通过智能技术生成

面向对象相比于面向过程:

面向对象的代码延展性更好:

拿上面的例子举例如果现在要把存储的对象不是大象了而是狮子,那么很明显:

面向过程要的方法要所有大象为狮子,面向对象的方法只要改一下关于这个改动的方法也就是“存储”内容。

不仅仅是修改,添加删除等一系列了改动操作也是如此面向过程进行这一系列操作时都会要判断是否于前面的方法有影响。改起来就很麻烦,面向对象只要改对应的的负责人(对象)内容即可。

总结:面向对象三大特性:封装,继承,多态给 面向对象带来的好处(方便改变代码,再利用代码,维护代码)易维护,易复用,易拓展

相比面向对象面向过程的性能消耗,资源占比比较低:

因为面向对象都要创建类来实现这样就会导致资源占比比较高所以在性能为刚需时大多就以面向过程编程为主了比如:linux,嵌入式开发。

其实面向过程编程在运行时也会被系统分配内存,计算机偏移量等等,但是java性能差主要是因为它是半编译语言最终执行的代码不是被cpu直接执行二进制机械码

编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,
直接使用编译的结果就行了。

解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。

而java是这样的:先将源代码编译成可执行文件然后在Jvm(java虚拟机)中解释运行

上图:

1编译型语言:

2解释型语言:

 3java

java初学者如有不对,请大家指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值