文件||流处理与普通处理的内存消耗

时间:2019-04-20 16:04:30

标签: java nio

我需要找出使用流处理与常规读取整个文件中的文件所保存的内存大小

我尝试了2个测试。案例1。 案例2:注释了正常处理部分

//Normal process
        List<String> lines1 =Files.readAllLines(wiki_path);     
      for (String string : lines1) {
        System.out.println(string);
    }
//

      /* Stream process
        Stream<String> lines = Files.lines(wiki_path);
        System.out.println("<!-----Read all lines as a Stream-----!>");     //Stream processing
        lines.forEach(System.out :: println);
        lines.close();
     */

正常和流处理使用的内存为36 MB。为什么两种方法之间的内存消耗没有差异?文件大小为8.5mb

使用runtime.totalMemory()-runtime.freeMemory()计算的内存

注意::如果对两个测试用例的循环都进行注释,结果显示相差约25 mb,即流处理仅消耗4 mb,而正常情况下则消耗29 mb。 在两个测试用例中添加for循环后,为什么会不相同?

0 个答案:

没有答案