内存分析和垃圾回收机制(Garbage Collection)

阅读: 评论:0

内存分析和垃圾回收机制(Garbage Collection)

内存分析和垃圾回收机制(Garbage Collection)

(自动分配连续的空间,后进先出)

  --每个线程私有,不能实现线程间的共享!

  --存放:局部变量。

  --栈是由系统自动分配,速度快!栈是一个连续的内存空间!

  --存放:new 出来的对象。  

  --堆是一个不连续的内存空间,分配灵活,速度慢!

方法区(也是堆)

  --被所有线程共享!

  --存放:程序中永远是不变或唯一的内容。(类代码信息、静态变量、字符串常量)

JVM 加载程序

  --JVM 加载类,首先到堆空间(方法区)找有没类的信息(代码),如果有则不加载类,直接使用。没有,去 classpath(类路径)找相应类的字节码文件,找到进行加载(类加载器 ClassLoader),然后在方法区有类的信息(代码)。如果没找到,则报异常 ClassNotFoundException。

JVM内存划分:

  --寄存器:内存和cpu之间的事情

  --本地方法栈JVM调用了系统中的功能

  --方法和数据共享区:运行时期class文件,进去的内存

  --方法栈:所有的方法运行的时候,进去的内存

  --堆:存储的容器和对象


JAVA的内存管理实际上指的就是对象的管理,其中包括对象空间的分配和释放。

 GC要点

  --程序员无权调用垃圾回收器

  --程序员可以通过 ()。通知 GC 运行,但是 Java 规范并不能保证立刻运行。

  --finalize 方法,是 Java 提供给程序员用来释放对象或资源的方法,但是尽量少用。

对象空间的分配

  --使用 new 关键字创建对象即可。

对象空间的释放

  --将对象赋值null,即该对象没有引用指向时。垃圾回收器将负责回收所有”不可达”对象的内存空间。

 

转载于:.html

本文发布于:2024-01-29 01:03:03,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646138811590.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:9
标签:机制   内存   垃圾   Collection   Garbage
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23