There are many performance improvements you should make before you try to make it multi-threaded. I can see several obvious things you could do to improve performance. But experience has shown that most coders (myself included) are terrible at guessing where code should be tweaked to make it more efficient.

So my advice is to learn to use a profiler. Profile your code and find out where it is spending cpu cycles then tweak the code in the right places. You will get much better results learning to do that. Good modern IDEs make this a pretty simple process for simple programmes.

Email codedump link for how can i make this java program run in multi core?