A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 石好强 中级黑马   /  2012-4-13 18:56  /  1485 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看到字节流,里面讲到available() 属性时, 毕老师说new一个1G多的数组,我有点疑惑,这个数组长度没有上限么?
?


4 个回复

倒序浏览
available()返回一个估计值,值的大小取决于输入流,你看看API文档,也就相当于是一个动态数组
回复 使用道具 举报
本帖最后由 贠(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字节


复制代码
回复 使用道具 举报
贠(yun)靖 发表于 2012-4-13 23:47

谢谢。
毕老师说java虚拟机的内存也是可以调整的。
我的疑问是:假如内存足够大,难道数组大小都是没有上限的么。我忘了在哪看的,记得数组大小是有上限的,所以求证下
回复 使用道具 举报
石好强 发表于 2012-4-14 13:05
谢谢。
毕老师说java虚拟机的内存也是可以调整的。
我的疑问是:假如内存足够大,难道数组大小都是没有上 ...

那就看你的电脑内存大小了  你总不肯呢定义数组的长度超过你的电脑的内存吧
   或者也不能超过long的最大值吧   比long大的单位怎么搞就不知道了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马