Jvm优化 了解下我们为什么要学习 JVM优化 掌握 jvm的运行参数以及参数的设置 掌握 jvm的内存模型(堆内存) 掌握 jamp命令的使用以及通过MAT工具进行分析 掌握定位分析内存溢出的方法 为什么要学习JVM优化 JVM被称为Java虚拟机,所有Java程序的运行都依赖于JVM 1.应用运 ...
分类:
其他好文 时间:
2020-03-03 20:31:35
阅读次数:
87
一、jdk1.7的堆内存模型 1、Young 年轻区(代) Young区被划分为三部分,Eden区和两个大小严格相同的Survivor区,其中,Survivor区间中,某一时刻只有其中一个是被使用的,另外一个留做垃圾收集时复制对象用,在Eden区间变满的时候, GC就会将存活的对象移到空闲的Surv ...
分类:
其他好文 时间:
2020-03-03 17:46:45
阅读次数:
97
[toc] JVM的内存结构一般指Java的运行时数据区: 由方法区,堆区,虚拟机栈,程序计数器和本地方法栈组成。下面我们依次介绍这5部分。 1.程序计数器(Program Counter Register) 程序计数器:记录下一条要执行的JVM指令的执行地址,字节码解释器工作时就是通过改变程序计数 ...
分类:
其他好文 时间:
2020-02-19 17:34:45
阅读次数:
77
VM 中文名java虚拟机,是用来运行java程序的一个平台,这篇文章 主要讲述 JVM的内存模型。 首先JVM将内存划分为了5大块,如下图所示: JVM内存模型 这5大块可以分为 两大类,分别是 线程私有的,和 线程共享的 线程私有的 虚拟机栈,本地方法栈,程序计数器 这块区域的数据是每个线程私有 ...
分类:
其他好文 时间:
2020-02-12 18:04:33
阅读次数:
52
1.java内存模型是什么? java内存模型即Java Memory Model,简称JMM,其规范了Java虚拟机与计算机内存时如何协同工作的,规定了一个线程如何和何时看到其他线程修改过的值,以及在必须时,如何同步访问共享变量。 2.JVM的内存分配 在解释Java内存模型之前,我们先了解下JV ...
分类:
编程语言 时间:
2020-02-03 13:42:10
阅读次数:
93
堆结构分代图 堆结构分代的意义 Java虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代、老年代和永久代(对HotSpot虚拟机而言),这就是JVM的内存分代策略。 堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实例都存放在堆内存中。给堆内存分 ...
分类:
其他好文 时间:
2020-01-20 14:48:57
阅读次数:
78
Redis分布式锁 一丶什么是分布式锁 普通的锁,用于同一进程内不同线程在操作同一资源时,为解决冲突而加上的,使得多线程在操作统一资源时以单线程顺序执行. JVM的内存模型: 主内存保存变量值, 每个线程内也有自己的内存, 一般情况下, 线程会在本内存中操作数据后,在刷入主内存, 如果多个线程都同时 ...
分类:
其他好文 时间:
2020-01-04 16:23:51
阅读次数:
109
Javaweb面试题想要更多面试题和学习资料的可以私聊联系我,大家一起交流学习!1、Tomcat的优化经验答:去掉对web.xml的监视,把jsp提前编辑成Servlet。有富余物理内存的情况,加大tomcat使用的jvm的内存2、HTTP请求的GET与POST方式的区别答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.
分类:
编程语言 时间:
2019-12-18 10:57:11
阅读次数:
114
最近想整理一下GC相关的知识和经验,在整理之前下决心先整理一下jvm的内存结构,后续会持续更新。 jvm内存结构重要由两部分组成:线程共享区域与线程私有区域,如下图所示: 其中方法区和堆为线程共享区域,栈与程序计数器为线程私有区域。与操作系统定义的堆栈类似,栈用来存储方法调用时产生的临时变量以及寄存 ...
分类:
其他好文 时间:
2019-12-03 19:57:09
阅读次数:
75
第一部分:面试题 本篇文章我们将尝试回答以下问题: 1. 描述一下jvm的内存结构 2. 描述一下jvm的内存模型 3. 谈一下你对常量池的理解 4. 什么情况下会发生栈内存溢出?和内存溢出有什么不同? 5. String str = new String(“abc”)创建了多少个实例? 第二部分: ...
分类:
其他好文 时间:
2019-12-01 21:15:57
阅读次数:
111