尚学堂|又到求职季,这些难回答的Java面试题,你能答对几道?( 三 )
1)简单性和清晰性 。 清晰性是Java设计者的目标之一 。 设计者不是只想复制语言 , 而是希望拥有一种清晰 , 真正面向对象的语言 。 添加运算符重载比没有它肯定会使设计更复杂 , 并且它可能导致更复杂的编译器 或减慢 JVM , 因为它需要做额外的工作来识别运算符的实际含义 , 并减少优化的机会 以保证 Java 中运算符的行为 。
2)避免编程错误 。 Java 不允许用户定义的运算符重载 , 因为如果允许程序员进行运算符重载 , 将为同一运算符赋予多种含义 , 这将使任何开发人员的学习曲线变得陡峭 , 事情变得更加混乱 。 据观察 , 当语言支持运算符重载时 , 编程错误会增加 , 从而增加了开发和交付时间 。 由于 Java 和 JVM 已经承担了大多数开发人员的责任 , 如在通过提供垃圾收集器进行内存管理时 , 因为这个功能增加污染代码的机会 成为编程错误之源 因此没有多大意义 。
3)JVM复杂性 。 从JVM的角度来看 , 支持运算符重载使问题变得更加困难 。 通过更直观 , 更干净的方式使用方法重载也能实现同样的事情 , 因此不支持 Java 中的运算符重载是有意义的 。 与相对简单的 JVM 相比 , 复杂的 JVM 可能导致 JVM 更慢 , 并为保证在 Java 中运算符行为的确定性从而减少了优化代码的机会 。
推荐阅读
- 大话西游2|大话西游2:又到了刷亲密丹的时候了,保卫长安走起
- 古剑奇谭木语人|明日方舟临光泳装皮肤返还自选券通知 又到了蹭新皮肤的时刻
- Uzi|LOL:UZI求婚成功!英雄联盟官方留言祝贺,前世界冠军公开求职
- 求职高手|哈利波特手游:法系卡组要崛起了?虎牙杀戮赫敏打出爆炸伤害!
- 手机游戏|酒馆战棋周报第六期:跳蛙排名又到第一?金字塔吊车尾宝座易主
- 张角|又到了检验人品的时刻!2周年都给的啥武将,这7个中有你喜欢的吗?
- 凯南|云顶学堂:会吃人的小玩具,80%吃分率赌小恶魔玩法思路!
- 虎牙|主播刷退网!“虎牙神豪”前往6326求职气场慑人, BUG全程和谐悦目
- realme X|国庆中秋就要来了,又到了可以换新机的时候,推荐几款性价比高的手机!
- 又到了秀肌肉的时候,vivo APEX 2020将于2月28日线上发布