`
kalogen
  • 浏览: 880052 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何测试java支持最大内存

阅读更多

本文介绍如何测试java支持最大内存的方法,并介绍几个不同版本的JDK特点,希望对大家有所帮助。

1JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可以通过以下方法来进行测试。

c:>java -XmxXXXXm(g) -version

其中,XXX为最大内存数值, m(g)是内存的计量单位,如果命令能够正确显示出jdk的版本等信息,说明当前jdk支持测试的最大内存

数量,否则说明测试的内存超出了jdk支持的最大值。

例如:

C:Documents and Settingsfengbaoxp>java -Xmx1G -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode)

命令正确显示了jdk信息,说明当前jdk能够支持1G的内存。

C:Documents and Settingsfengbaoxp>java -Xmx2G -versionLCYitug
Error occurred during initialization of VMLCYitug
Could not reserve enough space for object heapLCYitug
Could not create the Java virtual machine.

命令打印出错误信息,说明当前jdk不能支持2G的内存。

2jre还区分clientserver两个版本

client版本加载速度较快,但是支持内存比server要少,比较适合桌面应用;

server版本加载速度较慢,但是运行比较快而且稳定,一些jre还针对server版进行优化,所以我们运行服务端程序最好使用server

版。

C:Documents and Settingsfengbaoxp>java -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)

说明当前jreclient

C:Documents and Settingsfengbaoxp>java -versionLCYitug
java version "1.6.0_03"LCYitug
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)LCYitug
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)

说明当前jreserver

jdk一般默认为client版,要想修改为server版,需要修改 [jre安装目录]/lib/i386/jvm.cfg文件

将:

-client KNOWNLCYitug
-server KNOWN

调整顺序改为:

-server KNOWNLCYitug
-client KNOWN

分享到:
评论

相关推荐

    java内存机制及异常处理

    Java内存机制是Java虚拟机(JVM)的关键组成部分,它管理着程序运行时的数据存储。在Java中,内存主要分为以下几个区域: 1. **Heap(堆)**:这是Java中最主要的内存区域,用于存储所有的类实例和数组。当堆空间...

    java内存泄漏解决

    解决Java内存泄漏问题需要从多方面入手,包括合理设置JVM参数、优化代码逻辑、使用合适的工具进行监控等。开发者应该具备良好的编码习惯,并定期进行性能调优,以确保应用程序能够稳定高效地运行。

    java实现的内存分配

    在Java中,虽然JVM并不直接支持轮转法进行内存分配,但可以通过模拟实现。例如,我们可以创建一个固定大小的内存池,然后按照预定义的顺序分配和回收内存块。当一个请求到来时,分配下一个可用的内存块,一旦所有块...

    Java运行时内存分配

    #### 二、Java运行时内存分配的六大存储区域 ##### 1. 寄存器(Register) 寄存器位于处理器内部,是最快速的存储区。但由于数量极其有限,主要用于存储局部变量或临时数据。寄存器由编译器根据需求自动分配,并且...

    Java系统中内存泄漏测试方法的研究

    总结,Java系统中的内存泄漏测试和分析涉及多个方面,包括理解内存管理机制、识别泄漏原因、使用专业工具以及制定有效的解决方案。开发者应当养成良好的编程习惯,注重代码质量,以减少内存泄漏的发生。同时,利用...

    Java内存监控工具Java VisualVM

    ### Java内存监控工具Java VisualVM #### 一、概述 ...综上所述,Java VisualVM是一款功能强大且易于使用的Java内存监控工具,适用于从开发到生产等多个阶段的应用场景,是Java开发者不可或缺的好帮手。

    java解决大批量数据导出Excel产生内存溢出的方案

    可以通过增加`-Xms`和`-Xmx`参数来设置初始和最大堆内存,但这种方法只是治标不治本,对于大规模数据导出,更推荐使用上述流式处理方案。 5. **延迟计算和写入**: - 只在需要时才计算和写入数据,而不是预先计算...

    java使用JMAP定位代码内存泄漏在哪

    Java编程语言在处理大型应用程序时,内存管理是一个至关重要的环节。内存泄漏是导致程序性能下降,甚至引发Out of Memory (OOM)错误的主要原因之一。本文将详细介绍如何使用JMAP工具来定位Java代码中的内存泄漏问题...

    Java 虚拟机JVM内存模型

    ### Java 虚拟机JVM内存模型知识点 #### 1. JVM概述 ##### 1.1 Java的特性与JVM的应用 Java语言的特性包括跨平台性、面向对象、安全性等。JVM是Java程序能够跨平台运行的关键,它负责将Java源代码转换成与平台无关...

    JAVA虚拟机的内存管理

    4. **G1收集器**:旨在最小化垃圾收集引起的暂停时间,同时还能实现高吞吐量,适用于大内存应用。 #### 五、HotSpot JVM的自适应优化 HotSpot JVM引入了一项新技术——**工效学(ergonomics)**,能够在不同的平台上...

    java内存参数调优技巧

    - `-Xmx` 和 `-Xms` 参数用于设置Java虚拟机(JVM)的最大堆内存(Maximum Heap Size)和初始堆内存(Initial Heap Size),确保应用启动时就能获得足够的内存空间。通常,为了减少因内存动态调整带来的性能影响,...

    java中jvm内存分配相关资料总结整理

    - **堆**:所有对象实例以及数组都在这里分配内存,是JVM中最大的一块内存区域,支持垃圾回收。 - **栈**:每个线程都有一个独立的栈,用于存储方法调用的帧,包含局部变量表、操作数栈、动态链接和方法返回地址。...

    java内存查看工具jvisualvm

    Java VisualVM,简称jvisualvm,是Java开发人员在Windows环境下进行内存管理和性能分析的重要工具。它是Oracle JDK的一部分,提供了一种直观的方式来监控和诊断Java应用程序。本文将深入探讨jvisualvm的功能、使用...

    JAVA内存数据库使用demo

    在Java中,一个常见的内存数据库是HSQLDB(HyperSQL Database),它是一个小型、轻量级、完全开源的关系型数据库,支持SQL标准。在开始之前,我们需要下载HSQLDB的驱动jar包,这个在你的压缩包文件中已经包含,即...

    java 内存监控

    1. **堆内存**:这是Java应用中最大的内存区域,用于存储对象实例。当堆空间不足时,会触发Full GC(垃圾收集),如果仍然无法释放足够的空间,就会出现`OutOfMemoryError: Java heap space`错误。 2. **年轻代...

    Java内存模型的历史变迁

    Java内存模型的历史变迁反映了Java语言对并发支持的不断优化和完善。从旧的内存模型到新的内存模型,不仅简化了开发者理解和编写并发代码的过程,还提高了程序的效率和可维护性。对于Java开发者而言,了解这些变化...

    Java获取系统CPU、内存、硬盘等系统信息

    在Java编程中,获取系统资源的信息是常见...总的来说,Java虽然不能直接提供获取所有系统资源的通用方法,但通过标准库和其他辅助工具,我们可以获取到CPU、内存和硬盘等关键信息,为系统监控和性能优化提供数据支持。

    java内存管理详细介绍.doc

    Java程序员可以通过调整JVM的内存参数,如-Xms、-Xmx来设置堆内存的初始大小和最大大小,-XX:NewRatio来调整新生代和老年代的比例,以及-XX:SurvivorRatio来调整Eden和Survivor区的比例。此外,选择合适的垃圾收集器...

    压力测试java模拟

    Java作为一款强大的多平台编程语言,提供了丰富的库和框架来支持压力测试的实施。其中,JMeter是Apache组织开发的一款广泛使用的开源压力测试工具,它允许开发者创建和执行针对HTTP、FTP、数据库等多种协议的服务的...

Global site tag (gtag.js) - Google Analytics