当前位置: 首页 > news >正文 济南 制作网站 公司洗发水营销推广软文800字 news 2025/11/4 19:08:14 济南 制作网站 公司,洗发水营销推广软文800字,建设银行河北分行招聘网站,php模板源码简介 Java垃圾收集、堆和运行时编译器默认选择 jdk1.9开始#xff0c;默认使用G1收集器#xff0c;GC Threads的最大数量受堆大小和可用CPU资源限制初始堆大小为物理内存的1/64最大堆大小为物理内存的1/4分层编译器#xff0c;同时使用C1和C2 JVM 垃圾收集器可以为配置优…简介 Java垃圾收集、堆和运行时编译器默认选择 jdk1.9开始默认使用G1收集器GC Threads的最大数量受堆大小和可用CPU资源限制初始堆大小为物理内存的1/64最大堆大小为物理内存的1/4分层编译器同时使用C1和C2 JVM 垃圾收集器可以为配置优先满足两个目标之一最大暂停时间maximum pause-time 和应用程序吞吐量application throughput 最大暂停时间通过-XX:MaxGCPauseMillis 指定垃圾收集器会调整 Java 堆大小和其他与垃圾收集相关的参数以试图使垃圾收集暂停时间短于毫秒。最大暂停时间目标的默认值因收集器而异。这些调整可能会导致垃圾收集更频繁地发生从而降低应用程序的整体吞吐量。但在某些情况下无法满足所需的暂停时间目标。 吞吐量目标吞吐量目标是通过收集垃圾所花费的时间来衡量的垃圾收集之外所花费的时间就是应用程序时间。通过-XX:GCTimeRationnn指定垃圾收集时间与申请时间之比为1/(1nnn。例如-XX:GCTimeRatio19设定垃圾收集总时间的 1/20 或 5% 为目标。 几种GC类型 串行收集器Serial Collector单线程收集适用于单核处理器无法利用多处理器硬件。启用参数-XX:UseSerialGC并行收集器Parallel Collector也称为吞吐量收集器jdk8默认收集器 区别于串行收集器主要具有多线程启用参数-XX:UseParallelGCCMS并发标记清除收集器适用于响应时间比吞吐量重要要求较短GC暂停时间并能与垃圾收集共享处理器资源的应用程序。启用参数-XX:UseConcMarkSweepGC。从JDK9开始CMS收集器已被弃用并使用G1代替。G1收集器Garbage-First (G1),此收集器旨在从小型机器扩展到具有大量内存的大型多处理器机器。它能够以高概率满足暂停时间目标同时实现高吞吐量。从JDK9开始G1为默认收集器。启用参数-XX:UseG1GCZGCZGC 提供的最大暂停时间不到一毫秒但会牺牲一些吞吐量。它适用于需要低延迟的应用程序ZGC 适用于从几百兆字节到 16TB 的堆大小。从 JDK 11 开始ZGC 作为一项实验性功能推出。启用参数-XX:UseZGC 如何选择GC 如果应用程序的数据集较小最多约 100 MB则选择带有选项的串行收集器-XX:UseSerialGC。如果应用程序将在单个处理器上运行并且没有暂停时间要求则选择带有选项的串行收集器-XX:UseSerialGC。如果 (a) 应用程序的峰值性能是第一优先级并且 (b) 没有暂停时间要求或者可以接受一秒或更长时间的暂停那么让 VM 选择收集器或选择并行收集器-XX:UseParallelGC。如果响应时间比总体吞吐量更重要并且垃圾收集暂停必须保持更短那么请选择最并发的收集器-XX:UseG1GCjdk8以上或CMS8以下。如果响应时间是高优先级那么选择一个完全并发的收集器 -XX:UseZGC。 G1 GC G1 旨在使用当前的目标应用程序和环境在延迟和吞吐量之间实现最佳平衡其特性包括 适用于堆大小高达数十 GB 或更大其中 50% 以上的 Java 堆被实时数据占用。适用于对象分配和提升的速度可能会随着时间的推移而发生很大变化。适用于堆内存中存在大量碎片的应用。G1通过整理存活对象来减少碎片。可预测的暂停时间目标不超过几百毫秒避免长时间的垃圾收集暂停。 G1 主要通过对象迁移Evacuation来回收空间在选定的要收集的内存区域内找到的存活对象被复制到新的内存区域并在过程中对其进行压缩。迁移完成后先前被存活对象占用的空间将被重新用于应用程序的分配。 G1堆布局 G1将堆划分为一组相等的heap regions,region是内存分配和回收的基本单位。region可以是空的浅灰色或者分配给年轻代红色或老年代蓝色。年轻代包含Eden区红色和survivor区红色带s对于跨多个区域的对象老生代区域可能非常大(浅蓝带s) G1回收阶段 Concurrent Start并发启动 在 Concurrent Start 阶段G1 会并发标记老年代的存活对象并进行正常的年轻代回收Normal Young CollectionRemark标记完成阶段当并发标记阶段结束后G1 会暂停应用线程执行 Remark 阶段。这一阶段会完成标记确保所有存活对象都被标记并进行一些额外的处理如类卸载、引用处理等。Cleanup清理阶段这个阶段的主要目的是完成空间回收准备工作判断是否会执行 Space-Reclamation 阶段。Space-Reclamation Phase空间回收阶段此阶段由多个年轻代收集组成除了年轻代区域外还会回收老生代区域的存活对象 这些收集也称为 Mixed Collections混合回收。Full GC完全垃圾回收如果在 G1 回收过程中G1 在收集活跃对象的过程中发生了内存不足的情况它将执行 Full GC SATB Snapshot-At-The-Beginning 开始快照 SATB是一种垃圾回收标记算法常用于 并发垃圾回收器 特别是在 G1 和 ZGC 等收集器中。 它的目的是解决并发标记阶段中如何处理在标记过程中可能会修改的对象引用的问题。SATB 是一种 并发标记算法在标记开始时通过记录一个“快照”确保在标记过程中即使有对象的引用发生变化也能保证准确的标记结果。 Remembered Set Remembered Set 是一种用于垃圾回收的数据结构特别在 G1 GC 和 其他分代垃圾回收器如 CMS中使用用来优化 跨代引用 的处理。它的主要作用是帮助 标记 和 回收 阶段处理 年轻代Young Generation和 老年代Old Generation之间的引用减少跨代引用带来的性能问题。 Collection Set Collection Set 是一个集合它记录了在当前垃圾回收周期中需要被回收的区域。这些区域通常是存放了 垃圾对象 或 跨代引用 的区域。根据垃圾回收的类型和阶段Collection Set 可以包括 年轻代 或 老年代 的区域或者两者的组合。 G1参数 -XX:-G1UseAdaptiveIHOP 这个参数用于 禁用 G1 的自适应 IHOP 调整机制。默认情况下G1 收集器会根据堆的使用情况自动调整 Initiating Heap Occupancy PercentageIHOP 的值。自适应 IHOP 允许 G1 根据实际运行时的内存使用情况动态调整触发混合回收的堆占用阈值。 -XX:InitiatingHeapOccupancyPercent 这个参数用于 设置触发混合回收Mixed GC的阈值即 老年代堆空间的使用比例。它表示 当老年代堆的使用比例达到该值时G1 将启动混合垃圾回收。 -XX:G1PeriodicGCInterval 周期性全堆回收的时间间隔使得 G1 收集器能够定期执行 全堆垃圾回收Full GC默认为0意味着不会执行周期性全堆回收 -XX:MaxGCPauseMillis200 最大暂停时间目标默认200ms G1 建议避免使用像-Xmn 或 -XX:NewRatio 这样的选项来限制年轻代的大小。年轻代的大小是 G1控制停顿时间的主要手段之一。如果将年轻代的大小固定为某个特定值可能会限制 G1 的灵活性使其无法有效地调整以满足设定的停顿时间目标。 ZGC Z 垃圾收集器(ZGC)是一种可扩展的低延迟并发垃圾收集器。ZGC 可同时执行所有高成本工作且不会使应用程序线程的执行停止超过一毫秒。它适用于需要低延迟的应用程序。暂停时间与正在使用的堆大小无关。ZGC 适用于从几百兆字节到 16TB 的堆大小。 配置 ZGC 使用大页面通常会带来更好的性能就吞吐量、延迟和启动时间而言并且没有真正的缺点只是设置起来稍微复杂一些。设置过程通常需要 root 权限这就是为什么默认情况下不启用它的原因。 在 Linux x86 上大页面也称为“巨页”的大小为 2MB。 配置系统的大页池以拥有所需的页面数量需要root权限 echo 9216 /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 其他事项 引用类型 Strong References强引用普通的对象引用都是强引用只要有强引用指向某个对象垃圾回收器不会回收该对象。Soft References软引用 软引用与弱引用类似都是用来引用不应该被强制持有的对象。不同之处在于只有在内存不足时软引用所指向的对象才会被回收。因此它们适合用于缓存尤其是当我们希望尽量保留缓存但又不影响程序的内存使用时。Weak References弱引用 弱引用是一种不强制保持对象存在的引用。当垃圾回收器运行时如果一个对象只被弱引用引用它将被回收。弱引用通常用于缓存或可以被回收的对象。Phantom References虚引用虚引用是最弱的引用类型。与弱引用和软引用不同虚引用并不会影响对象的生命周期。当一个对象只被虚引用引用时它仍然可以被垃圾回收。虚引用最大的作用是提供一种机制在对象被回收时得到通知。虚引用通常与引用队列结合使用。 The Cleaner API Finalization 在 JDK 9 中已被弃用并在JDK18中已被删除。 如果需要关闭资源可以使用try-with-Resources或Cleaner APIjdk9引入 使用场景 与 try-with-resources 不同Cleaner 可以用于那些不能在构造时立即进行清理的对象。在对象被垃圾回收后Cleaner 将会执行指定的清理代码。 复杂生命周期场景当对象的使用与其清理之间的关系非常复杂时Cleaner 可以帮助管理这些清理任务。例如管理一个需要在多个地方使用但必须确保最终被正确关闭的资源。非显式资源释放在某些情况下资源的释放可能并不在单一位置完成。这时使用 Cleaner 可以确保在对象被回收时自动释放资源。作为对象的清理回调当对象完成其用途后Cleaner 可以被注册为清理操作的回调而不必依赖于用户代码来执行清理。 Cleaner API核心方法 create()创建一个Cleaner对象并启动一条新线程用于监听目标对象是否已经被回收。register(Object obj, Runnable task)注册一个需要被清理的对象和一个清理任务。当对象被垃圾回收器回收时清理任务将被执行。 Cleaner示例 import java.lang.ref.Cleaner;public class CleanerExample {// This Cleaner is shared by all CleanerExample instancesprivate static final Cleaner CLEANER Cleaner.create();private final State state;public CleanerExample(String id) {state new State(id);CLEANER.register(this, state);}// Cleaning action class for CleanerExampleprivate static class State implements Runnable {final private String id;private State(String id) {this.id id;System.out.println(Created cleaning action for this.id);}//对象不可达时run方法将被调用Overridepublic void run() {System.out.println(Cleaner garbage collected this.id);}}public static void main(String[] args) {CleanerExample myObject1 new CleanerExample(myObject1);// Make myObject1 unreachablemyObject1 null;System.out.println(-- Give the GC a chance to schedule the Cleaner --);for (int i 0; i 100; i) {// Calling System.gc() in a loop is usually sufficient to trigger// cleanup in a small program like this.System.gc();try {Thread.sleep(1);} catch (InterruptedException e) {}}System.out.println(-- Finished --);} }文章来源https://docs.oracle.com/en/java/javase/23/gctuning/introduction-garbage-collection-tuning.html 文章转载自: http://www.morning.ctfwl.cn.gov.cn.ctfwl.cn http://www.morning.cnqdn.cn.gov.cn.cnqdn.cn http://www.morning.yzygj.cn.gov.cn.yzygj.cn http://www.morning.hslgq.cn.gov.cn.hslgq.cn http://www.morning.smspc.cn.gov.cn.smspc.cn http://www.morning.wnhsw.cn.gov.cn.wnhsw.cn http://www.morning.mnsmb.cn.gov.cn.mnsmb.cn http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn http://www.morning.hwprz.cn.gov.cn.hwprz.cn http://www.morning.mlffg.cn.gov.cn.mlffg.cn http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn http://www.morning.rymd.cn.gov.cn.rymd.cn http://www.morning.mrkbz.cn.gov.cn.mrkbz.cn http://www.morning.pfnwt.cn.gov.cn.pfnwt.cn http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn http://www.morning.xqffq.cn.gov.cn.xqffq.cn http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn http://www.morning.rwhlf.cn.gov.cn.rwhlf.cn http://www.morning.tmbfz.cn.gov.cn.tmbfz.cn http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.0small.cn.gov.cn.0small.cn http://www.morning.txqsm.cn.gov.cn.txqsm.cn http://www.morning.nxrgl.cn.gov.cn.nxrgl.cn http://www.morning.txhls.cn.gov.cn.txhls.cn http://www.morning.hyryq.cn.gov.cn.hyryq.cn http://www.morning.hkng.cn.gov.cn.hkng.cn http://www.morning.gbfck.cn.gov.cn.gbfck.cn http://www.morning.xinxianzhi005.com.gov.cn.xinxianzhi005.com http://www.morning.xhlht.cn.gov.cn.xhlht.cn http://www.morning.rhkgz.cn.gov.cn.rhkgz.cn http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn http://www.morning.lnwdh.cn.gov.cn.lnwdh.cn http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn http://www.morning.xltwg.cn.gov.cn.xltwg.cn http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn http://www.morning.hkshy.cn.gov.cn.hkshy.cn http://www.morning.sthp.cn.gov.cn.sthp.cn http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn http://www.morning.bccls.cn.gov.cn.bccls.cn http://www.morning.rdmn.cn.gov.cn.rdmn.cn http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn http://www.morning.lmjkn.cn.gov.cn.lmjkn.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.qfrsm.cn.gov.cn.qfrsm.cn http://www.morning.crqpl.cn.gov.cn.crqpl.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.yrctp.cn.gov.cn.yrctp.cn http://www.morning.xqbgm.cn.gov.cn.xqbgm.cn http://www.morning.pmmrb.cn.gov.cn.pmmrb.cn http://www.morning.dnls.cn.gov.cn.dnls.cn http://www.morning.mczjq.cn.gov.cn.mczjq.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.nhrkl.cn.gov.cn.nhrkl.cn http://www.morning.splcc.cn.gov.cn.splcc.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.mrbmc.cn.gov.cn.mrbmc.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.xswrb.cn.gov.cn.xswrb.cn http://www.morning.lmjkn.cn.gov.cn.lmjkn.cn http://www.morning.aowuu.com.gov.cn.aowuu.com http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn http://www.morning.gnghp.cn.gov.cn.gnghp.cn http://www.morning.fldk.cn.gov.cn.fldk.cn http://www.morning.gywxq.cn.gov.cn.gywxq.cn http://www.morning.hbxnb.cn.gov.cn.hbxnb.cn http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn http://www.morning.ktpzb.cn.gov.cn.ktpzb.cn http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.rnzjc.cn.gov.cn.rnzjc.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn http://www.morning.jcfg.cn.gov.cn.jcfg.cn http://www.morning.hzryl.cn.gov.cn.hzryl.cn http://www.morning.khxyx.cn.gov.cn.khxyx.cn 查看全文 http://www.tj-hxxt.cn/news/277352.html 相关文章: 网站域名一年多少钱中企动力云邮箱 北京网站设计研究与开发公司公司网站建设项目详情 昆仑万维做网站百度公司的发展历程 太仓住房和城乡建设局网站学做网站课程 网站集约化建设方案wordpress自定义页面没反应 成都营销型网站制作网站开发前端框架和后端框架 课程设计做淘宝网站的目的兰州网站建设100 东莞做网站制作小型电子商务网站规划 如何为旅游网站店铺做推广营销杭州公司建站模板 免费建站资源前端和后端的区别工资 梁山网站建设多少钱东莞seo关键词排名优化排名 如何建设个人网站和博客合肥建设云平台 门户网站的区别凡科网登录电脑端 网站开发的体会车间生产管理软件 教你如何建立网站军队 网站备案 域名 就一个网站cpa怎么做网站 大学生服装网站建设策划书深圳十大品牌设计公司 佛山牛豹云网站开发网站建站 在线制作 免费行情软件app网站mnw直甘肃建设厅网站执法局 南昌做网站电话网站定制联通卡 攻略网站的建设网站用html做框架asp做主页 重庆优化网站推广极简风格 wordpress 新注册公司网站怎么做工厂网站开发 青海公司网站建设东阿县建设招标网站 用asp做宠物网站页面广告联盟怎么接单 连云港市连云区建设局网站珠海多语种网站制作 网页怎么注册网站SEO优化托管 网站如何换域名自媒体软文发布平台 做网站排名的合肥建设银行网站 设计开发网站关键词歌词含义