北大青鸟网站首页

详细讲解Java内存的原型及工作原理

作者:北大青鸟航天桥 发布日期:2020-11-18 13:32 关注度:

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,而不是堆中。

学什么技术有前途
热门资讯
  • 1 . java开发环境有哪些?
  • 下面想向大家介绍一下关于java开发环境的问题,常一些想学习java的同学,在网上到处问,java开发环境有哪些之类的相关问题....

  • 2 . java开发工具有哪些?
  • 有很多想自学java的同学经常问一些java的开发工具,例如常有一些同学问这样的问题,初学java者适合用哪一块java开发工具?....

  • 3 . 详细讲解Java内存的原型及
  • java虚拟机内存原型:寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而....

  • 4 . Windows平台上解决Java长路径
  • Windows 对长路径名文件的限制 众所周知,微软的文件系统经历了 fat-fat32-NTFS 的技术变革。且不论安全和文件组织方式上的革....

  • 5 . 浅谈Java:对maven的一点认识
  • 用maven好处: 在maven最普通的应用是在jar的管理上,这样最明显的好处是让jar 和source分开,jar放置私服的maven仓库,source放置S....

  • 6 . Servlet与JSP传值详细讲解
  • Servlet与JSP 之间的传值有两种情况:JSP - Servlet, Servlet - JSP。 通过对象 request和 session (不考虑 application)完成传值。 一、 JS....

新闻资讯