MacOS JAVA_HOME location (for Java JDK/SDK)

Java/Mac FAQ: Where is JAVA_HOME located on Mac OS X (macOS) systems?

macOS JDK location

This has changed over time, but if you're using Mac OS X 10.9 or newer (now macOS), your JDK/SDK  JAVA_HOME location for Java 8 will be something like this:

/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

For Java 7 it was also in the same area:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/

Of course that will vary by the JDK version you have installed.

JRE location

If you've installed the Oracle JRE (as opposed to the JDK), JAVA_HOME for it appears to be located here instead:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

This is confirmed by this Oracle Java/JRE documentation page, which shows that you can demonstrate this by running this command in the Mac Terminal:

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

Older Mac OS X systems

I have no way of verifying this any more, but on Mac OS X 10.5, 10.6, and 10.7, I'm pretty sure this is where the JDK JAVA_HOME was located:

/Library/Java/Home

Find the JDK location with XCode

If you have XCode installed you can now find the JAVA_HOME directory with this command:

$ /usr/libexec/java_home

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/

You might also be able to find some of these settings in the Mac OS X Control Panel, but I looked just now, and did not see them (though you can see Java's "temporary internet files" from that console).

In summary, if you are trying to figure out where JAVA_HOME is on your Mac OS X system, I hope this has been helpful.