There are three main ways to embed Groovy in a Java application: 1) Compiling Groovy code to Java bytecode that can be referenced from Java code. This can be done with Maven or Ant. 2) Using the Bean Scripting Framework (BSF) or JSR 223 to execute Groovy scripts at runtime from Java. 3) Native embedding using the GroovyShell, GroovyClassLoader, or GroovyScriptEngine APIs to load and execute Groovy code from Java. Performance considerations include caching compiled scripts and reloading when dependencies change.