操作系统
文章平均质量分 93
morris131
这个作者很懒,什么都没留下…
展开
-
【操作系统】HeapByteBuffer和DirectByteBuffer的区别
DirectByteBuffer和HeapByteBuffer是Java NIO中ByteBuffer的两种实现方式。HeapByteBuffer是在Java堆上分配的字节缓冲区,它使用数组来存储数据。HeapByteBuffer的优点是它具有良好的兼容性和可移植性,且在大多数情况下性能表现良好。它适用于大部分的应用场景,并且在内存管理方面具有更好的可控性和可调优性。原创 2024-02-04 09:57:54 · 2669 阅读 · 0 评论 -
【操作系统】FileOutputStream的flush操作有时不生效
Page Cache是Linux内核中用于提高文件读写性能的缓存机制,但是它也可能会导致数据丢失。Page Cache在计算机故障时可能会丢失数据,这是因为它的设计目标是在内存中缓存文件数据,而不是持久化存储数据。当计算机发生故障时,如断电或系统崩溃,Page Cache中的数据可能会丢失,因为这些数据还没有被写入到磁盘上。此外,Page Cache的刷盘策略也会导致数据丢失。当Page Cache中的数据太多或太脏时,内核会将一些数据写入磁盘,但如果此时系统崩溃,尚未写入磁盘的数据可能会丢失。原创 2024-02-01 09:45:38 · 13576 阅读 · 0 评论 -
【linux】NIO中的FileChannel与mmap
FileChannel是Java NIO库中的一个类,用于对文件进行读写操作。它提供了一种高效的方式来读取、写入和操作文件。原创 2024-01-12 15:50:02 · 13512 阅读 · 0 评论 -
【Linux】Java文件IO之普通IO与Buffer IO
在Java中,输入输出(IO)操作是编程中一项重要的任务。无论是从外部文件中读取数据,还是向文件写入数据,或者是与用户进行交互,都需要用到IO操作。原创 2024-01-05 17:20:59 · 46581 阅读 · 0 评论 -
【Linux】Linux Page Cache页面缓存的原理
Page cache(页面缓存)是计算机操作系统中的一种机制,用于将频繁访问的数据从磁盘存储到内存中,以便更快地访问。当程序从磁盘请求数据时,操作系统会检查该数据是否已经存在于页面缓存中。如果存在,数据可以直接从内存中获取,这比从磁盘访问要快得多。如果数据不在页面缓存中,它将从磁盘中获取并存储在缓存中供将来使用。原创 2024-01-04 15:57:39 · 49010 阅读 · 16 评论 -
【linux】Linux管道的原理与使用场景
总的来说,Linux管道是一个非常强大的工具,它可以帮助我们在处理数据时提供极大的灵活性。通过学习和掌握管道的使用,我们可以更有效地使用Linux命令行,更好地完成各种复杂的数据处理任务。原创 2023-12-26 16:35:35 · 44250 阅读 · 0 评论 -
【linux】Linux重定向
在Linux操作系统中,命令行界面是一个强大的工具,它允许用户与系统进行高效的交互。重定向是命令行中一个非常重要的概念,它可以改变命令输入和输出的默认路径。通过重定向,用户可以将数据从一个程序传递到另一个程序,或者保存到文件中,这使得数据处理变得更加灵活和高效。重定向是一种改变命令输入输出流的机制。默认情况下,大多数命令从标准输入(stdin,通常是键盘)读取数据,将结果输出到标准输出(stdout,通常是屏幕),并将错误消息输出到标准错误(stderr,也通常是屏幕)。原创 2023-12-26 16:34:13 · 39318 阅读 · 0 评论 -
【Linux】Linux常见文件类型
这些文件类型在Linux系统中都有各自的标识符和权限设置,下面分别演示各种文件类型的特性。原创 2023-12-21 15:29:22 · 33610 阅读 · 0 评论 -
【Linux】Linux虚拟文件系统VFS
在Linux中,所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机等)都是文件,就连套接字(socket)、网络通信等资源也都是文件。Linux为应用程序访问文件提供了统一的接口,如read、write、open等,也称为虚拟文件系统(VFS,Virtual File System)。原创 2023-12-21 15:28:06 · 31216 阅读 · 0 评论 -
Linux虚拟文件系统、文件描述符、管道
在Linux中,所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机等)都是文件,就连套接字(socket)、网络通信等资源也都是文件。Linux为应用程序访问文件提供了统一的接口,如read、write、open等,也称为虚拟文件系统(VFS,Virtual File System)。虚拟文件系统其实就是一个目录树,树上不同的节点可以映射到物理的文件地址,也可以进行挂载,相当于一个解耦层,在具体的文件系统之上原创 2021-03-02 19:29:15 · 4216 阅读 · 0 评论 -
linux中实现线程同步的6种方法
linux线程同步的方法下面是一个线程不安全的例子:#include<stdio.h>#include<pthread.h>int ticket_num=10000000;void *sell_ticket(void *arg) { while(ticket_num>0) { ticket_num--; }}int main() { pthread_t t1,t2,t3; pthread_create(&t1, NU原创 2020-10-22 16:37:21 · 47864 阅读 · 4 评论