1. 巨型对象1.1. humongousobject1.2. 大于等于区域一半大小的对象1.3. 巨型对象被直接分配在老年代,所以它在新生代回收期间不会被释放1.4. G1区域的大小是2的幂,最小值是1MB1.5. 如果堆的最大值和初始值差别很大,就会有过多的G1区域,这种情况下应该增加G1区域的大小1.6. -XX:G1HeapRegionSize=N1.6.1. G1的区域大小1.6.2. 默认值名义上是02. 完全掌控堆的大小2.1. 堆的默认值取决于机器的内存量2.1.1. XX:MaxRAM=N标志2.2. 堆的最大值是MaxRAM的四分之一2.3. 将32位Windows服务器的
1. 巨型对象1.1. humongousobject1.2. 大于等于区域一半大小的对象1.3. 巨型对象被直接分配在老年代,所以它在新生代回收期间不会被释放1.4. G1区域的大小是2的幂,最小值是1MB1.5. 如果堆的最大值和初始值差别很大,就会有过多的G1区域,这种情况下应该增加G1区域的大小1.6. -XX:G1HeapRegionSize=N1.6.1. G1的区域大小1.6.2. 默认值名义上是02. 完全掌控堆的大小2.1. 堆的默认值取决于机器的内存量2.1.1. XX:MaxRAM=N标志2.2. 堆的最大值是MaxRAM的四分之一2.3. 将32位Windows服务器的
1. Survivor空间1.1. 新生代被划分为两个Survivor空间和一个Eden空间的原因1.1.1. 刚刚被创建并且还在使用中,所以不能被回收,但它们的寿命并没有长到足以进入老年代1.1.2. 仍在新生代中的对象有额外的机会被回收,而不是晋升到(并填满)老年代1.2. 首次新生代回收期间,对象从Eden空间移动到Survivor空间01.3. 下次回收时,活跃对象会从Survivor空间0和Eden空间移动到Survivor空间11.3.1. 此时Eden空间和Survivor空间0完全是空的1.4. 被移入老年代场景1.4.1. Survivor空间非常小,当目标Survivor空
1. Survivor空间1.1. 新生代被划分为两个Survivor空间和一个Eden空间的原因1.1.1. 刚刚被创建并且还在使用中,所以不能被回收,但它们的寿命并没有长到足以进入老年代1.1.2. 仍在新生代中的对象有额外的机会被回收,而不是晋升到(并填满)老年代1.2. 首次新生代回收期间,对象从Eden空间移动到Survivor空间01.3. 下次回收时,活跃对象会从Survivor空间0和Eden空间移动到Survivor空间11.3.1. 此时Eden空间和Survivor空间0完全是空的1.4. 被移入老年代场景1.4.1. Survivor空间非常小,当目标Survivor空
1. 性能优化是围绕工具展开的1.1. 最重要的工具大都是Java开发工具包(JDK)自带的1.2. 查看应用程序性能时,首先应该考察的就是CPU时间2. 操作系统工具2.1. Unix系统2.1.1. sar(SystemAccountingReport)及其组成工具2.1.2. vmstat、iostat和prstat2.2. Windows系统2.2.1. 有图形化的资源监视器2.2.2. 类似typeperf的命令行工具2.3. CPU使用率2.3.1. 用户时间2.3.1.1. CPU执行应用程序代码的时间所占的百分比2.3.2. 系统时间2.3.2.1. 执行内核代码的时间所占的百
1. 性能优化是围绕工具展开的1.1. 最重要的工具大都是Java开发工具包(JDK)自带的1.2. 查看应用程序性能时,首先应该考察的就是CPU时间2. 操作系统工具2.1. Unix系统2.1.1. sar(SystemAccountingReport)及其组成工具2.1.2. vmstat、iostat和prstat2.2. Windows系统2.2.1. 有图形化的资源监视器2.2.2. 类似typeperf的命令行工具2.3. CPU使用率2.3.1. 用户时间2.3.1.1. CPU执行应用程序代码的时间所占的百分比2.3.2. 系统时间2.3.2.1. 执行内核代码的时间所占的百
1. 性能分析工具1.1. 必须有足够大的堆来处理数据1.2. 运行性能分析工具时开启并发GC算法1.3. 不合时宜的FullGC暂停会导致缓冲区的数据溢出1.4. 性能分析的一个缺陷就是在应用程序中引入测试会改变其性能1.5. 在工作时要“附加”到被分析的应用程序上1.5.1. 通过socket或者被称为JVM工具接口(JVMToolInterface,JVMTI)的原生Java接口进行的1.5.2. 目标应用程序和性能分析工具开始交换关于目标应用程序行为的信息2. 采样分析器2.1. 性能分析的基本模式2.2. 想要减小误差,就要延长采样周期并减小采样间隔2.3. 安全点偏差(safepo
1. 性能分析工具1.1. 必须有足够大的堆来处理数据1.2. 运行性能分析工具时开启并发GC算法1.3. 不合时宜的FullGC暂停会导致缓冲区的数据溢出1.4. 性能分析的一个缺陷就是在应用程序中引入测试会改变其性能1.5. 在工作时要“附加”到被分析的应用程序上1.5.1. 通过socket或者被称为JVM工具接口(JVMToolInterface,JVMTI)的原生Java接口进行的1.5.2. 目标应用程序和性能分析工具开始交换关于目标应用程序行为的信息2. 采样分析器2.1. 性能分析的基本模式2.2. 想要减小误差,就要延长采样周期并减小采样间隔2.3. 安全点偏差(safepo
什么是IP的rdns信息? 过去很多人,将IP的rDNS信息理解为解析到IP的反查域名信息。IP的rDNS信息和IP反查域名信息完全是两个不同的信息。IP的rdns信息被称之为反向DNS解析(rDNS),即通过DNS解析系统来将IP地址解析为域名。根据RFC1912标准“每一个互联网可以访问的主机都应该有一个名字”,所以rDNS信息更多是对应到一个IP地址的名字。IP的反查域名是指根据域名解析到IP的记录来反查出哪些域名解析到这个IP地址上。下面以8.8.8.8来说明IP的反查信息和rDNS信息的区别。 通过命令nslookup可以直接获取到8.8.8.8的rDNS信息”dns.googl
什么是IP的rdns信息? 过去很多人,将IP的rDNS信息理解为解析到IP的反查域名信息。IP的rDNS信息和IP反查域名信息完全是两个不同的信息。IP的rdns信息被称之为反向DNS解析(rDNS),即通过DNS解析系统来将IP地址解析为域名。根据RFC1912标准“每一个互联网可以访问的主机都应该有一个名字”,所以rDNS信息更多是对应到一个IP地址的名字。IP的反查域名是指根据域名解析到IP的记录来反查出哪些域名解析到这个IP地址上。下面以8.8.8.8来说明IP的反查信息和rDNS信息的区别。 通过命令nslookup可以直接获取到8.8.8.8的rDNS信息”dns.googl