课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > Java内存管理原理及内存区域
  • Java内存管理原理及内存区域

    发布:昆明Java培训      来源:达内新闻      时间:2016-08-15

  • Java内存管理原理及内存区域昆明达内java培训机构的老师讲了那么多章内容,这章终于结尾了,那么我们让昆明达内java培训机构的老师继续给我们讲Java内存管理原理及内存区域最后的两个方法。

    方法区

    方法区与 Java 堆一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

    方法区在虚拟机启动的时候被创建,虽然方法区是堆的逻辑组成部分,但是简单的虚拟机实现可以选择在这个区域不实现垃圾回收。Java虚拟机规范也不限定实现方法区的内存位置和编译代码的管理策略。方法区的容量可以是固定大小的,也可以随着程序执行的需求动态扩展,并不在过多空间时自动收缩。方法区在实际内存空间 中可以是不连续的。

    根据 Java 虚拟机规范的规定,当方法区无法满足内存分配需求时,将抛出 OutOfMemoryError 异常。

    运行时常量池

    运行时常量池是方法区的一部分,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。一般来说,除了保存Class文件中描述的符号引用外,还会把翻译出来的直接引用也存储在运行时常量池中。

    运行时常量池相对于 Class 文件常量池的另一个重要特征是具备动态性,Java 语言并不要求常量一定只有编译期才能产生,也就是并非预置入 Class 文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新的常量放入池中,这种特性被开发人员利用的比较多的便是 String 类的 intern() 方法。

    既然运行时常量池是方法区的一部分,自然受到方法区内存的限制,当常量池无法再申请到内存时会抛出 OutOfMemoryError 异常。

    Java内存管理原理及内存区域的内容昆明达内java培训机构的老师讲到这里就结束啦,但是我们后期还有其他更多的知识点。同学们记得关注哟!

    推荐文章

上一篇:Java两项内存管理的方法

下一篇:jsp传参servlet接收中文乱码问题

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:12/29

Java--零基础业余班

Java--零基础业余班

开班日期:12/29

Java--周末提升班

Java--周末提升班

开班日期:12/29

Java--零基础周末班

Java--零基础周末班

开班日期:12/29

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56