阿里巴巴面试题- - -JVM篇(十四)

article/2025/9/3 8:03:46

    前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈

目录

JVM篇

5、说说堆和栈的区别

6、 什么时候会触发FullGC

7、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

JVM篇

5、说说堆和栈的区别

栈是运行时单位,代表着逻辑,内含基本数据类型和堆中对象引用,所在区域连续,没有碎片;堆是存储单位,代表着数据,可被多个栈共享(包括成员中基本数据类型、引用和引用对象),所在区域不连续,会有碎片。

1、功能不同

栈内存用来存储局部变量和方法调用,而堆内存用来存储Java中的对象。无论是成员变量,局部变量,还是类变量,它们指向的对象都存储在堆内存中。

2、共享性不同

栈内存是线程私有的。 堆内存是所有线程共有的。

3、异常错误不同

如果栈内存或者堆内存不足都会抛出异常。 栈空间不足:java.lang.StackOverFlowError。 堆空间不足:java.lang.OutOfMemoryError。

4、空间大小

栈的空间大小远远小于堆的。

6、 什么时候会触发FullGC

除直接调用System.gc外,触发Full GC执行的情况有如下四种。 1. 旧生代空间不足 旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不

足,则抛出如下错误: java.lang.OutOfMemoryError: Java heap space 为避免以上两种状况引起的FullGC,调优时应尽量做到让对象在Minor GC阶段被回收、让对象在新生代多存活一段时间及不要创建过大的对象及数组。

2. Permanet Generation空间满 PermanetGeneration中存放的为一些class的信息等,当系统中要加载的类、反射的类和调用的方法较多时,Permanet Generation可能会被占满,在未配置为采用CMS GC的情况下会执行Full GC。如果经过Full GC仍然回收不了,那么JVM会抛出如下错误信

息: java.lang.OutOfMemoryError: PermGen space 为避免Perm Gen占满造成Full GC现象,可采用的方法为增大Perm Gen空间或转为使用CMS GC。

7、什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。 Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

 本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~


http://chatgpt.dhexx.cn/article/9dZ5xbjE.shtml

相关文章

总结一下软通外派阿里的面试题

前段时间,面了几家大外派到阿里的项目,所以和大家分享一下面试题 上来就是老套路 面试官:说下你们项目的流程 果咩: 巴拉巴拉。。。。 面试官:你们项目如何使用redis高可用的 果咩:可以使用哨兵模式和C…

阿里巴巴一面 :十道经典面试题解析

1. 用到分布式事务嘛?为什么用这种方案,有其他方案嘛? 什么是分布式事务 谈到事务,我们就会想到数据库事务,很容易就想到原子性、一致性、持久性、隔离性。 分布式事务跟数据库事务有点不一样,它是指事务的参与者、支持事务的服务器、资源…

46 道阿里巴巴 Java 面试题,你会几道?

做技术的有一种资历,叫做通过了阿里的面试。 这些阿里 Java 相关问题,都是之前通过不断优秀人才的铺垫总结的,先自己弄懂了再去阿里面试,不然就是去丢脸,被虐。 希望对大家帮助,祝面试成功,有…

最新出炉的阿里巴巴面试题及答案汇总(513页)

前言 秋招已经结束了,不知道各位有没有拿到自己心仪的offer?最近有不少粉丝去阿里巴巴面试了,回来之后我整理成了一份手册java面试时常用到的面试题(附答案)那么今天分享给大家,祝愿大家都能找到满意的工作…

阿里云面试题

转自:https://yq.aliyun.com/articles/6656 今天为大家分享的是《阿里巴巴常考面试题及汇总答案(上篇)》 原文如下: 一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的? 答&…

历年阿里面试题汇总(2017年不断更新中)

Volatile的特征: A、禁止指令重排(有例外) B、可见性 Volatile的内存语义: 当写一个volatile变量时,JMM会把线程对应的本地内存中的共享变量值刷新到主内存。 当读一个volatile变量时,JMM会把线程对应的…

iOS-阿里面试题

