用友软件Java社招面经分享

用友软件

面试过程:

1、描述某个场景中JVM的内存分布,以及内存的分布情况。

2、GC过程中的运行过程,理解过程?

3、什么是jvm[jvm就是Java虚拟机(jdk)]

4、jvm是如何加载class以及处理的过程

1)加载.class文件

2)管理并分配内存

3)执行垃圾收集


5、内存是什么?怎么样分配内存?

答:对象放置堆中,局部变量以及一些数组值的区域 VM栈是线程私有的,每个线程创建的同时都会创建JVM栈,JVM栈中存放的为当前线程中局部基本类型的变量(java中定义的八种基本类型:booleancharbyteshortintlongfloatdouble)、部分的返回结果以及Stack Frame,非基本类型的对象在JVM栈上仅存放一个指向堆上的地址。


6、GC的基本原理?什么时候需要GC?为什么需要GC

答:GC (Garbage Collection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停

1)对新生代的对象的收集称为minor GC

2)对旧生代的对象的收集称为Full GC

3)程序中主动调用System.gc()强制执行的GCFull GC


不同的对象引用类型, GC会采用不同的方法进行回收,JVM对象的引用分为了四种类型:

1)强引用:默认情况下,对象采用的均为强引用(这个对象的实例没有其他对象引用,GC时才会被回收)

2)软引用:软引用是Java中提供的一种比较适合于缓存场景的应用(只有在内存不够用的情况下才会被GC

3)弱引用:在GC时一定会被GC回收

4)虚引用:由于虚引用只是用来得知对象是否被GC


7、问jvm过程分布。#用友##Java工程师##社招##面经#
全部评论
用友你去了吗?
点赞 回复
分享
发布于 2020-06-11 19:02
没学过jvm啥都不会,无所畏惧
点赞 回复
分享
发布于 2020-07-24 01:13
阿里巴巴
校招火热招聘中
官网直投
楼主这是面的啥啊,怎么全是jvm
点赞 回复
分享
发布于 2020-08-15 00:39

相关推荐

3 17 评论
分享
牛客网
牛客企业服务