# Buffering data with Okio

DevFeed: [Buffering data with Okio](<https://devfeed.tech/articles/buffering-data-with-okio-15554.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/buffering-data-with-okio>)

Author: Square Engineering

Published: 2014-04-09T16:06:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [IO](<https://devfeed.tech/topics/io.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Java](<https://devfeed.tech/topics/java.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [api-design](<https://devfeed.tech/tags/api-design.md>), [ascii](<https://devfeed.tech/tags/ascii.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [http](<https://devfeed.tech/tags/http.md>), [java](<https://devfeed.tech/tags/java.md>), [performance](<https://devfeed.tech/tags/performance.md>)

## AI overview

Jesse Wilson explains the design motivation behind Okio, a new I/O library created while addressing buffering and concurrency challenges in OkHttp's HTTP/2 implementation. Replacing fixed-size circular buffers with exchangeable pages reduces unnecessary allocation and data copying.

## Source excerpt

The motivation behind our new I/O library.