求救,程序卡住了怎么找原因

sizhu_java sizhu_java 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
近期碰到多次这种情况了,很简单的一段代码,程序运行一段时间后就堵塞了,程序还运行着,但是不往控制台输出信息,不知道具体是在哪一句卡住了,也不知道用什么工具可以找出原因,请教高手帮忙提供解决思路,谢谢。执行代码如下,就是一段查询域名有没被注册的代码,从文件读取域名,大概几十万个吧,查询了一两万个就卡死了,不往控制台输出信息了

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;


public class QueryDomain {

private static final String DOMAIN_PATH = "C:/domain/shuangpin";
private static final String DOMAIN_RESULT = "C:/domain/result";

public static void main(String[] args) throws IOException {

File file = new File(DOMAIN_PATH);
String[] domainFiles = file.list();

for (String domainFile : domainFiles) {

BufferedReader br = new BufferedReader(new FileReader(DOMAIN_PATH+File.separatorChar+domainFile));

File wfile = new File(DOMAIN_RESULT);
if (!wfile.exists()) {
wfile.mkdir();
}
BufferedWriter bw = new BufferedWriter(new FileWriter(DOMAIN_RESULT+File.separatorChar+domainFile));

String line = null;
byte[] buffer = null;

int count = 1;

try{
while ((line = br.readLine()) != null) { //27674

Socket socket = null;
OutputStream writer = null;
InputStream reader = null;

try{

try{
socket = new Socket("whois.crsnic.net", 43);
}catch (Exception e) {
socket = new Socket("whois.verisign-grs.com", 43);
}

writer = socket.getOutputStream();
reader = socket.getInputStream();

writer.write((line+"\n").getBytes());

StringBuffer resultBuffer = new StringBuffer();
buffer = new byte[1024];
int i = 0;
while ((i = reader.read(buffer)) != -1) {
resultBuffer.append(new String(buffer, 0, i));
}

if(resultBuffer.indexOf("No match") != -1){
bw.write(line+"\n");
bw.flush();
}

System.out.println(domainFile + " " + count);
count++;

}finally{
writer.close();
reader.close();
socket.close();
}
}
}finally{
bw.close();
br.close();
}
}


System.out.println("查询完毕");
}
}
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
sizhu_java
Java 51,407 成员 86,126 内容