What is there in my JVM Heap

My analysis says,
elastic search holds memory for segments ( cache memory no in heap) ,
fields mappings ( in Heap) and some shard structure.

Can you please suggest is there any way to know what is there in my Heap is it field data or segments ?
What elastic search hold in memory and heap separately ?
Any suggestion ?