awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/okio

0
View on GitHub↗
square.github.io/okio↗

Okio

Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement.

The project is distinguished by its use of pooled mutable byte buffers that treat sequences as queues to reduce memory copying and garbage collection churn. It further decouples file operations from the host operating system through an abstraction-based file system, allowing for consistent path manipulation and atomic operations across Windows and Unix systems, as well as the ability to treat ZIP archives as read-only file systems.

The library covers a broad range of capabilities including cryptographic data integrity via real-time stream hashing and encryption, and data compression using Gzip and Deflate algorithms. It also provides network socket communication and in-memory file system simulation for mocking I/O operations during testing.

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Features

  • File System Operations - Provides a unified cross-platform interface for atomic file operations and path manipulation across Windows and Unix.
  • Queue-Based Buffers - Treats byte sequences as a growable queue that allows shifting data between buffers without copying memory.
  • I/O Stream Managers - Provides streamlined interfaces to read from and write to files, paths, and other input/output streams.
  • Streaming I/O - Provides a consistent interface for reading byte streams from network, storage, or memory buffers.
  • Stream Transformations - Applies real-time decompression, encryption, or hashing to data as it is read from or written to a stream.
  • General Write Buffering - Batches small writes into internal buffers to reduce the performance penalty of frequent I/O operations.
  • Cross-Platform Asynchronous I/O Abstractions - Provides a unified interface for performing consistent file and disk operations across different operating systems.
  • File I/O Management - Provides a comprehensive set of Java tools for efficient byte-stream processing and file system operations.
  • File System Access - Provides a consistent interface for reading and writing files across multiple platforms for disk operations.
  • In-Memory Byte Stream Processing - Implements memory-efficient byte stream processing using pooled arrays to minimize garbage collection overhead.
  • Mutable Byte Buffers - Manages bytes as growable queues to significantly reduce memory copying and GC churn during I/O.
  • Stream Adaptation Layers - Maps standard library input and output streams to a unified source and sink API for consistent data handling.
  • Byte Buffer Pooling - Manages byte arrays in a shared pool to reuse memory and reduce garbage collection overhead during I/O.
  • File System Abstractions - Provides interfaces that decouple high-level file operations from the underlying storage, supporting disk, ZIP, and in-memory systems.
  • Memory Buffering - Manages byte buffers and streams with pooled memory to reduce garbage collection and improve I/O performance.
  • Stream Decorators - Wraps basic data streams in decorators to perform real-time decompression, encryption, or hashing during read and write.
  • Write Compression - Compresses output using Gzip or Deflate algorithms as data is written to a sink.
  • Atomic File Operations - Executes high-level system tasks like atomic moves and metadata retrieval to leverage OS-level efficiencies.
  • Streaming Data Transformers - Implements a pipeline for performing real-time Gzip compression, encryption, and cryptographic hashing on I/O streams.
  • In-Memory File Systems - Ships a simulated in-memory file system for testing I/O operations without performing actual disk writes.
  • Cross-Platform Path Manipulation - Handles both Windows and UNIX path styles regardless of the host operating system.
  • Socket Networking - Enables reading and writing buffered data over network sockets to manage communication timing and timeouts efficiently.
  • Zip Archive Access - Provides the ability to treat ZIP archives as read-only file systems for streamlined internal content access.
  • Immutable Byte Sequences - Provides immutable byte sequences to optimize memory usage and simplify comparisons during stream processing.
  • Data Stream Compression - Compresses or decompresses data using Gzip and Deflate algorithms during stream read and write operations.
  • Gzip Decompression - Automatically decompresses Gzip-encoded content while reading from a data source.
  • Hash Context Initializers - Provides the infrastructure to calculate hashes or MACs of data as it is streamed.
  • Cryptographic Hash Verifiers - Calculates cryptographic hashes or message authentication codes in real-time during the write process.
  • Data Encryption - Encrypts data using block ciphers while writing it to a destination sink.
  • HMAC Generation - Computes HMACs using various hash algorithms to ensure the integrity and authenticity of streaming data.
  • Input Stream Decryption - Automatically decrypts content using a specified cipher during the reading process from a data source.
  • Stream Encryption and Decryption - Provides a pipeline for real-time encryption and decryption of data as it is read or written.
  • Cryptographic Hash Computations - Computes cryptographic hashes and MACs for streaming data to verify content integrity and detect tampering.
  • Automatic Stream Encryption - Automatically encrypts or decrypts data in real-time as it is read from or written to a stream.
  • Byte Sequence Searching - Locates the index of specific byte sequences within a stream by dynamically expanding internal buffers.
  • Path Normalizers - Resolves and transforms file paths by abstracting Windows and UNIX naming conventions into a single internal representation.
  • Streaming Data Transformations - Layers sources to perform real-time operations such as decompression, decryption, or hashing as data is read.
  • File System Mocking - Allows verifying file operations using a fake implementation to avoid modifying actual disk storage during tests.
  • ProGuard Configurations - Provides I/O utility configuration rules.
  • Serialization and I/O - Modern I/O API for Java applications.
