Yar is nothing more than an archive containing compiled Java .class files compressed for compactness into a single file. Its contents are compiled binaries organized in a directory structure. Thus, you can think of it as a directory with files, but compress it into one archive (as in a zip file). The jar itself is not binary ("exists because the jar is already compiled") - it does not compile itself, but rather contains compiled elements.
source share