The obvious alternative to built-in zlib in the jdk is jzlib http://www.jcraft.com/jzlib/
a pure-java implementation of zlib under an apparently GPL-compatible license that does support flush modes. Some people are using it for that reason. Non-scientific benchmarks at Google suggest it is twice as slow as JDK Deflater, so we may not want to throw out C zlib just yet. Martin