先把这个几个面试写出来,各位看官可以试着去网上找找答案。 这些是《蚂蚁金服》的面试题 问题缩减如下: 1:在KVO中,他是怎么知道监听的对象发生了变化? 2:字典的工作原理 ?怎100w个中是怎么快…

最全阿里面试题:已拿offer,阿里P8岗位完整阿里技术面试题目,这些面试题你能答出多少

我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。如 何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是 影响数据库并发访问性能的一个重要因素&#…

阿里 90 道常问面试题及答案(软件测试岗位)

目录 1、问:你在测试中发现了一个 bug,但是开发经理认为这不是一个 bug,你应该怎样解决? 2、问:给你一个网站,你如何测试? 3、在搜索引擎中输入汉字就可以解析到对应的域名,请问如…

阿里面试题及答案

一面 1、自我介绍下自己,不超过3分钟(实际上我的自我介绍不到一分钟) 2、你感觉比本科阶段自己进步了多少,有哪些进步 3、研究生期间最大的进步是什么 4、你觉得你适合从事哪个方向的开发 5、synchronized与lock的区别&#xff0…

最新阿里高级Java面试题(首发,70道,带详细答案)

阿里巴巴 整理的70道阿里的Java面试题,都来挑战一下,看看自己有多厉害。下面题目都带超详细的解答,详情见底部。 1、java事件机制包括哪三个部分?分别介绍。 2、为什么要使用线程池? 3、线程池有什么作用? …

阿里面试官内部题库,阿里发布2022年Java岗(正式版)面试题

阿里巴巴2022年Java架构师岗面试题(正式版) 这不马上就是金三银四的面试跳槽季了嘛,小编也是通过一些小手段为大家拿到了一份阿里巴巴2022年Java架构师岗面试题(正式版)现在分享给大家,这份资料也是阿里面试…

vue打包找不到js或css文件

修改vue.config.js文件中的publicPath 把 / 改成 ./

Vue打包优化篇-CDN加速

优化原因 在没有使用cdn加速之前打包后数据如下,可以看出element-ui、vue、vuex、vue-router这些依赖都打进chunk-vendors.js中导致体积很大,假设再来很多依赖项是不是更大,同时也会影响单页面应用首屏加载速度,所以这里采用一种打…

vue打包后dist的使用

发现问题 vue项目完成打包出dist后准备打开index.html,发现居然页面是一片空白,f12一片报红。 分析问题 经过多次网上查询后发现这是由于vue打包时,脚手架会帮你配置好大量参数,但其中路径publicPath被配置为了"/",需…

vue打包的文件加上版本号

为什么要加版本号?因为有时候打包文件部署上线后发现线上没更新,原因是因为线上环境有缓存,故加上版本号可解决此问题! 在vue.config.js配置: 输出文件名js文件增加版本号: output: {filename: js/[name]…

解决vue打包后去掉console

方法一:使用插件 babel-plugin-transform-remove-console npm install babel-plugin-transform-remove-console --save-dev 安装插件生产环境:在项目的babel.config.js的plugin中添加节点。 let transformRemoveConsolePlugin [];if (process.env.N…

Vue打包路径配置

1. 配置文件 module.exports {// ......// 相对路径都是相对于index.js所在的目录config开始的build: {// index,assetsRoot两个路径基本不用改动,只是用于文件打包存放的路径// index.html的路径index: path.resolve(__dirname, ../dist/index.html),// js,css,f…

Vue打包并发布项目

一、 打包vue项目步骤: 1、对当前vue项目进行打包的命令如下: npm run build2、打包完成,会输出Build complete并且在vue项目中会生成一个名字为dist的打包文件。如下图: 二、 使用静态服务器工具包发布打包的vue项目 1、首先…

vue打包后static中的文件未打包进去

在vue中未使用到的静态资源文件,例如:引用在index.html的js的(此处不知为何,vue打包认为其为未引用),后端返回才引用到的图片等文件。 目前只涉及到此两类,后续再补充。 打包时static中的文件…