A few differences that i found...
Dalvik Vs JVM
Architecture Register Stack
OS Support Android Multiple
Re- Tools few many
Executables APK JAR
Consatant-Pool Per Application Per class
In Addition to this
Dalvik has the capacity to compress resources that you have in your application there by reducing the final apk size and makes the device run multiple instances of the VM efficiently
The VM was slimmed down to use less space
Optimized for minimal memory footprint.
From Android 2.2 SDK Dalvik has got a Just in Time compiler
Regarding Licenses
Dalvik is said to be a clean-room implementation rather than a development on top of a standard Java runtime, which would mean it does not inherit copyright-based license restrictions from either the standard-edition or open-source-edition Java runtimes.[11] Dalvik is published under the Apache 2 license.[12](From Wiki)
You can also read more information regarding the same on the following links
http://code.google.com/events/io/2010/sessions/jit-compiler-androids-dalvik-vm.html
http://en.wikipedia.org/wiki/Dalvik_%28software%29
http://2009.confidence.org.pl/materialy/prezentacje/marc_schoenefeld_reconstructing_confidence_2009.pdf