随笔分类 -  JVM

摘要:1 概述 性能诊断是软件工程师在日常工作中经常面对和解决的问题,在用户体验至上的今天,解决好应用软件的性能问题能带来非常大的收益。Java作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成Java应用出现性能问题的因素非常多,例如线程控制、磁盘读写、数据库访问、网络I/O、垃圾收 阅读全文
posted @ 2021-04-13 14:50 勤奋的园 阅读(186) 评论(0) 推荐(0)
摘要:1 大厂面试题 支付宝 支付宝三面:JVM性能调优都做了什么? 小米 有做过JVM内存优化吗? 从SQL、JVM、架构、数据库四个方面讲讲优化思路 蚂蚁金服 JVM的编译优化 JVM性能调优都做了什么 JVM诊断工具用过哪些? 二面:JVM怎样调优,堆内存、栈空间设置多少合适 三面:JVM相关的分析 阅读全文
posted @ 2021-04-07 11:08 勤奋的园 阅读(286) 评论(0) 推荐(0)
摘要:1、Java 7和Java 8区别 Java 7堆结构 JDK 1.8之后将最初的永久代取消了,由元空间取代。 在Java8中,永久代已经被移除,被一个称为元空间的区域所取代。元空间的本质和永久代类似。 元空间与永久代之间最大的区别在于: 永久带使用的JVM的堆内存,但是java8以后的元空间并不在 阅读全文
posted @ 2021-01-27 18:26 勤奋的园 阅读(292) 评论(0) 推荐(0)
摘要:1、Heap堆(Java7之前) 一个JVM实例只存在一个堆内存,堆内存的大小是可以调节的。类加载器读取了类文件后,需要把类、方法、常变量放到堆内存中,保存所有引用类型的真实信息,以方便执行器执行,堆内存分为三部分: Young Generation Space 新生区 Young/New Tenu 阅读全文
posted @ 2021-01-26 16:32 勤奋的园 阅读(381) 评论(0) 推荐(0)
摘要:JVM是运行在操作系统之上的,它与硬件没有直接的交互 下图运行时数据区灰色代表线程私有,亮色(方法区和堆)代表所有线程共享。 1、类装载器ClassLoader 负责加载class文件,class文件在文件开头有特定的文件标示,将class文件字节码内容加载到内存中,并将这些内容转换成方法区中的运行 阅读全文
posted @ 2021-01-22 11:12 勤奋的园 阅读(136) 评论(0) 推荐(0)