二、jvm内存泄漏 1.堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证GC Roots到对象之间有可达路径来避免垃圾收集回收机制清除这些对象,当这些对象所占空间超过最大堆容量时,就会产生OutOfMemoryError的异常。 新产生的对象最初分配在新生代,新生代满后会进行一次Min ...
分类:
其他好文 时间:
2020-07-10 18:35:00
阅读次数:
68
一、运行时数据区域 JVM 在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。如下图所示: 程序计数器 程序计数器(Program Counte ...
分类:
其他好文 时间:
2020-07-07 00:14:22
阅读次数:
62
以下内容是阅读JVM8的规范时,临时记录下来。如果朋友们发现有什么问题请不吝指正。谢谢。 在JVM8的规范中,是以Runtime Data Area出现的,主要包含两部分: 1.JVM启动时创建,退出时销毁; 2.线程区域,线程启动时创建,退出时销毁。 具体包括以下组成部分: 1.pc regist ...
分类:
其他好文 时间:
2020-07-06 00:48:59
阅读次数:
70
内存结构 程序计数器 虚拟机栈 本地方法栈 堆 方法区 1. 程序计数器 1.1 定义 Program Counter Register 程序计数器(寄存器) 作用,是记住下一条jvm指令的执行地址 特点 是线程私有的 不会存在内存溢出 1.2 作用 0: getstatic #20 // Prin ...
分类:
其他好文 时间:
2020-07-05 00:34:54
阅读次数:
61
1. 运行时数据区架构图 2. 内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的jvm对于内存的划分方式和管理机制存在着部分差异(对于Hotspo ...
分类:
其他好文 时间:
2020-07-02 20:10:59
阅读次数:
55
Java语言与C语言相比,最大的特点是编程人员无需过多的关心Java的内存分配和回收,因为所有这一切,Java的虚拟机都帮我们实现了。JVM的内存管理,大大降低了开发人员对内存管理的要求,也不容易出现C语言中的内存泄漏和溢出。但一旦应用内存发生问题,也会导致程序员难以定位。所以对于Java程序员来说 ...
分类:
编程语言 时间:
2020-06-30 17:35:18
阅读次数:
101
内存溢出以及堆栈溢出 简单认识一下2种内存异常OutOfMemoryError,StackOverflowError 来自JDK Doc的解释: public class OutOfMemoryError extends VirtualMachineError Thrown when the Jav ...
分类:
其他好文 时间:
2020-06-30 10:24:17
阅读次数:
51
包含: 程序计数器 虚拟机栈 本地方法栈 堆 方法区(包含运行时常量池) 直接内存 线程私有:程序计数器,虚拟机栈,本地方法栈线程共享:堆,方法区 程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程执行的字节码行号指示器,JVM 通过改变这个计数器的值,来选取下一条需要执行的字节码指令, ...
分类:
其他好文 时间:
2020-06-29 22:52:57
阅读次数:
62
Java后端开发学习路线 编程基础 Java语言 语言基础 基础语法 面向对象 接口 容器 异常 泛型 反射 注解 I/O 图形化(如Swing) JVM 类加载机制 字节码执行机制 jvm内存模型 GC垃圾回收 jvm性能监控与故障定位 jvm调优 并发/多线程 并发编程基础 线程池 锁 并发容器 ...
分类:
编程语言 时间:
2020-06-28 18:20:44
阅读次数:
123
Linux下修改tomcat9 jvm内存大小: 一.修改配置 1 #要添加在tomcat 的bin 下catalina.sh 里添加 2 JAVA_OPTS="-Xms1024m -Xmx2048m -Xss2048K -XX:PermSize=128m -XX:MaxPermSize=256m" ...
分类:
系统相关 时间:
2020-06-27 20:32:21
阅读次数:
195