随笔分类 - JVM相关
摘要:jdk文档:https://openjdk.org/jeps/444 关键内容整理 虚拟线程是轻量级线程,可显著减少编写、维护和观察高吞吐量并发应用程序的工作量。 默认情况下,直接使用 API 创建的虚拟线程(而不是通过 创建的虚拟线程)现在也会在其整个生命周期内受到监视,并且可以通过观察虚拟线程部
阅读全文
摘要:jdk 1.8 -Xms6G -Xmx6G -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSScavengeBeforeRemark -X
阅读全文
摘要:类加载器介绍: 从虚拟机的角度说,只存在两种类加载器: 一种是启动类加载器,这个类加载器使用C++编写,是虚拟机自身的一部分; 另一种是所有其他类的加载器,这些类加载器使用Java编写,独立于虚拟机,并且全部继承自抽象类java.lang.ClassLoader; 从Java开发人员的角度看,类加载
阅读全文
摘要:Java classes在Java hotspot VM内部表示为类元数据。 在之前Java hotspot VM版本,类元数据在持久代中分配。 在JDK8,持久代被移除,并且类元数据在本地内存中分配。 默认情况下,本地内存都可以被用于类元数据。 可以使用MaxMetaspaceSize 选项设置在
阅读全文
摘要:并发标记扫描(CMS)收集器专为需要较短垃圾收集暂停时间且能够在应用程序运行时与垃圾收集器共享处理器资源的应用程序而设计。 对于任何暂停时间要求较低的应用程序,应考虑使用此收集器。 使用命令行选项启用CMS收集器-XX:+UseConcMarkSweepGC。 与其他可用的收集器类似,CMS收集器是
阅读全文
摘要:默认情况下服务器上选择并行收集器。 1、并行收集器(这里也称为吞吐量收集器)是类似于串行收集器的分代收集器; 主要区别在于多个线程用于加速垃圾收集。使用命令行选项启用并行收集器-XX:+UseParallelGC。 2、可以使用命令行选项控制垃圾收集器线程的数量 -XX:ParallelGCThre
阅读全文
摘要:标准参数: 保证所有JVM的实现都可以支持 -client 设置Hotspot client jvm,64位jdk会忽略该参数并设置-server -Dproperty=value 用于设置系统属性,如果value中有空格,则需要设置-Dproperty="value value" -server
阅读全文