The default Java application delivery mechanism is JAR files, which are ZIP archives with some extra information that makes them executable by Java. You can store class files (compiled Java files) and resources together in the JAR file.
Most of the IDEs you use will create a JAR file from your project, but in this section, we will review how it works under the hood.
Besides the direct download, there are also Java Web Start and browser plugin options, but they are being deprecated by Oracle so I'll leave them out of this book's scope.