我有一个Java应用程序,该应用程序大量使用大文件来读取,处理和传递给SolrEmbeddedServer(http://lucene.apache.org/solr/)。
其中一个功能可以进行基本的HTML转义:
private String htmlEscape(String input) { return input.replace("&", "&").replace(">", ">").replace("<", "<") .replace("'", "'").replaceAll("\"", """); }
在对应用程序进行性能分析时,程序在此功能上花费大约58%的时间,总共47%的时间用于替换,而11%的时间用于replaceAll。
现在,是用Java替换程序速度这么慢吗?还是我走的路正确?我是否应该考虑该程序的效率,使其在Java中而不是在我的代码中成为瓶颈?(或者我要替换错吗?)
提前致谢!
对于HTML转义,您可以使用StringEscapeUtils.escapeHtml(input)从公浪。据说在那里可以更有效地实现它。
StringEscapeUtils.escapeHtml(input)