Java虚拟机
文章平均质量分 91
mrRuby
这个作者很懒,什么都没留下…
展开
-
了解JVM的内存管理机制
一、前言在前面的章节了解了class的文件结构和类加载机制,所有的这些数据都是运行在内存中,因此接下来需要了解JVM的内存管理机制。二、运行时内存区域划分JVM在运行的时候,把自己所管理的内存分为若干区域,每个区域有各自的功能。从线程的角度出发,分为共享内存区域和私有内存区域线程私有内存区域,包括以下三块程序计数器java虚拟机栈本地方法栈共享内存区域堆:对象实例(GC新生代、老年代)方法区(类信息、常量、静态变量、及时编译后的代码等)运行时常量池(字面量、符号引用)原创 2021-01-05 19:00:01 · 183 阅读 · 0 评论 -
了解Class文件结构和虚拟机的类加载机制
一、了解Class文件的结构规范Java虚拟机不和包括Java在内的任何语言绑定,它只与“Class文件”这种特定的二进制文件格式管理。我们的java虚拟机只识别符合它规范的Class文件,因此在了解JVM其他的相关知识点的时候,我们需要先了解Class文件的结构规范。Class文件以一组8位字节为基础单位的二进制流,各个数据项严格按照顺序紧凑的排列在Class文件中,中间没有添加任何分隔符。Class文件个采用伪结构来存储数据,两种数据类型:无符号数和表。无符号数:属于基本的数据类型,已u1、u原创 2021-01-05 18:57:43 · 208 阅读 · 4 评论 -
JVM运行时数据区域
概述Java将内存控制的权力交给Java虚拟机,它自动帮我们分配内存和释放内存。不像C、C++开发语言,需要程序员为每个new对象去写配对的delete/free代码。一旦JVM中出现了内存泄漏和内存溢出,如果不了解JVM如何使用内存,那么对排查错误将是一项异常艰难的工作。同时无限制或者不合理的new一些对象,会出现一些内存抖动,因而影响体验和性能。因此了解JVM的内存分配机制,有助于写出高性能...原创 2019-12-30 23:51:35 · 138 阅读 · 0 评论