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

网店网站建设规划方案wordpress资讯模板

网店网站建设规划方案,wordpress资讯模板,印度外贸网站有哪些,战略网页游戏开服表简介 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.w-s-a.com/news/967285/

相关文章:

  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设
  • 江西省住房和城乡建设网站合同管理系统
  • 网站建设质量保证福州网络推广
  • 高唐网站建设公司广州南站在哪个区
  • 广西柳州网站制作公司郴州网红打卡景点
  • 做网站要固定ip拍摄公司宣传片制作
  • 专业微网站电话号码做软件难吗