当前位置:首页 > 新闻 > 文章正文

java语言程序设计(Java有哪些不好的设计)

时间:2022-09-23 05:27 | 栏目:新闻 | 点击:

Java的出发点是提供一个比C/C++“安全”得多的编程环境。虽然GC和数组越界检查起到了很大的作用,但是Java又在以下3点偏离了安全初衷,使得程序员仍然需要时时刻刻提醒自己才不会犯错

  1. 整数计算会无声overflow/underflow。这就是说你不能用c = (a + b) / 2来计算两个整数的平均值。由于这个非常反直觉,而且一旦溢出程序员也得不到提示,因此历史上造成了JRE的标准库里潜伏很多很多年的bug
  2. 多线程情况下的Memory Model。由于向性能妥协,这个机制偏复杂,在没有深入研究的情况下大多数程序员都会犯错。更糟的是很多Java程序员甚至不知道这个概念(也许连volatile这个关键字都没用过)
  3. Exception。理论上Unchecked Exception几乎可以从任何一行调用中冒出来,因此分析代码的时候程序员不仅要理解正常情况下的程序流程,还要兼顾任何一行冒出异常的情况。这是非常大的思想负担(C程序员就不要担心这个)。如果处理不好,异常会破坏程序核心对象图的完整性,导致任意后果的程序bug

您可能感兴趣的文章:

相关文章