Home Java javaTutorial Why is java io important?

Why is java io important?

May 29, 2019 pm 04:59 PM
java

Java's IO stream is the basis for realizing input/output. It can easily implement data input/output operations. Different input/output sources are abstractly expressed as "streams" in Java.

A stream is a set of ordered bytes and is a general term or abstraction for data transmission.

Streams have input and output. During input, the stream flows from the data source to the program. When outputting, the stream is transferred from the program to the data source, and the data source can be memory, file, network or program, etc.

Why is java io important?

User process and operating system kernel

The IO in Java can be understood as being between the Java program and the operating system kernel. between objects.
The blocking and non-blocking, synchronization and asynchronous mentioned later are the result of the interaction between these two objects. In this article, the user process refers to the Java program.

Program space and kernel space

Waiting for the data to be ready(waiting for the data to arrive in the kernel buffer)

Copying the data from the kernel to the process (copy data from kernel buffer to program buffer)

In Linux, for a read IO operation, the data will not be copied directly to the program buffer of the program.

It will first be copied to the buffer of the operating system kernel, and then copied from the buffer of the operating system kernel to the buffer of the application.

Program space: The memory space allocated to user programs.

Kernel space: The memory space owned by the kernel.

Blocking and non-blocking

Blocking: After the user process makes a system call, the user process is always in a locked state and cannot perform other operations

Non Blocking: After the user process makes a system call, the user process is not locked and can perform other operations

Blocking and non-blocking refer to the status of the user process, that is, whether the user process is locked

Synchronous and asynchronous

A synchronous I/O operation causes the requesting process to be blocked until that I/O operation completes.
An asynchronous I/O operation does not cause the requesting process to be blocked.

A synchronous io operation will cause the requesting process to block until the io operation is completed. An asynchronous IO operation will not cause the requesting thread to be blocked.

Synchronization: The user thread and the io thread do the same thing (the user thread is blocked, waiting for the kernel to return the processing result)

Asynchronous: The user thread and the io thread do different things (the user thread does not Blocked, do other things, the kernel processing is completed and the results are sent to the user thread)

File descriptor

Everything is a file under Linux. A file descriptor is an index created by the kernel for a file. All I/O operations are performed by calling the file descriptor (index), including the socket we will mention below. When Linux first starts, it will automatically set 0 as standard input, 1 as standard output, and 2 as standard error.

The above is the detailed content of Why is java io important?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Perfect Number in Java Perfect Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Smith Number in Java Smith Number in Java Aug 30, 2024 pm 04:28 PM

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

Java Spring Interview Questions Java Spring Interview Questions Aug 30, 2024 pm 04:29 PM

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Break or return from Java 8 stream forEach? Break or return from Java 8 stream forEach? Feb 07, 2025 pm 12:09 PM

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

TimeStamp to Date in Java TimeStamp to Date in Java Aug 30, 2024 pm 04:28 PM

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Java Program to Find the Volume of Capsule Java Program to Find the Volume of Capsule Feb 07, 2025 am 11:37 AM

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

Create the Future: Java Programming for Absolute Beginners Create the Future: Java Programming for Absolute Beginners Oct 13, 2024 pm 01:32 PM

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.

See all articles