jvm
文章平均质量分 92
以java jvm内存模型为内容
zetaBiu!
全给我 肝!!
展开
-
jvm堆 笔记4
本地方法库 native Method 一个java调用非java代码的接口。没有方法实现体 存在原因 java应用需要与外部环境交互 与操作系统交互 通过本地方法 用java实现java实现了 jre 的与底层系统的交互 sun解释器 用c实现 本地方法栈 管理本地方法的调用 1. 线程私有 2. 允许被实现成 固定 或动态 权限不受虚拟机控制 本地方法可以通过本地方法接口 来访问虚拟机内部的运行时数据区 使用本地处理器中的寄存器 直接从本地内存的多种分配任意数量的内存 堆 一个jvm实例只有一原创 2020-11-16 17:16:49 · 66 阅读 · 0 评论 -
jvm方法区 笔记5
方法区 交互关系 方法区的理解 线程共享 内存可以不连续 方法区大小可以设置固定或者扩展 方法区溢出 java.lang.OutOfMemoryError:Metaspace 加载大量第三方jar tomcat不是工程过多 动态生成反射类 设置方法区大小与oom -XX:PermSize jdk7 默认20.75M -XX:MaxPermSize 32位最大64M,64 最大82M -XX:MetaspaceSize jdk8 21M -XX:MaxMetaspaceSize 没有限制 -1原创 2020-11-16 17:11:09 · 86 阅读 · 0 评论 -
jvm虚拟机栈 笔记3
内存 每个线程:独立包括程序计数器,栈、本地栈 线程间共享:堆、堆外内存 每个jvm只有一个runtime 运行时环境 线程 一个程序里的运行单元 jvm允许多线程并行 在hotspot jvm里每个线程都与操作系统本地线程直接映射 虚拟机线程 周期任务线程 GC线程 编译线程 字节码编译成本地代码 信号调度线程 program counter register jvm中的pc寄存器是对物理pc寄存器的抽象模拟 用来存储指向下一条指令的地址 任何时间一个线程只有一个方法在执行 程序计数器会村粗当前原创 2020-11-01 21:06:36 · 132 阅读 · 0 评论 -
jvm类加载机制 笔记2
类加载器 负责从文件系统或者网络中加载class文件,class文件在文件开头有特定的文件标识,加载的类信息存放于一块称为方法区的内存空间,还会存放运行时的常量池信息 class file加载到jvm中,被称为dna元数据模板,放在方法区中 加载器扮演一个快递员角色 加载过程 加载 通过一个类的全限定名获取定义此类的二进制字节流 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构 在内存中生成一个代表这个类的java.lang.Class 对象,作为这个方法去这个类的各种数据的访问接口 链接原创 2020-10-29 21:23:59 · 200 阅读 · 1 评论 -
jvm 概念整理1
虚拟机 virtual machine 虚拟计算机 ,分为系统虚拟机和程序虚拟机 visual Box ,VMare java虚拟机 专门为执行单个计算机程序而设计, 调优目的 减少gc full gc java 虚拟机 拥有独立运行的机制,二进制的运行环境 java 平台上的多语言混合编程 特点 一次编译 处处运行 自动内存管理 自动垃圾回收 栈(线程) 局部变量 一个方法对应一个栈帧内存区域 运行时数据内存模型 方法区 () 常量 对象指向堆 静态变量 类信息 堆 对象 区域 8 1 1 e原创 2020-10-29 21:27:03 · 144 阅读 · 0 评论