A program that is compiled during execution time, rather than before execution.
- The code must be continuously analyzed during execution to identify which segment of the code is to be compiled
- Optimizations can happen on the fly, certain code segments can be saved with Common Subexpression Elimination