武汉北大青鸟中南软件学院
400-027-0822

武汉北大青鸟-解析Java内存的原型及工作原理

2017-10-28供稿中心: 北大青鸟武汉中南软件学院

不少人学习Java编程语言,而对于Java内存的原型及工作原理你们又知道多少呢?今天北大青鸟小编给各位普及一下吧!

 java虚拟机内存原型:寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM存储:硬盘等永久存储空间。
    常量池(constant pool):常量池指的是在编译期被确定,并被保存在已编译的。class文件中的一些数据。除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值(final)还包含一些以文本形式出现的符号引用,比如:

1.类和接口的全限定名;                       
    2、字段的名称和描述符;                        
    3、方法和名称和描述符。

虚拟机必须为每个被装载的类型维护一个常量池。常量池就是该类型所用到常量的一个有序集和,包括直接常量(string,integer和floating point常量)和对其他类型,字段和方法的符号引用。对于String常量,它的值是在常量池中的。而JVM中的常量池在内存当中是以表的形式存在的, 对于String类型,有一张固定长度的CONSTANT_String_info表用来存储文字字符串值,注意:该表只存储文字字符串值,不存储符号引 用。说到这里,对常量池中的字符串值的存储位置应该有一个比较明了的理解了。在程序执行的时候,常量池 会储存在Method Area,而不是堆中。

经过小编的简单介绍,是不是对Java内存的原型及工作原理又有了更加深刻的理解呢?想知道更多关于Java方面的知识可以来武汉北大青鸟网站咨询。

关于我们
首页
公司简介
课程专业
师资力量
高薪就业
青鸟课程
ACCP
学士后Java
基础教育
UI设计
回到首页