Clojure is a dynamic programming language that runs on the Java Virtual Machine. It is a Lisp dialect with an emphasis on functional programming, specifically immutable data and support for concurrency through the coordination of shared mutable state. Clojure provides persistence of data structures, software transactional memory using refs, and interoperability with Java.