`
lukew
  • 浏览: 51637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Fast stream reading in Java

阅读更多
To increase the performance of your Java™ application when reading from an InputStream, there are a few key areas to look into. If possible, don't make any reallocations of memory. Allocate the input buffer once. Let the Java™ VM do the bulk of the reading, i.e. read data in big chunks. Some coding examples show a loop that reads data a small amount at a time. Using a too small buffer is inefficient. A much better technique is to use a relatively large buffer.

If you know the maximum content length, the most optimal read would be a single line, like this:
<!---->len = instream.read( buf, 0, MAX_BUFFER_SIZE );

In this case we assume that the buffer has already been allocated with a size set to MAX_BUFFER_SIZE.

If the content is of varying size, we have to make a tradeoff between performance and memory usage. If you keep your buffer size just above the average content length, then the number of reallocations of the data buffer and the number of reads will be kept at a minimum. There is no defined size of what a large buffer is but a good rule of thumb might be to keep the buffer size at most about 0,5 to 1 MB.
分享到:
评论

相关推荐

    java stream

    java stream doc.

    深入理解Java中的两种Stream:`java.util.stream.Stream`与`java.io.Stream`

    在Java编程语言中,"Stream"一词被用于两种完全不同的上下文中,这可能会导致混淆。本文将详细探讨这两种Stream的区别、用途以及如何在实际编程中正确使用它们。 理解java.util.stream.Stream与java.io.Stream的区别...

    java使用stream对日期排序

    在Java编程中,Stream API是Java 8引入的一个强大特性,它允许我们以声明性方式处理数据集合。本文将深入探讨如何使用Stream API对日期进行排序。日期排序在数据分析、日志处理、报表生成等场景中非常常见。下面我们...

    Java8 Stream学习

    ### Java8 Stream学习 #### 一、Stream简介 在Java8中,Stream 是一项重要的新增特性,它提供了一种全新的处理集合数据的方式。不同于传统的集合类(如List、Set等),Stream API支持更加灵活的数据处理方式,使得...

    Stream_Java8.pdf

    根据提供的文件信息,本文将详细介绍Java 8中Stream API的核心概念、使用方法及其实战案例。Stream API作为Java 8的重要特性之一,极大地简化了集合处理的代码编写过程,提升了程序的可读性和效率。 ### Stream概述...

    Lambda and Stream In Java 8.pptx

    ### Lambda和Stream在Java 8中的应用 #### Lambda表达式概览 Lambda表达式是Java 8中引入的一项重要特性,极大地增强了Java语言的灵活性和表达能力。它允许程序员以简洁的方式定义匿名函数,即无需指定函数名称...

    Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams

    Reactive Streams in Java explains how to manage the exchange of stream data across an asynchronous boundary―passing elements on to another thread or thread-pool―while ensuring that the receiving ...

    rtmp-rtsp-stream-client-java-master.zip

    【rtmp-rtsp-stream-client-java-master.zip】这个压缩包文件是针对安卓平台的一个开源项目,主要用于实现RTMP和RTSP直播推流功能。在Android Studio 3.5及以上版本中开发,它允许用户将手机上的视频内容实时推送到...

    Java Stream全面讲解

    Java Stream 是Java编程语言中处理数据流的一种抽象概念,它允许程序员以一种声明性的方式处理数据,特别是集合数据。在Java中,Stream主要用于处理大量数据,它可以与集合、I/O通道等多种数据源交互,提供了丰富的...

    Java Stream 使用详解

    Stream是 Java 8新增加的类,用来补充集合类。  Stream代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的。  Stream和其它集合类的区别在于:其它集合类主要关注与有限数量的数据的访问和有效管理...

    Video In to AXI4-Stream v4.0 汉化手册

    Video In to AXI4-Stream v4.0 汉化手册知识点总结 本篇文章将对 Video In to AXI4-Stream v4.0 汉化手册进行详细的知识点总结,涵盖了 LogiCORE IP 产品指南的主要内容,包括概观、功能摘要、应用、许可和订购信息...

    JAVA_MPEG.zip_MPEG_MPEG Stream java_java mp

    在Java中处理MPEG流,需要理解其文件结构,如MPEG的TS(Transport Stream)和PS(Program Stream)格式,以及它们的分包、同步字节和复用规则。 3. **解码器**:播放MPEG文件,必须将编码后的数据解码成原始的音频...

    Java-Stream流详解.pptx.pptx

    Java Stream是Java 8引入的重要特性,它提供了一种声明式处理数据集合的方式,极大地提升了代码的可读性和性能。Stream允许程序员更加专注于业务逻辑,而不是底层数据处理的细节。 **1. Java Stream简介** Java ...

    Java8并行流中自定义线程池操作示例

    更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》希望本文所...

    java1.8新特性stream.rar

    其中,Stream API是Java 8中最显著的新特性之一,它为处理集合数据提供了全新的方式。Stream API使得我们能够以声明式的方式处理数据,非常适合进行并行计算和大数据操作。下面将详细介绍Stream API的基本使用及其在...

    Android代码-Android rtmp rtsp 推流客户端

    rtmp-rtsp-stream-client-java Library for stream in RTMP and RTSP. All code in Java. If you need a player see this project: https://github.com/pedroSG94/vlc-example-streamplayer Wiki ...

    Java8 Stream流的三个步骤操作.docx

    在Java 8中,Stream API引入了一种新的处理数据的方式,它允许我们以声明性风格对集合、数组等数据源进行高效的操作。Stream是数据渠道,它可以用来处理一系列元素,如从集合或数组中生成的元素序列。Stream操作通常...

    unix-stream, 将 Java 8流转换为类似管道的Unix.zip

    unix-stream, 将 Java 8流转换为类似管道的Unix 什么是 UnixStream? UnixStream是 Java 8流API的扩展,用于处理Unix路径的数据管道。 它提供了一组模拟Unix命令( 等等)的组件。特性100%与 Java 8流兼容直观。灵

    java8中stream流对List操作的一些测试方法

    java8中通过stream流对List类型进行一些操作的测试Demo类

    在java8以下使用StreamApi

    Java 8是一个重要的版本,因为它引入了许多新特性,其中最显著的就是Stream API。Stream API为处理集合数据提供了新的、强大的方式,使得代码更加简洁、易读。然而,在Java 8以下的版本,开发者并没有这个便利。尽管...

Global site tag (gtag.js) - Google Analytics