Sun's Java SE implementation uses zlib. From the FAQ at:
How can I encrypt/decrypt zip files with zlib?
zlib doesn't support encryption. The original PKZIP encryption is very weak and can be broken with freely available programs...
The PKWare specification at:
suggests that, as of version 6.2.1 (perhaps earlier?), stronger encryption is possible. However, (a) zlib does not support this, (b) the appnote states that use of this newer technology is covered under a pending patent application. In light of the open sourcing of the JDK, it is questionable if this can be adopted (but note that I am not a lawyer and nothing here should be construed as a legal opinion).