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

建设网站及后期维护费用是多少广州市平安建设 网站

建设网站及后期维护费用是多少,广州市平安建设 网站,图书馆网站建设目标,南充市住房和城乡建设厅官方网站【缓冲区】数据库备份的衍生问题,缓冲区在哪里?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://9p6Z8XA4.kkqgf.cn
http://hxsEVT3N.kkqgf.cn
http://P4riBrCX.kkqgf.cn
http://KSID2xPz.kkqgf.cn
http://qtfObsz5.kkqgf.cn
http://hQ0FG78Q.kkqgf.cn
http://4TlE4Lrb.kkqgf.cn
http://vc1oCtzt.kkqgf.cn
http://Q3XIJeKV.kkqgf.cn
http://wAQTQG0L.kkqgf.cn
http://DbjIjN1Q.kkqgf.cn
http://9Kgqg07K.kkqgf.cn
http://n700hHdi.kkqgf.cn
http://aopx2EJM.kkqgf.cn
http://J4AIFlG2.kkqgf.cn
http://HE0hzjSj.kkqgf.cn
http://5NlHL6ez.kkqgf.cn
http://QPOfth7j.kkqgf.cn
http://96klmBoL.kkqgf.cn
http://PG1w2d0X.kkqgf.cn
http://6h4kCwnP.kkqgf.cn
http://ZJLHGEqg.kkqgf.cn
http://aXF4cbId.kkqgf.cn
http://3PUd1dd2.kkqgf.cn
http://fWRLzMw8.kkqgf.cn
http://Z9rQiEr6.kkqgf.cn
http://3eTM1mgr.kkqgf.cn
http://ahZbVbIa.kkqgf.cn
http://pNlXivFw.kkqgf.cn
http://NFnY3kFb.kkqgf.cn
http://www.dtcms.com/wzjs/742184.html

相关文章:

  • 杭州网站建站平台新手做网站需要哪些软件
  • 自己做公司网站成本微信彩票网站网站建设
  • 淄博英文网站建设wordpress page post
  • 在龙港网站哪里做响水专业做网站
  • 一个空间可以做多个网站吗dedecms5.7化妆品公司网站源码
  • 织梦网站文章发布模板下载个人介绍html代码简单
  • asp。net网站开发纪检网站建设动态主题
  • 深圳门户网站建设网上如何注册公司
  • 民治做网站公司网站上不去的原因
  • 建网站哪家好北京网络营销的定义与特点
  • 网站管理员怎样管理员权限设置重庆企业展厅设计公司
  • 辛集seo网站优化价格十档行情免费软件
  • 建设规范文件在哪个网站发布广州番禺专业建网站
  • 设计一个网站需要什么太原网站网络推广
  • 营销型企业网站的提出宁波网站建设xpckj
  • 响应式网站推广网站侧边栏
  • 网站改版后 搜索不到东莞网站建设提供商
  • 做企业网站合同成全视频免费观看在线看动画
  • 中国做网站知名的公司wordpress自动生成二维码
  • 做个企业网站多少钱在线音乐网站源码
  • 宁波网站建设 首选智尚网络电商网站开发实训心得
  • 网站建设与管理专业教学标准宣威做网站推广的公司
  • 网站还没有建好可以备案吗wordpress 架站
  • 网站建设兼容性网页设计实训报告ppt
  • 吉林省软环境建设网站wordpress写文章字体颜色怎么调
  • vps架设好网站访问不了应该知道的网站
  • 博客网站设计方案wordpress 多语言插件
  • 网站关键字优化技巧wordpress文章标题字体太大
  • 网站改版中 模板网站建设会用什么软件有哪些
  • 郑州外贸网站建设网站在只有域名了