JVM

  • 虚拟机栈和本地方法栈为什么是私有的?

    虚拟机栈 每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和...

    2023年12月15日 0 95 0
  • JVM调优命令有哪些?

    jps JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。 jstat JVM statistics Monitoring是用于监视虚拟...

    2023年12月15日 0 86 0
  • 说一下 JVM 调优的工具?

    常用调优工具分为两类,jdk自带监控工具:jconsole和jvisualvm,第三方有:MAT(Memory AnalyzerTool)、GChisto。 jconsole,Ja...

    2023年12月15日 0 86 0
  • 说一下堆和栈的区别

    物理地址 堆的物理地址分配对对象是不连续的。因此性能慢些。在GC的时候也要考虑到不连续的分配,所以有各种算法。比如,标记-消除,复制,标记-压缩,分代(即新生代使用复制算法,老年代...

    2023年12月15日 0 84 0
  • 说说你知道的几种主要的JVM参数

    堆栈配置相关 -Xmx3550m: 最大堆大小为3550m。 -Xms3550m: 设置初始堆大小为3550m。 -Xmn2g: 设置年轻代大小为2g。 -Xss128k: 每个线...

    2023年12月15日 0 86 0
  • 什么情况下会发生栈内存溢出?

    栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作数栈,动态链接,方法出口等信息。局部变量表又包含基本数据类型,对象引用类型。 ...

    2023年12月15日 0 81 0
  • 你了解过哪些垃圾收集器?

    年轻代 Serial 垃圾收集器(单线程,通常用在客户端应用上。因为客户端应用不会频繁创建很多对象,用户也不会感觉出明显的卡顿。相反,它使用的资源更少,也更轻量级。) ParNew...

    2023年12月15日 0 80 0
  • 你知道哪些GC类型?

    Minor GC:发生在年轻代的 GC。 Major GC:发生在老年代的 GC。 Full GC:全堆垃圾回收。比如 Metaspace 区引起年轻代和老年代的回收。 精品推荐 ...

    2023年12月15日 0 72 0
  • 程序计数器有什么作用?

    程序计数器是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器。这里面存的,就是当前线程执行的进度。 程序计数器还存储了当前正在运行的流程,包括正在执行的指令...

    2023年12月15日 0 75 0
  • 你都有哪些手段用来排查内存溢出?

    内存溢出包含很多种情况,我在平常工作中遇到最多的就是堆溢出。有一次线上遇到故障,重新启动后,使用jstat命令,发现Old区在一直增长。我使用jmap命令,导出了一份线上堆栈,然后...

    2023年12月15日 0 80 0
  • 你用过哪些jvm性能调优工具?

    常用调优工具分为两类 1、jdk自带监控工具 jconsole,Java Monitoring and Management Console是从java5开始,在JDK中自带的ja...

    2023年12月15日 0 118 0
  • 你知道哪些JVM性能调优参数?

    1、设定堆内存大小: ​ -Xms 设置最小堆内存大小(不能小于1024K); -Xms 堆内存初始大小,可以通过jmap工具进行查看 ​ -Xmx 设置最大堆内存大小(不能小于1...

    2023年12月15日 0 74 0
  • JVM调优命令有哪些?

    1、jps VM Process Status Tool显示指定系统内所有的HotSpot虚拟机进程。 2、jstat JVM statistics Monitoring是用于监视...

    2023年12月15日 0 75 0
  • 假如生产环境CPU占用过高,请谈谈你的分析思路和定位?

    1、首先,使用top -H命令获取占用CPU最高的线程,并将它转化为16进制。 2、然后,使用jstack命令获取应用的栈信息,搜索这个16进制。这样能够方便的找到引起CPU占用过...

    2023年12月15日 0 83 0
QR code