用友软件 面试过程: 1、描述某个场景中JVM的内存分布,以及内存的分布情况。 2、GC过程中的运行过程,理解过程? 3、什么是jvm?[jvm就是Java虚拟机(jdk)] 4、jvm是如何加载class以及处理的过程  (1)加载.class文件  (2)管理并分配内存  (3)执行垃圾收集 5、内存是什么?怎么样分配内存?  答:对象放置堆中,局部变量以及一些数组值的区域 VM栈是线程私有的,每个线程创建的同时都会创建JVM栈,JVM栈中存放的为当前线程中局部基本类型的变量(java中定义的八种基本类型:boolean、char、byte、short、int、long、float、double)、部分的返回结果以及Stack Frame,非基本类型的对象在JVM栈上仅存放一个指向堆上的地址。 6、GC的基本原理?什么时候需要GC?为什么需要GC?  答:GC (Garbage Collection)的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、旧生代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停  (1)对新生代的对象的收集称为minor GC;  (2)对旧生代的对象的收集称为Full GC;  (3)程序中主动调用System.gc()强制执行的GC为Full GC。  不同的对象引用类型, GC会采用不同的方法进行回收,JVM对象的引用分为了四种类型:  (1)强引用:默认情况下,对象采用的均为强引用(这个对象的实例没有其他对象引用,GC时才会被回收)  (2)软引用:软引用是Java中提供的一种比较适合于缓存场景的应用(只有在内存不够用的情况下才会被GC)  (3)弱引用:在GC时一定会被GC回收  (4)虚引用:由于虚引用只是用来得知对象是否被GC 7、问jvm过程分布。
点赞 4
评论 3
全部评论

相关推荐

爱写代码的菜code...:哎,自己当时拿到字节offer的时候也在感叹终于拿到了,自己当时最想去的企业就是字节,结果还是阴差阳错去了鹅厂。祝uu一切顺利!!!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务