首页编程java编程java 方法区存什么意思(Java方法区和堆分别储存什么)

java 方法区存什么意思(Java方法区和堆分别储存什么)

编程之家2023-10-11107次浏览

大家好,如果您还对java 方法区存什么意思不太了解,没有关系,今天就由本站为大家分享java 方法区存什么意思的知识,包括Java方法区和堆分别储存什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

java 方法区存什么意思(Java方法区和堆分别储存什么)

java工作原理

Java工作原理

由四方面组成:

(1)Java编程语言

java 方法区存什么意思(Java方法区和堆分别储存什么)

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

java 方法区存什么意思(Java方法区和堆分别储存什么)

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

java方法区中包含哪些内容,常量池中包含哪些内容

方法区里存储着class文件的信息和动态常量池,class文件的信息包括类信息和静态常量池。可以将类的信息是对class文件内容的一个框架,里面具体的内容通过常量池来存储。

动态常量池里的内容除了是静态常量池里的内容外,还将静态常量池里的符号引用转变为直接引用,而且动态常量池里的内容是能动态添加的。例如调用String的intern方法就能将string的值添加到String常量池中,这里String常量池是包含在动态常量池里的,但在jdk1.8后,将String常量池放到了堆中。

Java方法区和堆分别储存什么

堆区:

1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)

2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身

栈区:

1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中

2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。

3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。

方法区:

1.又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。

2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

Java内存中的栈,堆和方法区的用法有什么不同

JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)也叫静态存储区。

堆区:

存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)

2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身

栈区:

每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中

2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。

3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。

方法区:

又叫静态区,跟堆一样,被所有的线程共享。方法区包含所有的class和static变量。

2.方法区中包含的都是在整个程序中永远唯一的元素,如class,static变量。

OK,本文到此结束,希望对大家有所帮助。

javaee用什么浏览器 java和java EE有什么区别java中的void什么意思 在JAVA中 void表示什么意思