在java中运行应用程序时哪个更快?
这样:
static void readPrice(String dir) throws Exception{
/*Make URL and Connection*/
URL url = new URL(dir + "/prices/all/");
HttpURLConnection connection;
/*Start connection*/
connection = (HttpURLConnection) url.openConnection();
/*Send User-Agent*/
connection.setRequestProperty("User-Agent", user_agent);
/*Get http response*/
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line = rd.readLine();
strJson = line;
/*Read the prices json*/
pricesJson( strJson );
}
或者这个:
static void readPrice(String dir) throws Exception{
/*Connection with url */
connection = (HttpURLConnection) new URL(
dir + "/prices/all/").openConnection();
/*Send User-Agent*/
connection.setRequestProperty("User-Agent", user_agent);
/*Read the prices json*/
pricesJson( new BufferedReader(new InputStreamReader(
connection.getInputStream())).readLine() );
}
我需要非常快速和顺利地申请,因为它必须实时向服务器发出请求
答案 0 :(得分:1)
内联语句不会改进生成的代码。您保存的只是输入源文件中的一些换行符...
它甚至可能产生相同的字节码。
最可靠的性能评估是基准测试。编译器改变了。代码更改。你很少知道什么是更快的,直到你有基准的替代品。
小心过早优化!
过早优化是编程中所有邪恶(或至少大部分)的根源。
- Donald Knuth,计算机程序设计艺术(1974)
答案 1 :(得分:0)
你不检查自己吗?
只需在代码的开头和结尾添加两个时间戳,并轻松计算时间差(以毫秒为单位)。然后,您可以检查哪些代码在最短的时间内执行,以及是否存在任何显着差异。
//Place at the beginning of the code
long startTime = System.currentTimeMillis();
//Place at the end of the code
long endTime = System.currentTimeMillis();
System.out.println(" Execution Time: " + (startTime-endTime));