The Gradle JVM client sends the Daemon build information such as command line arguments, project directories, and environment variables so that it can run the build.
The Wrapper is responsible for resolving dependencies, executing build scripts, creating and running tasks; when it is done, it sends the client the output.
Communication between the client and the Daemon happens via a local socket connection.
Daemons use the JVM’s default minimum heap size.
If the requested build environment does not specify a maximum heap size, the Daemon uses up to 512MB of heap.
512MB is adequate for most builds.
Larger builds with hundreds of subprojects, configuration, and source code may benefit from a larger heap size.