8,986 stars·1,216 forks·Kotlin·apache-2.0·6 vues

Historique des stars

Graphique de l'historique des stars pour square/okioGraphique de l'historique des stars pour square/okio

Alternatives open source à Okio

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Okio.
  • hammerspoon/hammerspoonAvatar de Hammerspoon

    Hammerspoon/hammerspoon

    14,497Voir sur GitHub↗

    Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi

    Objective-Cautomationhammerspoonirc
    Voir sur GitHub↗14,497
  • yjhjstz/deep-into-nodeAvatar de yjhjstz

    yjhjstz/deep-into-node

    4,392Voir sur GitHub↗

    This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an in-depth examination of the runtime, focusing on how the engine manages memory handles, executes asynchronous operations, and implements core module logic. The guide specifically analyzes the integration of native C++ classes and functions into JavaScript and documents the behavior of the libuv event loop. It includes detailed references for optimizing performance by identifying V8 compiler bailouts and profiling execution to improve resource efficiency. The material covers a

    libuvnodejsv8
    Voir sur GitHub↗4,392
  • kotlin/kotlinx-ioAvatar de Kotlin

    Kotlin/kotlinx-io

    1,539Voir sur GitHub↗

    Kotlinx-io is a multiplatform library designed for input and output operations, providing a unified interface for streaming data, managing byte buffers, and interacting with local filesystems. It serves as a cross-platform abstraction layer that standardizes how applications handle data movement across different operating systems and hardware architectures. The library distinguishes itself by providing high-performance tools for both mutable and immutable byte sequences. It utilizes segmented memory pools and direct memory access to minimize allocation overhead and prevent unnecessary data co

    Kotliniokotlinkotlinx
    Voir sur GitHub↗1,539
  • asterinas/asterinasAvatar de asterinas

    asterinas/asterinas

    4,678Voir sur GitHub↗

    Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se

    Rustkernelosrust
    Voir sur GitHub↗4,678
Voir les 30 alternatives à Okio→

Questions fréquentes

Que fait square/okio ?

Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement.

Quelles sont les fonctionnalités principales de square/okio ?

Les fonctionnalités principales de square/okio sont : File System Operations, Queue-Based Buffers, I/O Stream Managers, Streaming I/O, Stream Transformations, General Write Buffering, Cross-Platform Asynchronous I/O Abstractions, File I/O Management.

Quelles sont les alternatives open-source à square/okio ?

Les alternatives open-source à square/okio incluent : hammerspoon/hammerspoon — Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua… yjhjstz/deep-into-node — This project is a technical study and analysis guide focused on the internal architecture of Node.js. It provides an… kotlin/kotlinx-io — Kotlinx-io is a multiplatform library designed for input and output operations, providing a unified interface for… asterinas/asterinas — Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions… chyingp/nodejs-learning-guide — This project is a learning guide and collection of study notes designed to teach Node.js backend development. It… rust-lang/rust-by-example — This project is an interactive programming education resource and tutorial designed for learning the Rust programming…