I remember I used to work at a company that couldn't run their JVM software on the OpenJDK JVM. They had to use the Oracle JVM. (Full disclosure: they were writing in groovy/grails.)
But I look at a lot of other JVM applications, and they seem to work fine on both JVMs. The OpenJDK JVM seems to be a solid implementation.
Being a Clojure enthusiast, I want to be able to code for both JVMs.
So, specifically:
- What are some common "gotchas" which, if you were targeting one JVM, you would have to be careful about when writing for a different JVM?
- Are there any language specific pitfalls, especially when it comes to clojure?
- When writing a clojure application, is there any common pitfalls in targeting both JVMs?