Java内存释放实现代码案例
时间:2021-07-03 08:27:49|栏目:JAVA代码|点击: 次
先贴代码:
StringBuilder dada = null;
for(int i=0; i<1000; i++){
dada = new StringBuilder();
for(int j=0; j<1000; j++){
dada.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
}
}
System.out.println("释放前");
StringBuilder dada1 = new StringBuilder() ;
dada1.append("1");
dada = dada1;
System.out.println("释放后");
放在内层,可见每次使用内存是74,000K多的内存,而,如果放到循环的外面,
StringBuilder dada = dada = new StringBuilder();;
for(int i=0; i<1000; i++){
for(int j=0; j<1000; j++){
dada.append("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
}
}
就只会将数据一致累加的去处理,这样数据就大量的堆积起来了,
查看内存可看出是下面一种写法的内存是220,000K多的内存.


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




