作者:肥朝

原文链接:https://mp.weixin.qq.com/s/4wJ6ANal0blLOseasfIuVw

中学授课模式

考虑到可能有部分粉丝对JVM参数不清楚,所以我们参照中学的授课模式,给大家做一些知识上的普及。理论上,JVM参数主要分为三类

1.标配参数

该类型参数在JDK各个版本之间稳定,很少有大的变化。比如查看版本号

java -version
 

2.X参数

这些用的不多,看看就好。

// 解释执行
-Xint // 第一次使用就编译成本地代码
-Xcomp // 混合模式
-Xmixed
 

3.XX参数

3.1 布尔类型

-XX:+ 或者 - 某个属性值,+ 表示开启,-表示关闭。例如:

// 打印GC详细信息
-XX:+PrintGCDetails
// 不打印GC详细信息
-XX:-PrintGCDetails
 

3.2 KV类型

-XX:属性key=属性值value,例如

// 设置Metaspace的大小
-XX:MetaspaceSize=1024m

  

 

中学考试试题

好了,现在课讲完了,那么我们来两道经典的JVM面试题。

填空题

在线上生产环境,JVM的XmsXmx一般设置成_____比例。原因是____________

选择题

我们常设置的JVM参数XmsXmx,属于下列哪种类型的JVM参数?

A.标配参数

B.X参数

C.XX参数

D.以上均不是

解答

大家看这两道题,是不是有中学试卷的味道?上课教的东西,到了考试就全变样了,美名为教材内容考点变形,变形可以,可这都变得面目全非了啊!高三的时候,老师告诉我们,每年高考题他都全部命中。那一刻,我以为清华北大稳了,都准备要发朋友圈装逼了!

后面才知道,他的意思是,他把课本的内容都给我们讲了,然后高考的内容都源于课本,所以他每年都全部命中。

言归正传,那么我们来解答一下这两道题。

1.XmsXmx一般设置成1:1比例,原因是避免在GC后调整堆大小带来的压力

2.选C,因为-Xms等价于-XX:InitialHeapSize,-Xmx等价于-XX:MaxHeapSize。所以他们都是XX类型参数。易错选型是B。

这两道题你都答对了吗?或者你有什么中学的回忆,也欢迎留言告诉肥朝。

免费Java高级资料需要自己领取,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G。
传送门:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

两道JVM面试题,竟让我回忆起了中学时代!的更多相关文章

  1. 两道sql面试题

    两道sql面试题:    1. 数据库表A的数据如下:             year   quarter             2001      1             2001      ...

  2. (转)关于inode和block的两道企业面试题

    关于inode和block的两道企业面试题 原文:http://www.tk4479.net/xiaolong361/article/details/52373374 一.一个100M的磁盘分区,分别 ...

  3. 转://云和恩墨的两道Oracle面试题

    真题1. 对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? 答案:首先对于查询结果而言,二者没有任何区别.从这一点上讲无论是指定大于3还是指定大 ...

  4. 两道Java面试题!

    body { font-family: 微软雅黑; font-size: 14px; line-height: 2; } html, body { color: inherit; background ...

  5. 十八道JVM面试题总汇(附解析)

    一.Java 类加载过程? Java 类加载需要经历以下7 个过程: 1. 加载 加载是类加载的第一个过程,在这个阶段,将完成以下三件事情: • 通过一个类的全限定名获取该类的二进制流. • 将该二进 ...

  6. 面试你能搞懂JVM了吗,快看看这20道JVM面试题

    1.内存模型以及分区,需要详细到每个区放什么?2.堆里面的分区:Eden,survival (from+ to),老年代,各自的特点?3.对象创建方法,对象的内存分配,对象的访问定位?4.GC 的两种 ...

  7. 2020年最新78道JVM面试题总结(含答案解析和思维导图)

    前言 关于JVM系列面试知识点总结了一个思维导图,分享给大家 1.java中会存在内存泄漏吗,请简单描述. 会.自己实现堆载的数据结构时有可能会出现内存泄露. 2.64 位 JVM 中,int 的长度 ...

  8. 两道面试题,带你解析Java类加载机制

    文章首发于[博客园-陈树义],点击跳转到原文<两道面试题,带你解析Java类加载机制> 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Gr ...

  9. 【转】两道面试题,带你解析Java类加载机制(类初始化方法 和 对象初始化方法)

    本文转自 https://www.cnblogs.com/chanshuyi/p/the_java_class_load_mechamism.html 关键语句 我们只知道有一个构造方法,但实际上Ja ...

随机推荐

  1. 【Java】理解ClassNotFoundException与NoClassDefFoundError的区别

    一.概念上的认识 1)Exception与Error的区别 1.Exception的出现不会导致程序结束,用户程序可以捕获该异常 2.Error的出现会导致程序结束,用户程序无法捕获Error错误 2 ...

  2. LCD RGB 控制技术讲解 — 时钟篇(上)【转】

    1. 时序图 下面是LCD RGB 控制的典型时序图 天啊,一下就上这玩意,怎么看??? 其实要解释上面的时序图,我们还需要了解一些LCD的显示过程.所以现在只是有个印象,稍后我们详细讲解. 2. L ...

  3. Windows 下 pycharm 创建Django 项目【用虚拟环境的解释器】

    1.  背景 我在 Windows 下的 pycharm  直接创建 全新 Django  项目 会  pip 和其他报错 ,暂时解决不了,另外后续的多个项目只需要一套python 环境, 所以可以 ...

  4. toString的本质 以及String.valueOf()

    Object可以用toString转为字符串. Object.toString(); 但char[]不行,得用valueOf. String.valueOf(char[]); 如果用toString, ...

  5. redis 在 windows 中的安装

    redis 在 windows 中的安装 redis 官方并没有提供 redis 的 windows 版本.但是微软提供了 redis 的 windows 版本.有2.8和3.0版本.3.0版本支持集 ...

  6. Eclipse分享和检出(六)

    一.创建资源库位置 1.  切换到透视图 SVN 资源库:Window--Show View--Other,搜索“SVN资源库” 2.  创建资源库位置,右键--新建--资源库位置 3. 输入可用的版 ...

  7. webapi使用压缩

    支持GZIP.DEFLATE压缩 /// <summary> /// Gzip 压缩 /// </summary> public sealed class Compressio ...

  8. Linux学习笔记-第4天- linux命令有很多,不要求全会,常用的一定要能够熟练使用

    linux命令就像单词,有很多.词汇量固然越大越好,但是常用基础命令一定要做到熟练应用. 同时学习不是死记硬背,排错能力同等重要,要理解其命令背后的运行机制,这样才能在翻车时 及时救场.

  9. mysql使用记录

    1. 报错 10061 将mysql启动即可

  10. 【可视化】Vue基础

    作者 | Jeskson 来源 | 达达前端小酒馆 Vue简介 Vue框架,框架的作者,尤雨溪,组件化,快速开发的特点. 生命周期 beforeCreate:组件刚刚被创建 created:组件创建完 ...