-
JVM-24-openjdk 开源 jdk 方便查看代码源码
openjdk
直接 github openjdk 下载源代码。
—— corba:不流行的多语言、分布式通讯接口
—— hotspot:Java 虚拟机
—— jaxp:XML 处理
—— jaxws:一组 XML web services 的 Java API
—— jdk:java 开发工具包
—— —— 针对操作系统的部分
—— —— share:与平台无关的实现
...
2018-10-08 15:36:46 |
Java
-
JVM-22-其他影响垃圾回收的因素
最终确定和弱,软和幻影引用
某些应用程序通过使用finalization和weak,soft或phantom引用与垃圾收集进行交互。
这些功能可以在Java编程语言级别创建性能工件。一个例子是依靠finalization来关闭文件描述符,这使得外部资源(描述符)依赖于垃圾收集的快速性。依靠垃圾收集来管理内存以外的资源几乎总是一个坏主意。
请参阅如何处理Java Finalization...
2018-10-08 15:36:46 |
Java
-
JVM-21-G1 垃圾收集器 Garbage-First(G1) / UseG1GC
Garbage-First Garbage Collector
Garbage-First(G1)垃圾收集器的目标是具有大量内存的多处理器计算机。它试图以高概率满足垃圾收集暂停时间目标,同时在几乎不需要配置的情况下实现高吞吐量。 G1旨在使用当前目标应用程序和环境提供延迟和吞吐量之间的最佳平衡,其功能包括:
堆大小最多为10 GB或更大,超过50%的Java堆占用实时数据...
2018-10-08 15:36:46 |
Java
-
JVM-20-CMS 垃圾收集器 Courrent Mark Sweep(CMS)收集器 / UseConcMarkSweepGC
最常见的 concurrent 收集器
大多数并发收集器同时执行部分工作到应用程序,因此他们的名字。 Java HotSpot VM包括两个主要并发的收集器:
并发标记扫描(CMS)收集器:此收集器适用于喜欢较短垃圾收集暂停且可以与垃圾收集共享处理器资源的应用程序。
垃圾优先(G1)垃圾收集器:此服务器式收集器适用于具有大量内存的多处理器计算机。它以高概率满足垃圾收集暂停时间目标,同时...
2018-10-08 15:36:46 |
Java
-
JVM-19-并行垃圾收集器 The Parallel Collector / UseParallelGC
The Parallel Collector
并行收集器(此处也称为吞吐量收集器)是类似于串行收集器的分代收集器。
串行和并行收集器之间的主要区别在于并行收集器具有多个线程,用于加速垃圾收集。
使用命令行选项-XX:+UseParallelGC启用并行收集器。
默认情况下,使用此选项,可以并行运行次要集合和主要集合,以进一步减少垃圾收集开销。
并行收集器垃圾收集器线程数
在具有&...
2018-10-08 15:36:46 |
Java
-
JVM-18-影响 GC 的因素
影响垃圾收集性能的因素
影响垃圾收集性能的两个最重要的因素是总可用内存和专用于年轻代的堆的比例。
总堆
影响垃圾收集性能的最重要因素是总可用内存。
由于集合在代数填满时发生,因此吞吐量与可用内存量成反比。
注意
以下有关堆的增长和收缩,堆布局和默认值的讨论使用串行收集器作为示例。
虽然其他收藏家使用类似的机制,但此处提供的详细信息可能不适用于其他收藏家。
有关其他收集...
2018-10-08 15:36:46 |
Java
-
JVM-17-GC 实现
垃圾收集器实现
Java SE平台的一个优势是它可以保护开发人员免受内存分配和垃圾收集的复杂性的影响。
但是,当垃圾收集是主要瓶颈时,了解实现的某些方面很有用。
垃圾收集器对应用程序使用对象的方式做出假设,这些可以反映在可调参数中,可以调整这些参数以提高性能,而不会牺牲抽象的功能。
世代垃圾收集
对象被认为是垃圾,当运行程序中任何其他活动对象的任何引用无法再访问它时,VM可以重用它...
2018-10-08 15:36:46 |
Java
-
JVM16--GC Ergonomics 人体工程学
人机工程学(Ergonomics)
人机工程学是Java虚拟机(JVM)和垃圾收集启发式(例如基于行为的启发式)提高应用程序性能的过程。
JVM为垃圾收集器,堆大小和运行时编译器提供与平台相关的默认选择。
这些选择符合不同类型应用程序的需求,同时需要较少的命令行调整。
此外,基于行为的调优动态地优化堆的大小以满足应用程序的指定行为。
本节介绍这些默认选择和基于行为的调整。
在使用...
2018-10-08 15:36:46 |
Java