作者:肥朝

原文链接: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. [TCP/IP] TCP如何保证可靠性

    1.数据包校验,发送方计算校验和,接收方结算校验和,进行对比2.应答机制,seq序列号与ack确认号 3.超时重传机制,发送后启动定时器,进行重传 4.连接管理,三次和四次5.对失序数据包重排序6.流 ...

  2. socket服务

    1.socket_server import socket import threading server = socket.socket(socket.AF_INET, socket.SOCK_ST ...

  3. xposed+justtrustme

    1.xposed下载: https://repo.xposed.info/module/de.robv.android.xposed.installer https://forum.xda-devel ...

  4. 莫烦TensorFlow_01 基本程序结构

    import tensorflow as tf import numpy as np # create data x_data = np.random.rand(100).astype(np.floa ...

  5. JAVA并发-Executor

    结构 类继承图: 上面的各个接口/类的关系和作用: Executor 执行器接口,也是最顶层的抽象核心接口, 分离了任务和任务的执行. ExecutorService 在Executor的基础上提供了 ...

  6. Shiro密码加密

    Shiro密码加密 相关类 org.apache.shiro.authc.credential.CredentialsMatcher org.apache.shiro.authc.credential ...

  7. USACO Spinning Wheels

    洛谷 P2728 纺车的轮子 Spinning Wheels https://www.luogu.org/problemnew/show/P2728 JDOJ 1800: Spinning Wheel ...

  8. LG5200 「USACO2019JAN」Sleepy Cow Sorting 树状数组

    \(\mathrm{Sleepy Cow Sorting}\) 问题描述 LG5200 题解 树状数组. 设\(c[i]\)代表\([1,i]\)中归位数. 显然最终的目的是将整个序列排序为一个上升序 ...

  9. 每天一道Rust-LeetCode(2019-06-10)

    每天一道Rust-LeetCode(2019-06-02) Z 字形变换 坚持每天一道题,刷题学习Rust. 题目描述 https://leetcode-cn.com/problems/simplif ...

  10. OpenVINO 目标检测底层C++代码改写实现(待优化)

    System: Centos7.4 I:OpenVINO 的安装 refer:https://docs.openvinotoolkit.org/latest/_docs_install_guides_ ...