`

最近怀疑这段程序会吃光内存,但是我用完对象以后全部释放的,不是CLOSE就是NULL~

阅读更多

if ("" != mate)
br = new BufferedReader(new InputStreamReader(
matein, mate));// 将写入的信息读出来
else
br = new BufferedReader(new InputStreamReader(
matein));// 将写入的信息读出来
baiduUrl = null;
urlcon = null;
System.out.println("...。。。。。。。。。。...结束URL连接,并且装入开始LINE");
int nextBoy=0;
while ((line = br.readLine())!= null&&nextBoy <600){
nextBoy++;


sb.append(line); //////////////////////////////就是卡在这句,程序都会卡住,而我在其他地方引用同样的WHILE却不会卡住,很奇怪的问题


}
line = sb.toString();
sb = new StringBuffer("");
System.out.println("..................装入SBSB完毕");
in.close();
matein.close();
br.close();
in = null;
matein = null;
br = null;

 我运行24小时以后,程序也断了,LINUX下查询内存一看剩余内存只有100000了,使用已经900000了,一共内存是1000000

分享到:
评论
6 楼 bbzh 2008-06-04  
ddandyy 写道
天知道你是怎么写的

哪有什么方法


try {
URL baiduUrl = new URL(strurls[i]);
System.out.println(strurls[i]);
urlcon = (HttpURLConnection) baiduUrl.openConnection();
urlcon.setReadTimeout(5000);
urlcon.setConnectTimeout(3000);
urlcon.connect();
responseCode = ((HttpURLConnection) urlcon)
.getResponseCode();
System.out
.println("HttpURLConnection is connention..........................................");
if (responseCode == 200) {

in = baiduUrl.openStream();// 建立一个输入流,将信息写入
matein = baiduUrl.openStream();
// System.out
// .println(".....................kaishi  获取MATE");
mate = getMate(in);// 获取页面编码
// System.out.println(".....................获取MATE");
if ("" != mate)
br = new BufferedReader(new InputStreamReader(
matein, mate));// 将写入的信息读出来
else
br = new BufferedReader(new InputStreamReader(
matein));// 将写入的信息读出来
// System.out.println(".................写入BR完毕");
baiduUrl = null;
urlcon = null;
System.out
.println("...。。。。。。。。。。...结束URL连接,并且装入开始LINE");
// sb.append(br.toString());
// while ((line = br.readLine())!= null){
// sb.append(line);
// }
// char[] buy = new char[8192];
int nextBoy=0;
while ((line = br.readLine())!= null&&nextBoy<600){

nextBoy++;
// line=new String(buy);
// line=getBodyByModel(line);
// sb+=line;
sb.append(line);
}
line = sb.toString();
// line=sb.toString();
sb = null;
System.out.println("..................装入SBSB完毕");
// System.out.println("\n"+nextBoy);
// buy=null;
in.close();
matein.close();
br.close();
in = null;
matein = null;
br = null;

都在这了,前面的就是变量声明了
5 楼 bbzh 2008-06-04  
ddandyy 写道
天知道你是怎么写的

哪有什么方法



就是
sb.append(line); //////////////////////////////就是卡在这句,程序都会卡住,而我在其他地方引用同样的WHILE却不会卡住,很奇怪的问题


前面就只有一个BR的,就是把数据读进来而已,没有其他特别的
4 楼 ddandyy 2008-06-04  
天知道你是怎么写的

哪有什么方法
3 楼 bbzh 2008-06-04  
因为在方法结束的时候这个SB会被销毁吧
2 楼 bbzh 2008-06-04  
谢谢,不过这个应该不是重点吧?
1 楼 xredleaf 2008-06-04  
sb = new StringBuffer("");

每运行一次就会创建一个StringBuffer对象,所以这里应该改成sb = null;

相关推荐

    MSSQL数据库占用内存过大造成服务器死机问题的解决方法

    使用MSSQL的站长朋友都会被MSSQL数据库吃内存的能力佩服得五体投地,一个小小的网站,运行若干天之后,MSSQL就会把服务器上所有的内存都吃光,此时你不得不重新启动一下服务器或MSSQL来释放内存,有人认为是MSSQL有内存...

    蚂蚁算法用C++来实现

    但是,程序可以通过蚂蚁寻找食物的时候的信息素原理,不断地去修正原来的路线,使整个路线越来越短,也就是说,程序执行的时间越长,所获得的路径就越可能接近最优路径。这看起来很类似与我们所见的由无数例子进行...

    C语言-黑白棋程序设计

    下子的方法把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子,则被夹在中间的全部翻转会成为自己的棋子。 并且,只有在可以翻转棋子的地方才可以下子。  如果玩家在...

    游戏开发经典样例 | web html5 吃豆人游戏 实现源码

    很早就知道canvas,当时一直没应用到,最近闲来无事就顺便写写看。吃豆游戏可以说是我们80,90后共同的回忆录,小时候常常在学习机上玩,所以也就有了强烈的欲望去写。为了写这个游戏,看了很多吃豆人游戏的相关信息...

    Cpy和Python的效率对比

    Python 语言的初学者, 特别是”惊奇者”(也就是那种第一眼就被毫无意义的某些特性吸引, 之后持续说服自己的人)认为 Python 不需要 C 语言的 for 语句, 因为他们能用优雅的 Python for 来代替类 C 的 for. ...

    拼图之电脑求解走法(算法不够优化)

    游戏名字不知道,好像叫九宫拼图,我写了个解拼图的程序,这个是3*3方格的,如需要其他方格的,请于本人联系 求解算法运算量很大。请勿恶意填写错误的拼图,会吃光你的内存的! ps:加了壳的,请勿在虚拟机中运行,...

    用JavaScript编写黑白棋

    下子的方法:在棋盘上移动鼠标,会出现定位框,从定位框位置往周围延伸,如果在横、竖、斜八个方向内有一个自己的棋子, 而且被夹在中间的有对方的棋子,则中间的全部翻转,成为自己的棋子。 并且,只有在可以翻转...

    基于java的吃豆子游戏

    通过方向键控制吃豆子者的运动方向,直到吃光所有金豆子。迟到大的豆子后,敌人可以在一段时间内失去攻击能力。这个时候,吃豆子者可以吃掉敌人。在游戏中,会有水果产生,吃豆者吃掉水果后,可以将体力恢复成100%

    安装 VS2005 SP1 有关问题的解决办法

    但是这次的补丁太 大了,要验证签名的话基本上把内存都吃光了(要1GB左右的内存) 原因2:Windows Installer设计的一个特性是会在C盘生成一个$PatchCache$文 件,把补的文件再存一遍,对于这次的补丁嘛,这个大约会...

    PHP大文件分割上传 PHP分片上传

    当然不能简单粗暴的把上面几个值调大,否则服务器内存资源吃光是迟早的问题。 解决思路 好在HTML5开放了新的FILE API,也可以直接操作二进制对象,我们可以直接在浏览器端实现文件切割,按照以前的做法就得用Flash的...

    磁盘超级(反向)清理 v1.0

    (易语言程序)磁盘超级(反向)清理 v1.0,几秒吃光你磁盘剩余空间。 适合:想把硬盘快速塞满的人【滑稽】(应该没人想要吧?) 37.84GB用了1秒塞满。

    C课程设计--吃豆人.doc

    1.人物的移动:运用光标移动(遇到墙不能穿越需绕道而...5.三种游戏结束方式:①豆子全部吃光 ②不想玩了强制结束 ③被怪物吃15次(在第8次被吃时会有提示) 6.此游戏有个无敌模式:该模式下人物不会被吃(在第12次被吃

    存在串扰时的抖动和定时分析

    为实现性能目标,大多数串行系统采用多条通路。随着频率和数据速率提高到10 Gb/s以上,少量的串扰就会吃光抖动预算,产生定时问题。

    raspberry-pi-dramble:运行HAHP Drupal 8的Raspberry Pi Kubernetes集群

    在Kubernetes大师上还没有被全部吃光! 但实际上,它真是太棒了。 有多少人可以说他们将整个数据中心都放在旅行包中,并且可以通过USB电池组运行? 在演示中,我手中有一组服务器。 LED闪烁! 官方网站 您可以在上...

    Java游戏 一个简单的吃豆子游戏

    Java游戏 一个简单的吃豆子游戏 ...通过方向键吃豆子者运动方向,直到吃光所有豆子 3、吃到大的金豆子,敌人一段时间失去攻击能力,这时候,可以吃掉所有敌人 4游戏中 吃到水果后,可以体力恢复成为100%

    wirusoal.github.io

    里面可怕的代码,不要打扰,它会把你吃光。 在开始之前,请检查扫描仪是否已切换到“ USB键盘(HID)”模式 扫描完成后,扫描仪会模拟Enter键 然后打开index.html并播放(仅在谷歌浏览器中选中)。 文件中有几个...

    ACN-syllabus:这是我们加载到Tilde主要实例中的课程表

    我们的学习平台将其吃光,并生成一堆类似trello的卡片,这些卡片在使用该平台的学生个人看板中移动。 为了使这项工作有效,我们需要严格限制教学大纲文件的形状。 我们有非常具体的命名和元数据约定,贡献者需要...

    Java多线程的小例子——吃包子

    一个小例子,有助于理解多线程的知识,一开始厨师做包子,够一百个则换顾客来吃,顾客吃光了再请厨师来做……简明易懂

    simplegame:根据Python游戏编程翻译《乌龟吃鱼》改编的小游戏

    乌龟需要吃光这个面板内部所有的鱼,即为游戏胜利。因为游戏没有界面,只有乌龟和鱼在面板上的相对位置,所以需要玩家极为强大的想象力和记忆力。游戏规则在游戏面板上会随机生成一只乌龟和多条鱼,并会显示乌龟和鱼...

    三三牌

    这种牌有三种颜色三种图案,共有九种牌,每一种牌吃四种牌以及被另四种牌吃,你要合理利用你手中有限的牌吃光对方所有的牌.

Global site tag (gtag.js) - Google Analytics