两道JVM面试题,竟让我回忆起了中学时代!


作者:肥朝
原文链接: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的Xms和Xmx一般设置成_____比例。原因是____________。
选择题
我们常设置的JVM参数Xms和Xmx,属于下列哪种类型的JVM参数?
A.标配参数
B.X参数
C.XX参数
D.以上均不是
解答
大家看这两道题,是不是有中学试卷的味道?上课教的东西,到了考试就全变样了,美名为教材内容考点变形,变形可以,可这都变得面目全非了啊!高三的时候,老师告诉我们,每年高考题他都全部命中。那一刻,我以为清华北大稳了,都准备要发朋友圈装逼了!

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

言归正传,那么我们来解答一下这两道题。
1.Xms和Xmx一般设置成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面试题,竟让我回忆起了中学时代!的更多相关文章
- 两道sql面试题
两道sql面试题: 1. 数据库表A的数据如下: year quarter 2001 1 2001 ...
- (转)关于inode和block的两道企业面试题
关于inode和block的两道企业面试题 原文:http://www.tk4479.net/xiaolong361/article/details/52373374 一.一个100M的磁盘分区,分别 ...
- 转://云和恩墨的两道Oracle面试题
真题1. 对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? 答案:首先对于查询结果而言,二者没有任何区别.从这一点上讲无论是指定大于3还是指定大 ...
- 两道Java面试题!
body { font-family: 微软雅黑; font-size: 14px; line-height: 2; } html, body { color: inherit; background ...
- 十八道JVM面试题总汇(附解析)
一.Java 类加载过程? Java 类加载需要经历以下7 个过程: 1. 加载 加载是类加载的第一个过程,在这个阶段,将完成以下三件事情: • 通过一个类的全限定名获取该类的二进制流. • 将该二进 ...
- 面试你能搞懂JVM了吗,快看看这20道JVM面试题
1.内存模型以及分区,需要详细到每个区放什么?2.堆里面的分区:Eden,survival (from+ to),老年代,各自的特点?3.对象创建方法,对象的内存分配,对象的访问定位?4.GC 的两种 ...
- 2020年最新78道JVM面试题总结(含答案解析和思维导图)
前言 关于JVM系列面试知识点总结了一个思维导图,分享给大家 1.java中会存在内存泄漏吗,请简单描述. 会.自己实现堆载的数据结构时有可能会出现内存泄露. 2.64 位 JVM 中,int 的长度 ...
- 两道面试题,带你解析Java类加载机制
文章首发于[博客园-陈树义],点击跳转到原文<两道面试题,带你解析Java类加载机制> 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Gr ...
- 【转】两道面试题,带你解析Java类加载机制(类初始化方法 和 对象初始化方法)
本文转自 https://www.cnblogs.com/chanshuyi/p/the_java_class_load_mechamism.html 关键语句 我们只知道有一个构造方法,但实际上Ja ...
随机推荐
- python cookie登录DVWA,phpstudy搭建DVWA参考https://www.jianshu.com/p/97d874548300
import requestsheader={"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleW ...
- 【OI备忘录】dalao博文收藏夹
[dalao学习笔记总览] [数学] 数论分块:数论分块 矩阵树定理Matrix_Tree:矩阵树Matrix-Tree定理与行列式 杨氏矩阵:杨氏矩阵和钩子公式 Hall定理:Hall定理学习小记 ...
- 代码审计-ereg正则%00截断
<?php $flag = "xxx"; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9]+$&qu ...
- VSCode变换python的调试解释器
假如一个电脑上有多个Python的环境,想要设置不同的python解释器用于调试. VSCode 的设置,是通过.json的文本来配置的.打开文本的方式: 打开后的文件如下所示: 可以试试“new s ...
- Urllib 库使用
什么是Urllib Urllib是python内置的HTTP请求库包括以下模块urllib.request 请求模块 -->用来模拟发送请求 类似于输入网址敲击回车的过程urllib.er ...
- 第四章、Go-面向“对象”
4.1.结构体和方法 (1)go语言的面向对象 go仅支持封装,不支持继承和多态 go语言没有class,只有struct (2)struct的创建 package main import " ...
- [LeetCode] 7. Reverse Integer 翻转整数
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- 10.24考试题解qwq
考点难度都很合适的一套题目,大概在day1到day2之前 T1 猴猴最喜欢在树上玩耍,一天猴猴又跳上了一棵树,这棵树有N个苹果,每个苹果有一个编号,分别为0~N-1,它们之间由N-1个树枝相连,猴猴可 ...
- [LeetCode] 908. Smallest Range I 最小区间
Given an array A of integers, for each integer A[i] we may choose any x with -K <= x <= K, and ...
- SVN全局文件过滤规则设置
*/packages */packages/* */.vs/* */.vs */.git/* */.git *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a ...