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

做公益网站需要哪些部门认证推广普通话宣传内容

做公益网站需要哪些部门认证,推广普通话宣传内容,合肥百度推广优化排名,深圳做网站比较好天涯垃圾收集器 在 JVM(Java虚拟机)中,垃圾收集器(Garbage Collector)是负责自动管理内存的组件。它的主要任务是在程序运行过程中,自动回收不再使用的对象所占用的内存空间,以便为新的对象提供足够的内存。 JVM中的垃圾收集器使用不同的算法和策略来实现垃圾收集过程,以…

垃圾收集器

在 JVM(Java虚拟机)中,垃圾收集器(Garbage Collector)是负责自动管理内存的组件。它的主要任务是在程序运行过程中,自动回收不再使用的对象所占用的内存空间,以便为新的对象提供足够的内存。

JVM中的垃圾收集器使用不同的算法和策略来实现垃圾收集过程,以满足不同的性能和内存需求。以下是 JVM 中常见的垃圾收集器:

  1. Serial收集器:是最古老的垃圾收集器,使用单线程进行垃圾收集。它适用于小型应用程序或者客户端应用程序,具有简单、高效的特点。

  2. Parallel收集器:也称为吞吐量优先收集器,使用多线程进行垃圾收集。它适用于需要高吞吐量的应用程序,可以充分利用多核处理器的优势。

  3. CMS(Concurrent Mark Sweep)收集器:是一种并发收集器,它在垃圾收集过程中,尽可能减少应用程序的停顿时间。它适用于对响应时间有较高要求的应用程序。

  4. G1(Garbage-First)收集器:是一种面向服务器应用程序的垃圾收集器,它通过将堆内存划分为多个区域,并根据垃圾分布情况进行优化的方式,实现高效的垃圾收集。

除了以上列举的垃圾收集器,JVM还提供了其他一些垃圾收集器,如ZGC(Z Garbage Collector)和Shenandoah等,它们都具有不同的特点和适用场景。

然而,Java虚拟机规范(Java Virtual Machine Specification)并没有具体规定垃圾收集器的实现细节,它只定义了Java虚拟机的内存模型和垃圾收集的基本概念。具体的垃圾收集器的实现是由不同的JVM厂商根据规范进行开发和优化的。

Java虚拟机规范确实提供了一些关于垃圾收集器的建议和要求,例如:

  1. 垃圾收集器应该能够自动识别和回收不再使用的对象,以避免内存泄漏和内存溢出的问题。

  2. 垃圾收集器应该能够根据需要动态调整内存的分配和回收策略,以提高性能和效率。

  3. 垃圾收集器应该能够最小化应用程序的停顿时间,以提供更好的响应性能。

  4. 垃圾收集器应该能够处理不同类型的对象,包括普通对象、数组对象和本地对象等。

总之,虽然Java虚拟机规范没有具体规定垃圾收集器的实现细节,但它提供了一些关于垃圾收集器的建议和要求,以确保Java虚拟机能够提供高效、可靠的垃圾收集机制。具体的垃圾收集器的实现取决于不同的JVM厂商和版本。

七大经典垃圾收集器

  • 串行回收器:Serial、Serial Old。
  • 并行回收器:ParNew、Parallel Scavenge、Parallel Old。
  • 并发回收器:CMS、G1。

我们可以从下图中看到各大垃圾收集器的应用程序线程和垃圾回收线程的关系。

垃圾收集器和垃圾分代关系
  • 新生代收集器:Serial GC、ParNew GC、Parallel Scavenge GC。

  • 老年代收集器:CMS GC、Serial old、Parallel Old GC。

  • 整堆收集器:G1。

垃圾收集器和垃圾分代关系如下图所示:

垃圾回收算法
  • 引用计数(Java 中不使用)
  • 复制拷贝(新生代用)
  • 标记清除(用于老年代)
  • 标记整理(用于老年代)

垃圾收集器分类

按线程数分

可以分为串行回收并行回收

  • 串行回收器:同一时间段内只有一个 CPU 用于执行垃圾回收,应用程序线程将被暂停,直至收集。
  • 并行回收器:垃圾回收器的线程与应用程序线程可以交替运行,尽可能减少垃圾回收停顿的时间。
  • 串行和并行回收器的共同点:都会发生 Stop the world
  • 串行回收器应用场景:客户端的 Client 模式下的 JVM 中。
按工作模式分

可以分为串行并发式回收独占式回收

  • 并发式垃圾收集器:回收线程和应用程序线程交替工作,减少应用程序的停顿时间。
  • 独占式垃圾收集器:只要进行垃圾回收,就停止应用程序中的所有用户线程,直到垃圾回收过程完全结束。
按碎片处理方式分

可以分为压缩式回收非压缩式回收

  • 压缩式回收:在回收完成后,对存活对象进行压缩整理,消除回收后的碎片。
  • 非压缩式回收:不进行压缩处理。
垃圾收集器的性能
  • 吞吐量:CPU 运行用户代码的时间和 CPU 总消耗时间的比值。
  • 暂停时间:应用程序线程暂停,GC 线程执行。

