This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.

Can anyone explain me the Heap sort logic and how to implement it in java ?
And suggest me which sort algorithm is the best in performance wise with huge Data and less Data?

Heapsort. There is an example there in Pascal / Delphi. Let's see if you can read that. For your information, ":=" is the assignment operator in Pascal / Delphi.

the Heap data structure is basically a tree, where the child nodes are always smaller (by whatever definition of 'smaller' you choose) than the parent.

There are algorithms for re-heapifying a heap once you remove an element.

A Heap sort builds a heap out of your data.

you remove the largest node (which is by definition the root of the heap), and stick it at the end of your array, then re-heapify what's left.

You then remove the largest node, put it in the second to last spot, and re-heapify.

etc.

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors