小编And*_*lov的帖子

从ArrayList <URLConnection>中删除URLConnection对象

在我的程序中,我需要跟踪打开到某个HTTP服务器的连接列表 - 以便在需要时立即断开它们.

我遇到了以下问题.如果我连接到HTTP服务器,一切都很完美,但如果是HTTPS,则不会从列表中删除连接.它会导致内存泄漏.

例:

package test;

import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
        try {
            ArrayList<URLConnection> al = new ArrayList<URLConnection>();

            URL url = new URL("http://www.example.com");

            URLConnection conn = url.openConnection();
            al.add(conn);
            System.out.println("Result of removing = " + al.remove(conn));

        } catch (Exception ex) {
            ex.printStackTrace(System.err);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果URL指向" http://www.example.com ",则"删除结果= true".

但如果URL指向" https://www.example.com ",则"删除结果= false".

我不明白这种行为.我有一些假设,但不是不确定......

有人可以帮忙吗?

java arraylist urlconnection

7
推荐指数
1
解决办法
148
查看次数

标签 统计

arraylist ×1

java ×1

urlconnection ×1