![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java虚拟机
文章平均质量分 94
MrDeng886
这个作者很懒,什么都没留下…
展开
-
java虚拟机面经总结
大纲虚拟机栈和本地方法栈的区别?垃圾回收算法知道哪些,CMS 说一下,并发标记阶段处理速度慢的原因可能是什么。怎么进行优化?java虚拟机有哪些分区?请简单描述一下类的加载过程?还有CMS采用哪种回收算法?使用CMS怎样解决内存碎片的问题呢?如何判断对象已死?介绍一下引用?发生Young GC的时候需要扫描老年代的对象吗?虚拟机栈和本地方法栈的区别?简单的来说,虚拟机栈是为虚拟机执行字节码指令(java方法)服务,而本地方法栈是为了虚拟机执行本地native方法而服务。垃圾回收算法知道哪些,CMS 说原创 2021-11-08 21:51:48 · 2174 阅读 · 1 评论 -
OutOfMemoryError(OOM)和StackOverflowError(SOF)异常总结
大纲Java虚拟机运行时数据区会发生OOM和SOF异常的内存区域堆虚拟机栈本地方法栈方法区本机直接内存Java虚拟机运行时数据区OOM和SOF都是内存溢出异常,与java内存区域的关系密不可分,所以要先了解java各个内存区域会发生OOM和SOF异常的内存区域首先明确的是,程序计数器是在《java虚拟机规范中》唯一一个没有规定任何OutOfMemoryError情况的内存区域,像其它方法区、虚拟机栈、本地方法栈、堆都有可能会抛出OOM和SOF异常。下面会对各个内存区域进行细说。堆 堆是jav原创 2021-11-03 13:57:16 · 1294 阅读 · 3 评论 -
java虚拟机系列:深入理解Java类加载机制
大纲前言类加载机制类加载器双亲委派机制为什么要使用双亲委派机制?分析ClassLoaderloadClass()findClass()defineClass(String name, byte[] b, int off, int len)resolveClass(Class<?> c)自定义类加载器通过继承URLClassLoader来实现自定义类加载器URLClassLoaderfindClass()Launcher类getExtClassLoader()createExtClassLoad原创 2021-11-02 14:42:04 · 384 阅读 · 3 评论 -
类文件结构(java虚拟机系列:一文明解 .class 文件)
一次编写,到处运行,.class文件功不可没 java在刚刚诞生的时候有一个很著名的口号,叫做"write once,run anywhere"(一次编写,到处运行),这句话体现了java语言跨平台的特性,但在先前就没有跨平台的语言了吗?答案是否定的。在c语言里也有一句话叫做"一次编写,到处编译",也就是说编写了c语言的源文件,然后拿到不同操作系统分别进行编译,再运行,看起来也是跨平台的,但这必须有一个前提,就是c语言源文件中使用的都必须是标准的类库,而因为c语言标准类库中实现的接口很少 ,所以各个系统原创 2021-10-30 13:30:43 · 227 阅读 · 2 评论