A couple years ago, continuous integration in the JVM ecosystem meant Jenkins. Since that time, a lot of other tools have been made available. New tools don’t mean new features, just new ways. Besides that, what about continuous deployment? There’s no tool that allows to deploy new versions of a JVM-based application without downtime. The only way to achieve zero downtime is to have multiple nodes deployed on a platform, and let that platform achieve that, e.g., Kubernetes. And yet, achieving true continuous deployment of bytecode on one single JVM instance is possible if one changes their way of looking at things. What if compilation could be seen as changes? What if those changes could be stored in a data store, and a listener on this data store could stream those changes to the running production JVM via the Attach API? In this talk, you'll experience a demonstration using Hazelcast and Hazelcast Jet. It’s possible to re-use the principles that will be shown using other streaming technologies.