What are the differences between JVM (java virtual machine) and JRE (java runtime environment)?
The JRE package is intended for distribution with applications. It does not contain the tools.jar file that has the compiler and other command line tools. The reason Sun makes the distinction is to give developers a more compact set of files to distribute with a product.Also, JVM is the more generic name which can apply to any program which obeys the Java Virtual Machine Specification – whether it’s made by Sun, IBM, Microsoft, or whoever. JRE on the other hand is the name for Sun’s implementation of a JVM.Even j2sdk is free, but it is illegal to distribute j2sdk with your product. Therefore if your product required j2sdk to run. Then you must require your client to download it from Sun and install it before instalation of your product. What a headache! On the opposite, you can distribute JRE with your application freely.