JVM体系结构

JVM体系结构

Java虚拟机主要分为五大模块:

  • 类装载器子系统
  • 运行时数据区
  • 执行引擎
  • 本地方法接口
  • 垃圾收集模块
  • 在这里插入图片描述1、JVM一共分为五个区,分别为方法区、堆、Java栈、本地方法栈、程序计  2、方法区、堆为线程共享区域,GC会对二个区进行垃圾回收;
  •   3、Java栈、本地方法栈、程序计数器为线程私有区域;

      4、程序计数器:程序计数器是一块较小的内存空间,是当前线程所执行的字节码的行号指示器•程序计算器处于线程独占区•如果线程执行的是java方法,记录的是正在执行的虚拟机字节 码指令的地址,如果是native方法,这个计数器值为undefined;

      5、Java栈:栈也叫栈内存,主管Java程序的运行,是在线程创建时 创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就Over,生命周期和线程一致,是线程私有的。8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存中分配,栈里有栈帧,有返回对象、本地变量表、操作数栈、动态连接。

      6、本地方法栈:它的具体做法是NativeMethod Stack中登记native方法,在ExecutionEngine执行时加载本地方法库;

      7、方法区:方法区是被所有线程共享,所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也在此定义。简单说,所有定 义的方法的信息都保存在该区域,此区属于共享区间


    方法区是一种特殊的堆,栈里面不会有垃圾,用完就弹出了,否则阻塞了main方法吗,垃圾几乎都在堆里,所以JVM性能调优%99都针对于堆

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

找数据?这几个数据源网站就够用了?

来源:经管学苑转自:经管学苑大家好,我是小z在这个用数据说话的时代,能够打动人的往往是用数据说话的理性分析,无论是对于混迹职场的小年轻,还是需要数据进行分析和研究的同学,能够找到合适的数据…

solaris11-text-安装GUI(gnome)

http://blog.chinaunix.net/xmlrpc.php?rblog/article&uid45057&id3018467 1.下载所需的资源Text Installer CDRepository Image(a,b)http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html2.用text CD安装solaris11安装那是相当的快呀&a…

java replaceall 大小写_Java replaceAll不区分大小写

Java 中replaceAll如何忽略大小写呢?方式一:在正则表达式前面添加(?i)Testpublic void test_replaceAll33(){String input "I like Java,jAva is very easy and jaVa is so popular.";String replacement"cccc";System.out.println(input);System.out.p…

jdk环境变量配置_jmeter及jdk的环境变量配置

jmeter是apache公司基于java开发的一款开源压力测试工具,其内部原理都是源于java的运行,并支持多种外部插件用于接口及性能测试,最主要的还是开源免费,在安装jmeter前必须配置jdk环境。jdk下载地址:https://www.oracle…

jvm是运行在操作系统之上的,他和硬件没有直接的交互

jvm是运行在操作系统之上的,他和硬件没有直接的交互

SQL语言基础:触发器相关知识介绍​

1、触发器 Trigger介绍触发器可以实现完整性规则和保证一些复杂业务规则的实施。针对示警或满足特定 条件下自动执行某项任务来说,触发器是十分有用的机制。触发器是由事件1驱动的特殊过程,一旦由某个用户定义,任何用户对该触发器指定的数据新…

java struts2值栈ognl_Struts2的值栈和OGNL牛逼啊

Struts2的值栈和OGNL牛逼啊一 值栈简介:值栈是对应每个请求对象的一套内存数据的封装,Struts2会给每个请求创建一个新的值栈,值栈能够线程安全的为每个请求提供公共的数据存取服务。二 OGNL介绍:(1)基本数据:OGNL 是对…

还在用 Notepad++吗? 盘点五款更好用的文本编辑器

来自:oschina.net/news/110987/no-notepad-plus-plus | 责编:乐乐正文 Notepad 一直饱受争议,2018年开始然后引发了大家的关注,这里师长作为技术媒体,不方便带啥节奏,具体事件内容请大家自行百度。其实作…

SQL语言:嵌入式SQL知识笔记

1、概念SQL提供了将SQL语句嵌入到某种高级语言中的使用方式,通常采用预编译的方法将SQL语句嵌入高级语言中。采用的方法由DBMS的预处理程序对源程序进行扫码、识别出SQL语句,把它们转换为主语言调用语句,这样可以让主语言编译程序能识别它&am…

Mysql bat脚本编写_第一次编写bat脚本

** 前言 **今天中午在宿舍不想做什么事,于是想到傻怡的电脑太卡了,多方面原因造成的,多软件安装于系统盘、安装了没用的杀毒软件等等,但是对于windows系统来说呢,使用时间长了,会有很多的缓存文件、日志文件…

windows+caffe(三)——求取图片的均值

这个要在图片已经转化成lmdb格式下才能求均值。。。 1.查看caffe根目录下的bin是否存在compute_image_mean.exe(用的happey大神的) 如果没有存在,你需要打开MainBuilder.sln,右键compute_image_mean-仅用于项目-仅生成compute_ima…

硬盘知识:硬盘中蓝盘、绿盘、黑盘、红盘有什么区别?

今天给大家介绍一下电脑硬盘中蓝盘、绿盘、黑盘、红盘有什么区别?我们平常说的蓝盘、黑盘、红盘、绿盘这些通常指的是西部数据旗下所产的硬盘,通过各自的特点进行了上述的分类。从外观上我们可以通过硬盘上贴的纸的颜色来区分。绿盘:监控盘&a…

java 框架mvc_JAVA框架-MVC模式

MVCMVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图) - 视图代表模型包含的数据的可视化。Controller(…

ndk学习6: 使用gdb调试ndk程序一

生成debug版程序 方法一: 使用ndk-build编译时&#xff0c;加上如下参数NDK_DEBUG1&#xff0c;之后生成so文件之外&#xff0c;还会生成gdbobserver,gdb.setup调式文件 方法二: 修改AndroidManifest.xml文件,增加debuggable属性为true <application android:debuggable&quo…

后端:C#操作Mongodb用法笔记

MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。今天主要给大家介绍一下C#编程语言下Mongodb的用法。开发环境为VS2015示例主要包括数据的增删改查、分页查询、文件存储等功能。有需要的朋友可以一起学习一下。…

计算机语言分为三种:机器语言、汇编语言和高级语言

计算机语言有哪几种&#xff1f; 计算机语言分为三种&#xff1a;机器语言、汇编语言和高级语言 1.机器语言 机器语言是用二进制代码表示计算机能直接识别和执行的一种机器指令的集合&#xff0c;它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。 优点&#…

asp php java_ASP\JSP\PHP相比各有什么优缺点?

展开全部ASP、JSP、和PHP的优点e5a48de588b662616964757a686964616f31333366306538和缺点&#xff1a;一、ASP优点:1、无需编译2、易于生成3、独立于浏览器4、面向对象5、与任何ActiveX scripting 语言兼容6、源程序码不会外漏缺点:1、Windows本身的所有问题都会一成不变的也累…

js变量提升_学习笔记:JS中的作用域和预解析

知识总结&#xff1a;谢静贤、汤昊在javascript中作用域是非常重要的&#xff0c;本文将会说明作用域以及我们在工作&#xff0c;以及面试中的一些面试题&#xff0c;如果有不足的地方希望大家可以评论指出来&#xff0c;自己一定会及时的改正错误&#xff0c;避免大家走入一些…