http://code.google.com/p/java-diff-utils/
Version 1.2.1

Diff Utils library is an OpenSource library for performing the comparison
operations between texts: computing diffs, applying patches, generating
unified diffs or parsing them, generating diff output for easy future
displaying (like side-by-side view) and so on.

Main reason to build this library was the lack of easy-to-use libraries with
all the usual stuff you need while working with diff files. Originally it was
inspired by JRCS library and it's nice design of diff module.  Main Features

    * computing the difference between two texts.

    * capable to hand more than plain ascci. Arrays or List of any type that
      implements hashCode() and equals() correctly can be subject to
      differencing using this library

    * patch and unpatch the text with the given patch

    * parsing the unified diff format

    * producing human-readable differences 

Algoritms

This library implements Myer's diff algorithm. But it can easily replaced by
any other which is better for handing your texts. I have plan to add
implementation of some in future.