2

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

提前致谢。

4

1 回答 1

4

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

于 2013-08-13T10:25:03.097 回答