其实没有一个完美的垃圾收集器,也没有万能的垃圾收集器。每个收集器都有最合适场景,按需结合使用才能发挥最大的功效。

垃圾收集器总结

编写代码

package com.test;public class TestJavaHeapSpace {public static void main(String[] args) {byte[] bytes1 = new byte[1 * 1024 * 1024];byte[] bytes2 = new byte[1 * 1024 * 1024];byte[] bytes3 = new byte[1 * 1024 * 1024];}
}

运行程序

$ java -Xms2M -Xmx2M -XX:+PrintCommandLineFlags -XX:+PrintGCDetails com.test.TestJavaHeapSpace

[GC (Allocation Failure) [PSYoungGen: 511K->488K(1024K)] 511K->504K(1536K), 0.0319948 secs] [Times: user=0.00 sys=0.00, real=0.04 secs] 
[GC (Allocation Failure) [PSYoungGen: 985K->504K(1024K)] 1001K->642K(1536K), 0.0007380 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) [PSYoungGen: 1009K->509K(1024K)] 1148K->736K(1536K), 0.0007602 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) [PSYoungGen: 1013K->509K(1024K)] 1240K->760K(1536K), 0.0005670 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) [PSYoungGen: 1014K->509K(1024K)] 1265K->776K(1536K), 0.0006131 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) [PSYoungGen: 1018K->509K(1024K)] 1285K->808K(1536K), 0.0005305 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[GC (Allocation Failure) --[PSYoungGen: 1008K->1008K(1024K)] 1307K->1515K(1536K), 0.0336632 secs] [Times: user=0.00 sys=0.00, real=0.03 secs] 
[Full GC (Ergonomics) [PSYoungGen: 1008K->266K(1024K)] [ParOldGen: 506K->421K(512K)] 1515K->688K(1536K), [Metaspace: 2525K->2525K(1056768K)], 0.0057810 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Ergonomics) [PSYoungGen: 764K->196K(1024K)] [ParOldGen: 421K->389K(512K)] 1186K->586K(1536K), [Metaspace: 2526K->2526K(1056768K)], 0.0048920 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Ergonomics) [PSYoungGen: 698K->196K(1024K)] [ParOldGen: 389K->391K(512K)] 1088K->588K(1536K), [Metaspace: 2526K->2526K(1056768K)], 0.0051047 secs] [Times: user=0.05 sys=0.00, real=0.00 secs] 
[Full GC (Ergonomics) [PSYoungGen: 692K->196K(1024K)] [ParOldGen: 391K->392K(512K)] 1084K->589K(1536K), [Metaspace: 2526K->2526K(1056768K)], 0.0053302 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Ergonomics) [PSYoungGen: 702K->196K(1024K)] [ParOldGen: 392K->394K(512K)] 1094K->591K(1536K), [Metaspace: 2526K->2526K(1056768K)], 0.0050899 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Ergonomics) [PSYoungGen: 707K->196K(1024K)] [ParOldGen: 394K->395K(512K)] 1101K->592K(1536K), [Metaspace: 2526K->2526K(1056768K)], 0.0049420 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] 
[Full GC (Ergonomics) [PSYoungGen: 707K->196K(1024K)] [ParOldGen: 395K->396K(512K)] 1103K->593K(1536

http://www.ritt.cn/news/28118.html

相关文章:

  • 门窗网站免费模板凡科网微信小程序
  • 网站线上推广方案南宁白帽seo技术
  • 杭州宣传片制作公司黑帽seo教程
  • 做黄色网站多少年在线资源搜索神器
  • asp网站源码说明百度一下 你知道首页
  • 网站开发和设计人员的岗位要求简单网页设计模板html
  • wordpress初始登录百度seo排名优化费用
  • 重庆网站建设有名 乐云践新强化防疫指导
  • iis做本地视频网站西安关键词排名推广
  • 政府网站集约化建设项目百度网页版电脑版
  • 政府网站建设联系电话软件开发公司经营范围
  • bbs网站设计培训网络营销机构
  • 做药的文献一般在哪些网站查找佛山seo培训
  • 腾讯轻量应用服务器建站模板企拓客app骗局
  • 什么网站ppt做的最好看最新app推广
  • 淄博做网站的公司河南seo推广
  • 网站制作策划nba最新消息
  • 做网贷中介网站赚钱吗做互联网项目怎么推广
  • 囊谦县公司网站建设新闻最近新闻10条
  • 做毕业设计资料网站吉林seo刷关键词排名优化
  • wordpress导入插件下载seo专员简历
  • 西安企业网站建设多少钱线上宣传渠道和宣传方式
  • 成都html5网站建设宁波网站推广优化公司怎么样
  • 小县城做网站怎么制作一个自己的网站
  • 仿新浪首页网站模板活动推广方式都有哪些
  • 学什么可以做响应式网站seo外链推广平台
  • 网站制作免费业务多平台怎么样
  • 大连开发区做网站的公司seo推广是做什么的
  • dw做的网站解压后为什么没了线上推广的三种方式
  • 银川网站开发推广企业东莞全网营销推广