当前位置: 首页 > news >正文

自己制作的网站模板以后可以修改吗seo怎么做自己的网站

自己制作的网站模板以后可以修改吗,seo怎么做自己的网站,怎么写网站建设方案书,网页图片加载慢【缓冲区】数据库备份的衍生问题,缓冲区在哪里?JVMor操作系统?(二 完结) 缓冲区既属于操作系统,也属于 JVM,具体取决于你讨论的是哪个层面的缓冲区。下面我会详细解释这两者的区别和联系。 1. …

【缓冲区】数据库备份的衍生问题,缓冲区在哪里?JVMor操作系统?(二 完结)

缓冲区既属于操作系统,也属于 JVM,具体取决于你讨论的是哪个层面的缓冲区。下面我会详细解释这两者的区别和联系。


1. 操作系统级别的缓冲区

当你通过 Java 启动一个外部进程(例如 osrexp)时,操作系统会为这个进程分配资源,包括输入、输出和错误流的缓冲区。这些缓冲区是由操作系统管理的。

特点:
  • 位置:位于操作系统的内核空间。
  • 大小:由操作系统决定,通常是几 KB 到几十 KB。
  • 作用:临时存储外部进程的输出数据,直到这些数据被读取或丢弃。
  • 可见性:对用户和应用程序是透明的,无法直接访问或修改。
示例:

当你运行以下代码时:

Process process = new ProcessBuilder("osrexp", "-u", "SYSDBA/szoscar55").start();

操作系统会为 osrexp 进程分配以下缓冲区:

  • 标准输出流(stdout):存储命令的正常输出。
  • 标准错误流(stderr):存储命令的错误信息。

这些缓冲区是操作系统级别的,Java 程序通过 Process.getInputStream()Process.getErrorStream() 从这些缓冲区中读取数据。


2. JVM 级别的缓冲区

当你通过 Java 读取外部进程的输出流时,JVM 会使用自己的缓冲区来存储从操作系统缓冲区中读取的数据。

特点:
  • 位置:位于 JVM 的堆内存中。
  • 大小:由 JVM 决定,通常是几 KB。
  • 作用:提高读取效率,减少频繁的系统调用。
  • 可见性:可以通过 Java 代码间接操作(例如使用 BufferedReader)。
示例:

当你使用以下代码读取外部进程的输出时:

try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {String line;while ((line = reader.readLine()) != null) {System.out.println(line);}
}
  • BufferedReader 是 JVM 提供的一个缓冲读取器,它会从操作系统的缓冲区中读取数据,并存储在自己的缓冲区中。
  • BufferedReader 的默认缓冲区大小是 8192 字节(8 KB)。

3. 两者的关系

  • 操作系统缓冲区:是外部进程输出数据的第一个存储位置。
  • JVM 缓冲区:是 Java 程序从操作系统缓冲区中读取数据时的第二个存储位置。
数据流动过程:
  1. 外部进程(例如 osrexp)将输出数据写入操作系统的缓冲区。
  2. Java 程序通过 Process.getInputStream() 从操作系统的缓冲区中读取数据。
  3. 读取的数据会被存储到 JVM 的缓冲区中(例如 BufferedReader 的缓冲区)。
  4. Java 程序从 JVM 的缓冲区中获取数据并处理。

4. 如何验证缓冲区的存在?

验证操作系统缓冲区:
  • 如果你不读取外部进程的输出流,操作系统的缓冲区会逐渐被填满,最终导致外部进程卡住。这是操作系统缓冲区存在的间接证据。
验证 JVM 缓冲区:
  • 如果你使用 BufferedReader,可以通过调整缓冲区大小来观察性能变化。例如:
// 设置 BufferedReader 的缓冲区大小为 16 KB
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()), 16384)) {String line;while ((line = reader.readLine()) != null) {System.out.println(line);}
}
  • 通过调整缓冲区大小,你可以观察到读取效率的变化,这是 JVM 缓冲区存在的间接证据。

5. 总结

  • 操作系统缓冲区:由操作系统管理,用于存储外部进程的输出数据。
  • JVM 缓冲区:由 JVM 管理,用于提高读取外部进程输出数据的效率。
  • 两者的关系:数据从操作系统缓冲区流向 JVM 缓冲区,最终被 Java 程序处理。
http://www.yayakq.cn/news/450091/

相关文章:

  • 信阳制作网站ihanshi海南在线海南一家
  • 做化学题的网站河北电子商务网站建设
  • 好的设计网站医药企业网站模板
  • 找人合伙做网站平台卖鞋子网站建设策划书
  • 乌市正规网站建设万网
  • wordpress云建站系统专业网页设计培训
  • 网页设计购物网站模板医院网站 功能
  • 嘉兴微信网站佛山建设网站制作
  • 网站首眉怎么做招聘网站开发价格
  • 安徽服装网站建设昆山网站建设公司苏州爬虫科技
  • 内网小网站的建设ueditor解析wordpress
  • 杨凌网站建设哪家好建设网站请示宣传
  • 如何判断网站数据库类型微信小程序制作过程
  • 做网站只用php不用html全国购物网站排名
  • 商城网站建设特点哈尔滨品牌网站建设
  • 做网站后台需要写代码吗天津建设工程信息王
  • 免费发布租房信息网站有关网站建设的合同
  • 加强意识形态建设 办好政协网站班级网站的规划与建设
  • 网站建设公司走进深圳一百讯新网域名续费
  • 浏览器网站大全企业网站源码带手机版
  • 新手如何建站深圳全网建站公司推荐
  • 西城区好的网站建设多少钱j2ee网站开发
  • 快速网站排名梅县区住房和城乡规划建设局网站
  • 企业网站源码去一品资源网大型网站开发 书籍
  • 金融网站织梦模板免费下载开封网站seo
  • 关于做美食的小视频网站网站源码建站教程
  • 中山专业手机网站建设php怎么创建网站
  • 招商网站的建设目的注册好域名之后怎么做个人网站
  • 做网站商城需要什么软件买链接网
  • 麻江网站建设公司做网站域名归谁