Я пытаюсь связаться с RESTful API через SSL.Все клиентское приложение использует базовый метод подключения, который выглядит примерно так:
URL url = null;
HttpsURLConnection connection = null;
BufferedReader bufferedReader = null;
InputStream is = null;
try {
url = new URL(TARGET_URL);
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);
connection = (HttpsURLConnection) url.openConnection();
connection.setRequestMethod(requestType);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Language", "en-US");
connection.setSSLSocketFactory(sslSocketFactory);
is = connection.getInputStream();
bufferedReader = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer lines = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
lines.append(line).append(LINE_BREAKER);
}
return lines.toString();
} catch (Exception e) {
System.out.println("Exception is :"+e.toString());
return e.toString();
}
}
. Это хорошо работает, но есть ли более эффективный способ?Мы попробовали Apache HTTPClient.У него очень простой API, но когда мы сравнили производительность вышеупомянутого кода с Apache HTTPClient с YourKit, последний создавал больше объектов, чем первый.Как мне это оптимизировать?