86 次查看
以下是 Java 被证明比 C++ 更快的领域。内存分配/释放:内存分配/释放速度更快,并且创建新的更大的数组通常比使用缓存的数组更快。对象实例化:Java 的 GC 完成的内存管理使 Java 上的对象相关操作比 C++ 更快。多线程和同步:现代 Java 程序利用多核系统使同步和多线程成为更快的操作。JIT 在一段时间内得到了很大改进,现在现代 Java 程序的执行速度要快得多。字符串操作通过具有长度来加快速度。集合方法进行了优化,例如数组复制。类加载 ... 阅读更多
1K+ 次查看
现代 Java 非常快,与 C++ 代码库相当,但它仍然占用大量内存。Java 程序的缓慢主要是因为糟糕的编程实践。但以下领域是 Java 可以改进的地方。Java 库在编写时考虑了可读性和正确性,而不是性能。基于字符串的操作速度较慢,因为字符串是 UTF-16 编码的对象并且是不可变的。因此,使用的字符串越多,所需的内存就越多。数组上的边界检查也使其操作速度变慢。考虑到每次访问时的同步检查,I/O 流操作速度较慢。缺乏像 C 这样的低级功能也导致速度变慢 ... 阅读更多
667 次查看
Java 内存模型分为线程栈(每个线程一个)和堆区域。线程栈它是一个特定于线程的内存区域,包含局部变量、方法调用信息等。JVM 栈可以是固定大小的,也可以是可变大小的。如果线程中的计算超过其栈大小限制,则 JVM 会抛出 StackOverflowError 并退出。堆它包含应用程序生命周期中创建的所有对象。堆是在虚拟机启动时创建的。垃圾收集器回收对象的堆存储,并且对象永远不会显式释放。JVM 没有使用任何自动存储管理系统,并且它 ... 阅读更多
2K+ 次查看
JVM 具有一个对所有线程通用的方法区。它包含每个类的元素,例如常量池、字段、方法局部数据、方法代码、构造函数代码等,这些元素用于类和对象/接口的初始化。此方法区在 JVM 启动期间创建。它通常是堆区域的一部分。它可以是固定大小的,也可以是可变的。它的内存可能不是连续的。JVM 实现可以将方法区创建、其大小等控制权交给程序员。如果方法区内存不足以满足分配请求,则 JVM 会抛出 OutOfMemoryError。
Java 内存模型分为线程栈(每个线程一个)和堆区域。线程栈:它是一个特定于线程的内存区域,包含局部变量、方法调用信息等。JVM 栈可以是固定大小的,也可以是可变大小的。如果线程中的计算超过其栈大小限制,则 JVM 会抛出 StackOverflowError 并退出。堆它包含应用程序生命周期中创建的所有对象。堆是在虚拟机启动时创建的。垃圾收集器回收对象的堆存储,并且对象永远不会显式释放。JVM 没有使用任何自动存储管理系统,并且 ... 阅读更多
Java 中的执行引擎是 JVM(Java 虚拟机)的核心组件,它与 JVM 的不同内存区域进行通信。此组件用于执行分配给运行时数据区域的字节码(通过类加载器)。此外,每个 Java 类文件都通过执行引擎执行,并且正在运行的应用程序中的每个线程都是虚拟机执行引擎的一个独立实例。因此,通过阅读本文,您将更详细地了解执行引擎,但在那之前,让我们先了解什么是 Java 虚拟机。 ... 阅读更多
367 次查看
JRE 是 Java 运行时环境,是 JVM 的特定于机器的实现。它包含 JVM 使用的库,如 rt.jar、类加载器等。
569 次查看
JDK 包含开发工具和 JRE。
291 次查看
假设您已将 Java 安装在 \usr\local\java\jdk 目录中 -如果您使用 bash 作为您的 shell,则您将在您的 '.bashrc' 文件末尾添加以下行:export JAVA_HOME=\usr\local\java\jdk'假设您已将 Java 程序存储在 \usr\local\myprograms\ 目录中 -如果您使用 bash 作为您的 shell,则您将在您的 '.bashrc' 文件末尾添加以下行:export CLASSPATH=\usr\local\myprograms'。
128 次查看
设置路径假设您已将 Java 安装在 c:\Program Files\java\jdk 目录中 -右键单击“我的电脑”并选择“属性”。单击“高级”选项卡下的“环境变量”按钮。现在,更改“路径”变量,使其还包含 Java 可执行文件的路径。例如,如果路径当前设置为“C:\WINDOWS\SYSTEM32”,则将路径更改为“C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin”。设置类路径假设您已将 Java 程序存储在 c:\myprograms\ 目录中 -右键单击“我的电脑”并选择“属性”。单击“高级”选项卡下的“环境变量”按钮。现在,添加“CLASSPATH”变量并将路径设置为 c:\myprograms\'。 阅读更多