0
long start = System.currentTimeMillis();
URL link = (any url);
BufferedReader read = new BufferedReader(new InputStreamReader(link.openStream()));
System.out.println("Took: " + (System.currentTimeMillis()-start));

これは約800〜1200ミリ秒で印刷され、Webページ自体はそれほど大きくはありませんが、約300行のコードです。

ページソースのLinesを読み取ることができるように、ストリームを開くプロセスを最適化または高速化する方法があるかどうか疑問に思っています。この1秒はそれほど悪くはありませんが、プログラムで30を開く場合は、 30秒かかるので問題があります。たぶん、BufferedReaderまたはInputStreamReaderを渡して、毎回新しいものを作成しないようにする必要がありますか?

ありがとう

4

1 に答える 1

2

表示されている時間の 99.9% は、ネットワークの遅延と転送時間です。リーダーの作成はマイクロ秒です。より高速なネットワークにアクセスし、インターネットへの太いパイプでサイトにアクセスする以外にできることはありません。

于 2012-05-14T23:56:56.320 に答える