温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java数组中对内存进行回收的示例

发布时间:2021-04-28 10:21:42 来源:亿速云 阅读:205 作者:小新 栏目:编程语言

小编给大家分享一下java数组中对内存进行回收的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架。2.Shiro,Apache Shiro是Java的一个安全框架。3.Mybatis,MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。4.Dubbo,Dubbo是一个分布式服务框架。5.Maven,Maven是个项目管理和构建自动化工具。6.RabbitMQ,RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。7.Ehcache,EhCache 是一个纯Java的进程内缓存框架。

在我们每次都用new来创建新对象时,都会有一定的内存进行占据。我们知道空间的使用时有限的,这时候就要不断的对原有的内存进行释放。关于数组中的内存问题,很多人还是不够了解的,本篇我们将就java数组中对内存回收进行讨论,下面就看看具体回收是如何操作的吧。

1、内存分析

数组引用变量只是一个引用,这个引用变量可以指向任何有效的内存,只有当该引用指向有效内存后,才可通过该数组变量来访问数组元素。

与所有引用变量相同的是,引用变量是访问真实对象的根本方式。也就是说,如果希望在程序中访问数组对象本身,则只能通过这个数组的引用变量来访问它。

实际的数组对象被存储在堆(heap)内存中;如果引用该数组对象的数组引用变量是一个局部变量, 那么它被存储在栈(stack)内存中。

2、实例

如果堆内存中的阵列不再有任何引用变量指向自身,则此阵列将变成垃圾,由系统的垃圾回收机制回收所占用的内存。所以,要使用垃圾收集机制来回收一个数组占用的内存空间,您可以将这个数组变量分配为null,这样就切断了数组引用变量与实际数组之间的引用关系,从而使实际数组成为垃圾。

在相互兼容的前提下,允许一个数组变量指向另一个实际的数组,这一操作会造成数组长度可变的假象。以下:

public class ArrayInRam {
   
   
   
 
public static void main(String[] args) {
   
   
   
//静态初始化a
int []a= {
   
   
   5,7,20};
//动态初始化b
int []b=new int[4];
//输出b的长度
System.out.println(b.length);
//循环遍历输出a
for(int aa:a) {
   
   
   
System.out.print(aa+"\t");
}
//b引用a
b=a;
//输出b的长度
System.out.println("\n"+b.length);
 
}
 
}

以上是“java数组中对内存进行回收的示例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI