java - java编程语言的局限性(缺点)?

标签 java

我是java编程语言的初学者,最近学习了java编程语言的基本概念。我只是想知道,Java 编程语言在内存管理和其他运行时相关问题方面有哪些限制

提前致谢。

最佳答案

Java 是面向对象的编程语言。在这个领域内,考虑到静态类型,没有太多限制。 Java 运行良好。目前JVM没有做尾调用优化,这也算是一个限制。但这是 JVM 的限制,而不是语言的限制。 Java 8 中有闭包和匿名函数。语法有点难看,但还可以。所以我们不能在那里提示。然而,与函数式语言(比如 Haskell)相比,我最怀念数组推导式和惰性求值。
Java 实现并发的方式是使用具有共享数据的线程。我们知道共享数据会使并行编程变得困难。如果 Java 具有内置的消息传递机制,如 ZMQ 或没有共享数据的绿色线程(如 Kilim),那就更酷了。但在设计阶段的早期,他们选择了绿色线程,但后来转向 native 线程以提高性能。使用 STM(软件事务内存)的并发性将是对 java.utils.concurrent 库的重要补充。这些本身并不是限制,可以在以后使用 JSR 添加它们。但目前我们还没有这样的机制。

关于java - java编程语言的局限性(缺点)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18206485/

相关文章:

java - 为什么在 Java 中打印所有正在运行的线程可以解除应用程序的阻塞?

java - 我有一个将值存储到 double[][] 实例变量中的构造函数。我想在我的主函数中使用双数组作为变量

java - 在文件系统中更改 Eclipse 的项目位置

java - 从 Line2D 值添加多边形点

java - WebFlux 通过证书进行身份验证?

java - 线程不会在 run() 结束时自然退出

java - 获取操作系统级别的系统信息

java - 使用商店中可用的证书验证文件的签名

java - 为最终变量分配函数返回类型

java - 如何在不运行(显式)服务器的情况下使用 SonarQube Maven 插件?