I don't know the details of how this is implemented - I'm assuming that it's some sort of translation of JVM byte code to asm.js and a re-implementation of the core JDK runtime - but the question arises: why?
If you're still forced to use browser-based client-side Java applications, for whatever reason, what does this get you that just using the actual JVM plugin doesn't?