相关疑难解决方法(0)

如何确定默认的Java堆大小?

如果我从Java命令行中省略-Xmxn选项,则使用默认值.根据Java文档 "默认值是在运行时根据系统配置选择的".

哪些系统配置设置会影响默认值?

java heap heap-memory

397
推荐指数
10
解决办法
31万
查看次数

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

我目前正在构建一个Java应用程序,最终可能会在许多不同的平台上运行,但主要是Solaris,Linux和Windows的变种.

有没有人能够成功提取信息,例如当前使用的磁盘空间,CPU利用率和底层操作系统中使用的内存?那么Java应用程序本身正在消耗什么呢?

我更希望在不使用JNI的情况下获取此信息.

java memory resources system

230
推荐指数
10
解决办法
22万
查看次数

如何计算Oracle Java 7 JVM的默认最大堆大小?

根据GC人体工程学,默认的最大堆大小应为"物理内存的1/4或1GB".

阅读我希望在96GB ram的服务器级机器上使用jvm,默认最大堆大小1GB(96GB/4 = 24GB或1GB).

但是,当我编译并运行以下代码时,它会写出来21463(即约21GB).

public class Main{
        public static void main(String[] args) {
                System.out.println(Runtime.getRuntime().maxMemory() / 1024 / 1024);
        }
}
Run Code Online (Sandbox Code Playgroud)

如果重要:java -version生产

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
Run Code Online (Sandbox Code Playgroud)

总而言之,如果我正确阅读文档,默认的最大堆大小应该不大于1GB,但实际上它大约是服务器内存的1/4.怎么会?

java jvm

3
推荐指数
1
解决办法
7769
查看次数

内存中的图像消耗的内存远多于其文件大小

我正在使用 Java (Eclipse) 构建一个处理照片的应用程序。

因此,我使用此链接Java get available memory来了解我还有多少可用内存。问题是我有这段代码:

Main.printMemory("before image");
url = new File(information.getPath()).toURI().toURL();
image = ImageIO.read(url);
Main.printMemory("after image");
Run Code Online (Sandbox Code Playgroud)

结果是:

消息:图像之前
可用内存(字节):82554768
最大内存(字节):129957888
总内存(字节):85000192

消息:图像后
可用内存(字节):42600680
最大内存(字节):129957888
总内存(字节):85000192

所以加载该图像需要82554768 - 42600680 = 39954088 bytes = 38 MB

照片大小为 3.3 MB

占用这么多内存正常吗???为什么会消耗这么多内存呢?有什么方法可以减少这种情况,希望保持照片质量吗?

java memory memory-management image

2
推荐指数
1
解决办法
1408
查看次数

如何在java中找到RAM中使用的内存量

我想要的代码应该打印下面的打印方法中使用的内存

import java.*.*;
     public static void main(String[] args)
    {
    System.out.println('The memory used is');
    }
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
180
查看次数

标签 统计

java ×5

memory ×2

heap ×1

heap-memory ×1

image ×1

jvm ×1

memory-management ×1

resources ×1

system ×1