if you need testing for your locking algorithm, there are actually good tool available: your brain and your eyes - just keep your locking method simple and clear and they will be definitely sufficient.
If you use a build tool like maven or ant you can integrate automatic testing and javadoc very easily. I used eclipse, but in combination with maven and automated the build so it even spit out the archive file readily packed and named for upload (you could use ant scripting to do that). It also integrates checkstyle, junit, javadoc, jdepend, pmd and cobertura (test coverage).
In my opinion you do not need an UML tool for the project, and no profiler either.
"The UrlyBird catches the certificate. And he's gonna FlyByNight"<br /> <br />SCJP 1.2/5.0, SCJD, SCBCD, SCWCD, SCEA