JVM面试总结
2018-06-18 00:55:40来源:未知 阅读 ()
1. Java虚拟机的内存布局(运行时数据区)
参考:https://www.cnblogs.com/lostyears/articles/8984171.html
2. GC算法及几种垃圾收集器
对象生存判断算法有两种:引用计数法 和 可达性分析算法
垃圾收集算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法
垃圾收集器:
收集器 | 算法 |
Serial | 复制算法(单线程) |
ParNew | 复制算法(多线程) |
Parallel Scavenge | 复制算法(多线程)吞吐量高 |
Serial Old | 标记-整理算法(单线程) |
Parallnel Old | 标记-整理(多线程) |
CMS | 标记-清除(并发) 最短回收停顿时间 |
G1 | 标记-整理 |
参考:https://www.cnblogs.com/lostyears/articles/8989455.html
3.如何理解双亲委派模型及为什么要使用这种机制
从Java虚拟机的角度来说,有两种不同的类加载器:启动类加载器和其它类加载器。
它的好处可以用一句话总结,即防止内存中出现多份同样的字节码。
参考:https://www.cnblogs.com/lostyears/articles/9015864.html
4.Java内存模型及happens-before规则/volatile关键字
JVM定义了一组规则,通过这组规则来决定一个线程对共享变量的写入何时对另一个线程可见,这组规则也称为Java内存模型(即JMM),JMM是围绕着程序执行的原子性、有序性、可见性展开的,下面我们看看这三个特性。
happens-before 原则是用来来辅助保证程序执行的原子性、可见性以及有序性的问题。
volatile是Java虚拟机提供的轻量级的同步机制,保证被volatile修饰的共享变量对所有线程总数可见的,禁止指令重排序优化。
参考:https://blog.csdn.net/javazejian/article/details/72772461
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Nginx 入门学习教程
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- JVM常见面试题解析 2020-06-11
- 作为一个面试官,我想问问你Redis分布式锁怎么搞? 2020-06-10
- 送你一份年薪百万的抖音Java岗内部面试题 2020-06-09
- 一口气说出 6种 延时队列的实现方案,面试稳稳的 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash