随笔 - 203
文章 - 0
评论 - 18
阅读 -
24万
12 2021 档案
【JVM系列 下篇 】3.JVM监控及诊断工具-GUI篇
摘要:3. JVM 监控及诊断工具-GUI 篇 3.1. 工具概述 使用上一章命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息,但它们存在下列局限: 1.无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等(这对定位应用性能瓶颈至关重要)。 2.要求用户登录到目标
阅读全文
【JVM系列 下篇 】2.JVM监控及诊断工具-命令行篇
摘要:概述 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。 Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因素非常多,例如线程控制、磁盘读写、数据库访问、网络 I/O、
阅读全文
【JVM系列 下篇 】1.概述篇
摘要:概述篇: 1、大厂面试题: 支付宝: 支付宝三面:JVM 性能调优都做了什么? 小米: 有做过 JVM 内存优化吗? 从 SQL、JVM、架构、数据库四个方面讲讲优化思路 蚂蚁金服: JVM 的编译优化 jvm 性能调优都做了什么 JVM 诊断调优工具用过哪些? 二面:jvm 怎样调优,堆内存、栈空
阅读全文
【JVM系列 上篇 】17.垃圾回收器
摘要:垃圾回收器 GC分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。 由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。 从不同角度分析垃圾收集器,可以将GC分为不同的类型。 Java不同版本新特性 语法层面:Lambda表
阅读全文
【JVM系列 上篇 】16.垃圾回收概述
摘要:垃圾回收相关概念 System.gc() 的理解 在默认情况下,通过System.gc() 者Runtime.getRuntime() .gc() 的调用,会显式触发FullGC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。 然而System.gc() 调用附带一个免责声明,无法保证
阅读全文
【JVM系列 上篇 】15.垃圾回收相关算法
摘要:垃圾回收相关算法 标记阶段:引用计数算法 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象。只有被标记为己经死亡的对象,GC才会在执行垃圾回收时,释放掉其所占用的内存空间,因此这个过程我们可以称为垃圾标记阶段。 那么在JVM中究
阅读全文
【JVM系列 上篇 】14.垃圾回收概述
摘要:垃圾回收概述 概念 这次我们主要关注的是黄色部分,内存的分配与回收 什么是垃圾 在提到什么是垃圾之前,我们先看下面一张图 从上图我们可以很明确的知道,Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要我们手动的收集。 垃圾收集,不是Java语言的伴生产物
阅读全文
【JVM系列 上篇 】13.StringTable
摘要:StringTable String的基本特性 String:字符串,使用一对 ”” 引起来表示 String s1 = "mogublog" ; // 字面量的定义方式 String s2 = new String("moxi"); String声明为final的,不可被继承 String实现了S
阅读全文