https://medium.com/@chandantechie/tips-and-techniques-for-profiling-and-tuning-java-applications-to-achieve-optimal-performance-1edfd10bb061