JVM

作者: sunyuan1125 | 来源:发表于2018-07-05 08:28 被阅读10次

1、为什么JVM调优经常会将-Xms和-Xmx参数设置成一样;

  针对JVM堆的设置,一般可以通过-Xms -Xmx限定其最小、最大值,为了防止垃圾收集器在最小、最大之间收缩堆而产生额外的时间,我们通常把最大、最小设置为相同的值

2、Java内存模型,方法区存什么;

3、类的基本信息、常量、静态变量、编译后的代码

4、CMS垃圾回收过程;

5、Full GC次数太多了,如何优化;

full gc频繁说明old区很快满了。

如果是一次fullgc后,剩余对象不多。那么说明你eden区设置太小,导致短生命周期的对象进入了old区。

如果一次fullgc后,old区回收率不大,那么说明old区太小。

6、直接内存如何管理的;

Minor GC与Full GC分别在什么时候发生?什么时候触发Full GC;

minorGC 针对年轻代 full gc 年轻代老年代同时进行

当Eden区满时,触发Minor GC

Full GC触发条件:

(1)调用System.gc时,系统建议执行Full GC,但是不必然执行

(2)老年代空间不足

(3)方法去空间不足

(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存

(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小

7、GC收集器有哪些?CMS收集器与G1收集器的特点。

Serial 单线程串行进行垃圾收集,复制算法

ParNew Serial 多线程版本,复制算法,可以与CMS配合

Parallel 重吞吐,复制,多线程

SerialOld 串行 单线程 标记 整理

ParallelOld  标记整理

CMS 标记清除  获取最小停顿时间,特别适合BS使用

G1 布局不是只有新生代活老年代,整个布局逻辑划分region,G1跟踪每个region里垃圾大小,维护优先的列表,根据允许的收集时间,优先收集收集价值最大的Region

年轻代一般用复制算法,老年代一般用标记--算法

9、Java在什么时候会出现内存泄漏;

内存泄漏:程序申请的内存无法释放,始终占用空间,分配的对象可达但是无用,一般是一个很大的对象无法释放,老年代的大对象,内存泄漏最终会导致内存溢出

内存溢出:程序申请内存时,没有内存空间可分配了

10、Java中的大对象如何进行存储;

超过EDEN区一半,直接跳过年轻代进入老年代

11、rt.jar被什么类加载器加载,什么时间加载;

Bootstrap Classloader

12、自己写的类被什么加载,什么时间加载;

13、自己写的两个不同的类是被同一个类加载器加载的吗?为什么?

14、为什么新生代内存需要有两个Survivor区?

15、几种常用的内存调试工具:jmap、jstack、jconsole;

16、dump日志

17、类加载的五个过程:加载、验证、准备、解析、初始化;

18、G1停顿吗,CMS回收步骤,CMS为什么会停顿,停顿时间;

19、栈主要存的数据是什么,堆呢?

20、堆分为哪几块,比如说新生代老生代,那么新生代又分为什么?

Eden survior 1  survior  2

21、软引用和弱引用的使用场景(软引用可以实现缓存,弱引用可以用来在回调函数中防止内存泄露);

相关文章

  • 深入JVM内核 目录

    深入JVM内核 目录 深入JVM内核1 初识JVM深入JVM内核2 JVM运行机制深入JVM内核3 常用JVM配置...

  • JVM内存模型(jvm 入门篇)

    概述 jvm 入门篇,想要学习jvm,必须先得了解JVM内存模型,JVM内存模型,JVM内存模型,JVM内存模型,...

  • Jvm(一)-Java虚拟机的内存管理

    [toc] JVM JVM回顾 1. 什么是 JVM JVM是Java Virtual Machine(Java虚...

  • JVM介绍系列文章

    知晓JVM系列(一):对JVM总览知晓JVM系列(二):JVM内存管理机制与优化初探知晓JVM系列(三) :常用的...

  • 科普

    1.JVM/JRE/JDK关系JVM

  • JVM

    JVM之内存模型JVM之对象定位与访问JVM之Java垃圾回收机制JVM之类加载

  • JVM

    栈容量由-Xss指定深入理解JVM—JVM内存模型 JVM内存模型和JVM参数的关系

  • JVM基础知识系列

    JVM基础系列 JVM知识点扫盲系列(1) JVM知识点扫盲系列(2) JVM内存的那些事 JVM类加载的那些事 ...

  • (过时、作废)android 多线程 — GC

    简单解析下JVM 先说下 JVM,虽然上篇文章在讲内存时介绍了 JVM ,但是我在这里还是以 JVM 开头,JVM...

  • 技术文章罗列

    JVM JVM知识点详解JVM初步诊断JVM内存模型 Java Api java8 stream Api讲解(上)...

网友评论

      本文标题:JVM

      本文链接:https://www.haomeiwen.com/subject/rqjuyftx.html