![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java虚拟机
@龙猫
写代码是每天最重要的小事
展开
-
JVM虚拟机参数配置详解
JVM虚拟机参数配置官方文档http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.htmlhttp://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html原创 2021-10-27 17:36:42 · 162 阅读 · 0 评论 -
JVM面试终结篇
1、运行时数据区域堆对象实例、数组-Xms表示堆初始大小-Xmx表示堆最大大小逻辑上连续,线程共享,虚拟机启动时创建,最大没有内存完成实例分配,且无法扩展,OOM方法区(元空间)存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存被线程共享,不会频繁GC实现:jdk7把静态变量和字符串常量池移到堆中,jdk8移除永久代,把方法区移致元空间,它位于本地内存。注意:JDk6、JDk7方法区即PermGen(永久代),JDK8方法区就是MetaSpace(元空间).原创 2021-10-27 11:24:45 · 107 阅读 · 0 评论 -
JVM调优之逃逸分析
是不是所有的对象和数组都会在堆内存分配空间?逃逸分析(Escapse Analysis)是目前虚拟机中比较前沿的优化技术。之所以称为优化技术,他并不是一种直接优化代码的手段,而是穿插与其他优化技术之中,为其他优化技术提供分析技术1.概述在讨论逃逸分析之前,我们先举一个生活中的例子——交通肇事逃逸。说道这个词,大家就熟悉多了,机动车驾驶员在发生交通事故的同时,擅自逃离事故现场,使交通事故所引起的民事、刑事、行政责任无法确定,其目的在于推卸、逃脱责任的行为。也就是说,逃逸就是擅自离开规定的范围。而对于Ja原创 2020-05-16 13:48:46 · 2424 阅读 · 2 评论 -
深入理解java虚拟机
深入理解java虚拟机(一)、Java运行时数据区域和Java内存模型(JMM)程序计数器Java虚拟机栈1. 局部变量表2. 操作栈3. 动态链接4.方法返回地址(return Address)本地方法栈Java堆方法区运行时常量池直接内存Java内存模型JVM主内存与工作内存重排序和happens-before规则volatile关键字(二)、Java垃圾收集和内存分配策略如何确定某个对象是“...原创 2020-04-05 11:59:24 · 3893 阅读 · 0 评论