Java performance and scalability