java基础题,求教

whyx8605 2009-02-24 12:18:38
典型的垃圾回收算法是什么?(最好附一段代码)
...全文
126 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
whyx8605 2009-04-02
  • 打赏
  • 举报
回复
谢谢各位了
GuoGongZhou 2009-03-05
  • 打赏
  • 举报
回复
System.gc();
qlyiua888 2009-02-28
  • 打赏
  • 举报
回复
List list=new ArrayList();
String tmpStr="";
for(int i=0;i<500000;i++)
{
tmpStr="aa"+i;
list.add(tmpStr);
tmpStr=null;
if(i%10000==0)
{
list=null;
list=new ArrayList();
}

}

以上代码中每次循环生成的字符串加入到list中,循环结束时即便添加了绿色部分代码,但由于该引用的内容仍在使用,没有达到游离状态,所以他们不会被垃圾回收。当添加了10000的倍数个字符串时执行了红色代码,将list对象置空,则之前添加的所有字符串对象变成游离状态,可以被垃圾回收。
楼主可以用JProfiler等性能测试工具实时查看,结果很清晰,也可以手工调用垃圾回收并打印出内存使用状况来查看
luallen 2009-02-28
  • 打赏
  • 举报
回复
关注中
iamrf 2009-02-27
  • 打赏
  • 举报
回复
一般垃圾回收机制用一段小代码演示很困难,因为触发垃圾回收机制必须满足一个对象被申请了但却不使用,并且在内存资源满足条件时系统才会回收,而垃圾回收机制不必自行调用,楼主可以做一个循环,疯狂申请一个对象看看(从一本老外写的J2SE的书上看到的一个演示垃圾回收机制的方法),但不一定能成功,因为机器的配置对JAVA虚拟机运行也有影响,我以前试过一次但没有成功~~
liguangwen86 2009-02-27
  • 打赏
  • 举报
回复
你把你的对象设置一个null ,系统自动给你回收了!垃圾回收是从那些没有用的数据开始回收!
meiwenhui 2009-02-24
  • 打赏
  • 举报
回复
菜鸟,不会,关注
ghosteryly 2009-02-24
  • 打赏
  • 举报
回复
我初学,这个基础题不会。
vincent201201 2009-02-24
  • 打赏
  • 举报
回复
深了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