Hi,
In my terms,
Thread dump - lets you know current statuses of all the threads in JVM - whether they are working, waiting, hung etc
Heapdump - lets you know the status of JVM heap memory like what application objects are consuming what heap memory and so on
Core dump - what I know is its a (unix) process level detailed dump.
Regards
Tousi