首页 > 其他分享 >jvm面试常问

jvm面试常问

时间:2023-03-23 13:44:14浏览次数:51  
标签:文件 常问 面试 Xmx jvm 大小 JAVA 日志

1 设置jvm内存大小xmx, xms, Xss

-Xss:规定了每个线程虚拟机栈及堆栈的大小,一般情况下,256k是足够的,此配置将会影响此进程中并发线程数的大小。

-Xms:表示初始化JAVA堆的大小及该进程刚创建出来的时候,他的专属JAVA堆的大小,一旦对象容量超过了JAVA堆的初始容量,JAVA堆将会自动扩容到-Xmx大小。

-Xmx:表示java堆可以扩展到的最大值,在很多情况下,通常将-Xms和-Xmx设置成一样的,因为当堆不够用而发生扩容时,会发生内存抖动影响程序运行时的稳定性

示例,由于处理inc*99c文件时, 文件大小两百多M, 而jvm中实际内存设置的比较小,需要获取文件尾行数据, 代码中是一次性获取文件流进来的,所以超过了报oom

解决方案设置xmx和xms, 以及通过重置流去获取文件尾行数据

2. jdk自带的visualvm可视化性能监控工具

示例: 当时解析authlog文件时, 由于文件有2个G,解析耗时半个小时,通过查看visualvm监控工具,发现日志打印类比较耗时,

因为代码中每次执行打印则会通过发射去创建日志对象,通过优化, 改成全局静态的去创建日志; 

3 通过jmap , jstack命令去

标签:文件,常问,面试,Xmx,jvm,大小,JAVA,日志
From: https://www.cnblogs.com/ladeng19/p/17247181.html

相关文章

  • 面试题4
    在面试Netty时,面试官可能会问以下问题:Netty是什么?它的主要特点是什么?Netty支持哪些传输协议?你最熟悉哪种协议?Netty的线程模型是什么?它的优点是什么?Netty的ByteB......
  • #yyds干货盘点# LeetCode程序员面试金典:最长单词
    题目:给定一组单词words,编写一个程序,找出其中的最长单词,且该单词由这组单词中的其他单词组合而成。若有多个长度相同的结果,返回其中字典序最小的一项,若没有符合要求的单词则......
  • #yyds干货盘点# LeetCode面试题:合并区间
    1.简述:以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入......
  • 前端面试题整理(都是我自己面试被问到过的)
    面试了好多次,整理下面试题吧HTML语义化:增加代码可读性,有利于搜索引擎识别,爬虫获取更多信息;更好的展示代码结构script标签中defer和async的区别:相同点:async和defer......
  • 面试笔记——计算机网络
    原文链接:javaguide常见面试题OSI和TCP/IP网络分层模型OSI七层模型OSI七层模型是国际标准化组织提出一个网络分层模型,其大体结构以及每一层提供的功能如下图所示:......
  • Version 1.5.0_07 of the JVM is not suitable for this product. Version: 1.6 or gr
    在今天启动Eclipse的时候遇到一个Version1.5.0_07oftheJVMisnotsuitableforthisproduct.Version:1.6orgreaterisrequired.的错误,我尝试着到eclipse安装路......
  • 128道高频k8s高频面试题
    1、简述ETCD及其特点?2、简述ETCD适应的场景?3、简述什么是Kubernetes?4、简述Kubernetes和Docker的关系?5、简述Kubernetes中什么是Minikube、Kubectl、Kubelet?6、......
  • 前端面试题(new)未完待续
    1,vue计算属性computed和watch的区别有哪些?区别:1、计算属性在调用时需要在模板中渲染,修改计算所依赖元数据;watch在调用时只需修改元数据。2、计算属性默认深度依赖,watch默......
  • Java面试问题
    1、面向对象的特征有哪些方面?答:抽象、继承、封装、多态。1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对......
  • 面试官:@Configuration 和 @Component 的区别
     一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。理解:调用@Configuration类中的@Bean注......