Making changes to running enterprise Java applications is hard. So hard, in fact, the only choice for the majority of Java developers is to just redeploy their application whenever they make a change to their code, if they want to see the change. This is a huge amount of time simply being wasted.

This talk goes through various schemes of instant application redeployment that have been introduced in the past decade, including hot swap and hot deployment. The issues of these schemes are then analyzed from the standpoint of classloading, state retention, and performance. We will then discuss and demonstrate some possible solutions for these issues.