Here is the answer.
By avoiding too much of static methods,
avoiding the excessive and unnecessary use of synchronized methods
Selection of related classes based on the application (meaning synchronized classes for multiuser and non-synchronized classes for single user)
Usage of appropriate design patterns Using cache methodologies for remote invocations
Avoiding creation of variables within a loop and lot more.