我正在研究一种对具有http接口的数据库进行大量查询的软件。所以我的程序解析并处理长http:// address ..
形式的查询我已经意识到整个系统的瓶颈是查询,即使我坐在拥有千兆位连接的大学网络中,数据传输也几乎不会超过20KB / s。最近我的一位朋友提到我可能以无效的方式编写了我的代码,这可能是这个过程缺乏速度的原因。所以我的问题是从Java中获取Web源数据的最快/最有效的方法是什么。
这是我现在的代码:
private void handleQuery(String urlQuery,int qNumber, BufferedWriter out){
BufferedReader reader;
try{
// IO - routines: read from the webservice and print to a log file
reader = new BufferedReader(new InputStreamReader(openURL(urlQuery)));
....
}
}
private InputStream openURL(String urlName)
throws IOException
{
URL url = new URL(urlName);
URLConnection urlConnection = url.openConnection();
return urlConnection.getInputStream();
}
答案 0 :(得分:2)
您的代码对我来说很好。代码片段没有解释慢速阅读。
可能存在的问题是,
分析器和网络跟踪将指出问题所在。
答案 1 :(得分:1)
您提供的代码中没有任何内容应该是瓶颈。问题可能在其他地方;例如您在阅读它们之后对字符做了什么,远程服务器如何编写它们,网络或webproxy问题等等。