java - 如何计算堆内存将容纳的对象数?

标签 java algorithm control-structure

我想用 java 编写/设计一个算法,我从输入开始

变量 int i=0;

while (i==0){i==1;}

在新的内存位置重新创建或重新启动 var i 并将值再次设置为 1; 循环将值 1 赋给 var 并跳转到下一个内存位置。
直到堆内存满
然后使用循环计算创建并存在于内存中的变量总数

System.out.println(total var created);

我可以用 Java 完成吗?

我已经完成了“在 Java 中创建固定变量计数需要多少时间”

最佳答案

如果我没看错,你想要填充堆内存。我猜想在循环中创建字符串字面值就可以做到这一点;

int i = 0;
while(i < 1000){

    System.out.println("2 times" + i + "equals" + i * 2);
    i = i + 1;
}

将在常量字符串池中创建 1000 个字符串文字。这些文字在一段时间内不会成为垃圾收集的候选者 - 足以填充内存 - 以供重用。所以他们最终会填满内存。如果将值增加 1000,您将获得更多文字。

For further reading, here's a blog post

关于java - 如何计算堆内存将容纳的对象数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52136260/

相关文章:

python - OpenCV/Python - 按边界框区域查找异常值

algorithm - 如何将四个点链接到一个凸多边形

java - 如何在两场不同的 war 中构建一个 Spring 框架 Web 应用程序,一场用于前端(jsp),另一场用于业务逻辑?

java - 无法在 Xerces 或 Neko 中的节点上调用 getElementsByTagName?

java - 用 Java 显示 Applet

algorithm - 找到圆形和矩形重叠的中点

lisp - 如何在 Lisp 中实现重做语句(如在 Perl 和 Ruby 中)

Python - 如果不是 0.0 的语句

if-statement - Prolog if-then-else 构造 : -> vs *-> vs. if_/3

java - 从日期获取毫秒时出现问题