jvm方法区中存放的是什么东?jvm方法区?
方法区域1。其中,每个类的结构信息、运行时常量池的字节码内容、字段、方法数据、常用方法和构造方法。(这是一个规范。不同的虚拟机有不同的实现。最典型的例子是永久空间和元空间。实例变量位于堆内存中,与方法区域无关。2它绝对不是用来放方法的。三。此区域中的所有线程都是共享的,并且存在垃圾回收。r
jvm:java代码是如何运行的?
一个java项目包含了很多带有“.”的源代码文件。java“后缀。除了直接在ide中调试外,一般来说,代码类型是jar包或war包,最后打包的jar包或war包被发送到在线服务器进行部署。
部署的方法有很多,最基本的方法是通过tomcat容器进行部署,也可以通过java命令手动运行jar包中的代码。
。
在java代码打包过程中,源代码通常被编译成一个字节码文件,并带有“。“类”后缀。jvm只能识别和解释字节码文件类。
对于已编译的类字节码,您需要使用诸如java-jar之类的命令来运行已编写的代码;一旦使用java命令,此时您将实际启动jvm进程。
jvm进程将负责运行这些类字节码文件,这相当于运行我们编写的代码。
要运行这些类字节码文件中的代码,jvm将使用类加载器将编译后的类字节码文件加载到jvm的内存中
执行加载到内存中的类。当jvm需要哪个类时,它将使用类加载器来加载相应的类。
方法区与永久区的区别?
方法区域是jvm规范中运行时数据区域的一部分。jvm规范中的运行时数据区还包括:pc寄存器、虚拟机堆栈、堆、方法区、运行时常量池、本地方法堆栈
永久区,也称为perm区,只存在于jdk8的热点中,jdk8中引入了一个新的内存区metaspace
堆区。存储所有对象,每个对象都包含相应的类信息。(该类的目的是获取操作说明)
2。jvm中的所有线程只共享一个堆。堆不存储基本类型和对象引用,只存储对象本身的堆栈:1。每个线程都包含一个堆栈,它只存储基本数据类型和自定义对象的引用(而不是对象),对象存储在heap2中。每个堆栈中的数据(原始类型和对象引用)都是私有的,其他堆栈无法访问它。
3.堆栈分为三个部分:基本类型变量区、执行环境上下文和操作指令区。方法区:1。它也被称为静态区域。和堆一样,它也被所有线程共享。方法区域包含所有类和静态变量。2方法区域包含在整个程序中总是唯一的元素,例如类和静态变量。
java中,静态方法被调用是,存储在内存的哪个区域?是栈?还是放大区?还是两者都有?
首先,建筑师不是很好。他必须通过技术力量和建筑师的想法。其次,架构师是dubbo框架,基本原理是zookeeper、redis分布式缓存、jvm性能优化、nginxapache企业开发tomcat集群部署、大数据hadoop、hbase实时计算spark、storm、数据分析、分词和权重等核心技术。
如何成为一名优秀的建筑师?我用七张照片告诉你。
您可以先学习分布式锁的实现https://pan.baidu.com/s/1y8rkldbepkhxhs3gvjxgtg密码:umu3
原文标题:jvm方法区是在堆里吗 jvm方法区中存放的是什么东?jvm方法区?,如若转载,请注明出处:https://www.saibowen.com/news/23708.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。