黑马程序员技术交流社区

标题: 数组问题 [打印本页]

作者: 石好强    时间: 2012-4-13 18:56
标题: 数组问题
今天看到字节流,里面讲到available() 属性时, 毕老师说new一个1G多的数组,我有点疑惑,这个数组长度没有上限么?
?



作者: 蒋亮    时间: 2012-4-13 23:29
available()返回一个估计值,值的大小取决于输入流,你看看API文档,也就相当于是一个动态数组
作者: 贠(yun)靖    时间: 2012-4-13 23:47
本帖最后由 贠(yun)靖 于 2012-4-13 23:48 编辑
  1. public class Test {
  2.     public static void main(String[] args) {
  3.         Runtime runtime = Runtime.getRuntime();
  4.         System.out.println(" 返回 Java 虚拟机中的内存总量"+runtime.totalMemory());
  5.         System.out.println("返回 Java 虚拟机中的空闲内存量"+runtime.freeMemory());
  6.                 System.out.println("返回 Java 虚拟机试图使用的最大内存量"+runtime.maxMemory());
  7.     }
  8. }

  9. ---------- java ----------
  10. 返回 Java 虚拟机中的内存总量5177344
  11. 返回 Java 虚拟机中的空闲内存量4937792
  12. 返回 Java 虚拟机试图使用的最大内存量66650112

  13. 输出完毕 (耗时 0 秒) - 正常终止
  14. 比老师在视频里面提过  最大内存为64m   即66650112字节


复制代码

作者: 石好强    时间: 2012-4-14 13:05
贠(yun)靖 发表于 2012-4-13 23:47

谢谢。
毕老师说java虚拟机的内存也是可以调整的。
我的疑问是:假如内存足够大,难道数组大小都是没有上限的么。我忘了在哪看的,记得数组大小是有上限的,所以求证下
作者: 贠(yun)靖    时间: 2012-4-14 13:33
石好强 发表于 2012-4-14 13:05
谢谢。
毕老师说java虚拟机的内存也是可以调整的。
我的疑问是:假如内存足够大,难道数组大小都是没有上 ...

那就看你的电脑内存大小了  你总不肯呢定义数组的长度超过你的电脑的内存吧
   或者也不能超过long的最大值吧   比long大的单位怎么搞就不知道了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2