DLL stands for dynamic link library. They are more of an issue with languages compiled into machine code, like C and C++ than with
Java. DLLs basically contain the code for certain functions that are linked (or loaded) dynamically, as opposed to statically.
When you compile a program, you can usually chose whether to link any used libraries statically or dynamically. If you choose static linking, the functions used are copied into the final exe file, thus making it larger. If several programs use the same function, it is copied into each exe file.
Dynamic linking on the other hand, stores the single function in its own file (the dll) which is loaded at run time. This way all programs that use the function can share a single copy, instead of each having their own. This reduces the size of each programs' exe file.
HTH
Layne