文件

Linux 内核的文件 Cache 管理机制介绍

不打扰是莪最后的温柔 提交于 2019-12-03 01:53:04
1 前言 自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使用得非常广泛,它与 Windows、UNIX 一起占据了操作系统领域几乎所有的市场份额。特别是在高性能计算领域,Linux 已经成为一个占主导地位的操作系统,在2005年6月全球TOP500 计算机中,有 301 台部署的是 Linux 操作系统。因此,研究和使用 Linux 已经成为开发者的不可回避的问题了。 下面我们介绍一下 Linux 内核中文件 Cache 管理的机制。本文以 2.6 系列内核为基准,主要讲述工作原理、数据结构和算法,不涉及具体代码。 2 操作系统和文件 Cache 管理 操作系统是计算机上最重要的系统软件,它负责管理各种物理资源,并向应用程序提供各种抽象接口以便其使用这些物理资源。从应用程序的角度看,操作系统提供了一个统一的虚拟机,在该虚拟机中没有各种机器的具体细节,只有进程、文件、地址空间以及进程间通信等逻辑概念。这种抽象虚拟机使得应用程序的开发变得相对容易:开发者只需与虚拟机中的各种逻辑对象交互,而不需要了解各种机器的具体细节。此外,这些抽象的逻辑对象使得操作系统能够很容易隔离并保护各个应用程序。 对于存储设备上的数据,操作系统向应用程序提供的逻辑概念就是"文件"。应用程序要存储或访问数据时,只需读或者写"文件"的一维地址空间即可

关于Java对相对目录的文件读写和调用方法的一些总结

Deadly 提交于 2019-12-02 04:47:46
关于 Java 对相对目录的文件读写和调用方法的一些总结 首先要讲 Java 路径 Java 中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种: 1. 本地系统的绝对路径: 如: windows: C:\abc\ projectName\bin\def. properties Linux: /us/home/name/projectName/bin/def.properties Java.io 包中的类,需要使用这种形式的参数。但是,它们一般也提供了 URI 类型的参数,而 URI 类型的参数,接受的是 URI 样式的 String 。因此,通过 URI 转换,还是可以把 URI 样式的绝对路径用在 java.io 包中的类中。 2.URI 形式的绝对资源路径 如: file:/C:/abc/def.properties URL 是 URI 的特例。 URL 的前缀 / 协议,必须是 Java 熟悉的。 URL 可以打开资源,而 URI 则不行。 URL 和 URI 对象可以互相转换,使用各自的 toURI(),toURL() 方法即可! 3. 相对于 classpath 的相对路径 如:相对于 file:/C:/abc/projectName/bin/def. properties/ 这个路径的相对路径。其中, bin 是本项目的 classpath 。所有的

Struts2实现文件上传和下载

限于喜欢 提交于 2019-12-01 12:36:10
在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,而且不灵活,在学习了struts2后,struts2为文件上传下载提供了更好的实现机制,在这里我分别就单文件上传和多文件上传的源代码进行一下讲解,这里需要导入文件下载上传的两个jar文件,一个是 commons-fileupload-1.2.2.jar, 另一个是 commons-io-2.0.1.jar struts2单文件上传: 首先是一个jsp文件上传页面,这个比较简单,就是一个表单,里面有个文件上传框 <!--在进行文件上传时,表单提交方式一定要是post的方式,因为文件上传时二进制文件可能会很大,还有就是enctype属性,这个属性一定要写成,   不然就会以二进制文本上传到服务器端--> 接下来是FileUploadAction部分代码,因为struts2对上传和下载都提供了很好的实习机制,所以在action这段我们只需要写很少的代码就行: FileUploadAction .username = .file = .fileFileName = .fileContentType = String execute() = ServletActionContext