Java Performance tips

  • Use benchmark!

  • String.replace("A", "B") -> String.replace('A', 'B') : char is faster

  • String.format("%s.%s", strA, strB) -> StringBuilder.append(strA).append(".").append(strB) : format is better for maintenance, but StringBuilder would be faster for critical path
  • Avoid sort O(n log(n)) as possible
  • Be careful about Regex
  • Avoid long method
  • logger.debug("value = " + value) -> logger("value = {}", value)