Jahmm (pronounced "jam"), is a Java implementation of Hidden Markov Model (HMM) related algorithms. It's been designed to be easy to use (e.g. simple things are simple to program) and general purpose. It is available under the new BSD license.
This library is reasonably efficient, meaning that the complexity of the implementation of the algorithms involved is that given by the theory. However, when a choice must be made between code readability and efficiency, readability has been chosen. It is thus ideal in research (because algorithms can easily be modified) and as an academic tool (students can quickly get interesting results).
It gives an implementation of the Viterbi, Forward-Backward, Baum-Welch and K-Means algorithms, among others.