作者:肥朝

原文链接: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. 一个简单servlet容器

    一个简单servlet容器 2.1 javax.servlet.Servlet接口 Servlet编程需要使用javax.servlet和javax.servlet.http两个包下的接口和类 在所有 ...

  2. 深入解读Linux进程调度Schedule【转】

    转自:https://blog.csdn.net/Vince_/article/details/88982802 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文 ...

  3. python 模块、包

    #-----模块.包----- 模块: 一个.py 文件就称之为模块模块好处:1.提高代码可读性 2.编写代码不需要从零开始 python 模块: 1.python标准库 2.第三方模块 3.应用程序 ...

  4. 爬虫---Beautiful Soup 爬取图片

    上一篇简单的介绍Beautiful Soup 的基本用法,这一篇写下如何爬取网站上的图片,并保存下来 爬取图片 1.找到一个福利网站:http://www.xiaohuar.com/list-1-1. ...

  5. reduce计算数组中每个元素出现的次数 数组去重的几种方式 将多维数组转化为一维

    // js计算数组中每个元素出现的次数 // var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice']; // var countedNames = ...

  6. Ubuntu下搭建Kubernetes集群(3)--k8s部署

    1. 关闭swap并关闭防火墙 首先,我们需要先关闭swap和防火墙,否则在安装Kubernetes时会导致不成功: # 临时关闭 swapoff -a # 编辑/etc/fstab,注释掉包含swa ...

  7. 进化后的const分析

    C语言中的const const修饰的变量是只读的,本质还是变量 const修饰的局部变量在栈上分配空间 const修饰的全局变量在只读存储区分配空间 const只在编译期有用,在运行期无用 注意:c ...

  8. explain慢SQL分析解释

    使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是 如何处理你的SQL语句的.分析你的查询语句或是表结构的性能瓶颈. 使用方式:Explain+SQL语句 执行计划包含的信 ...

  9. B1038 统计同成绩学生 (20 分)

    #include<iostream> #include<cstring> using namespace std; const int maxn = 10010; int sc ...

  10. MySQL实战45讲学习笔记:第六讲

    一.今日内容概要 今天我要跟你聊聊 MySQL 的锁.数据库锁设计的初衷是处理并发问题.作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则.而锁就是用来实现这些访问规则的重 ...