AppDynamics uses JMX provided Java to fetch the max available heap.
It depends on JVMs implementation of the value of HeapMemoryUsage.max attribute on how much this value would be.
You could also validate it against the HeapMemoryUsage.max attribute value in JConsole.
In some JVM implementations, this value is Xmx - PS Survivor Space.MaxAvailable
For Example, Xmx = 12288m and Heap.Max Available is displayed as 11947m. Check PS Survivor Space.MaxAvailable and it is 341m.
Heap.Max Available = Xmx-PS Survivor Space.MaxAvailable = 12288-341 = 11947m
Please see attached the screenshots.
... View more