加入收藏 | 设为首页 | 会员中心 | 我要投稿 信阳站长网 (https://www.0376zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

Java 虚拟机内存区

发布时间:2021-02-26 17:25:22 所属栏目:传媒 来源:互联网
导读:法区的概念 方法区又叫静态区,存放的是已加载的类的基本信息、常量、静态变量等。它是各个线程共享区域。 比方说我们在写 Java 代码时,每个线程度可以访问同一个类的静态变量对象。由于使用反射机制的原因,虚拟机很难推测哪那个类信息不再使用,因此这块

法区的概念

方法区又叫静态区,存放的是已加载的类的基本信息、常量、静态变量等。它是各个线程共享区域。

比方说我们在写 Java 代码时,每个线程度可以访问同一个类的静态变量对象。由于使用反射机制的原因,虚拟机很难推测哪那个类信息不再使用,因此这块区域的回收很难。

静态块和非静态块有什么区别?

  • 类(Class)和对象(Object)的区别与联系?
  • 为什么静态块中不能使用 this、super 关键字?
  • 为什么 java 的静态方法可以直接用类名调用?

方法区的特点

  • 线程间共享区域

方法区的异常

对这块区域主要是针对常量池回收,值得注意的是 JDK1.7 已经把常量池转移到堆里面了。同样,当方法区无法满足内存分配需求时,会抛出 OutOfMemoryError。制造方法区内存溢出,注意,必须在 JDK1.6及之前版本才会导致方法区溢出,原因后面解释,执行之前,可以把虚拟机的参数 -XXpermSize 和 -XX:MaxPermSize 限制方法区大小。

代码清单如下:


 

(编辑:信阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读