Is there any software that can make UML diagrams from my Java code?
You have some eclipse plugins doing this. If you use eclipse, lookup eUML2 or Bordland Together.
Netbeans also has a reverse engineering tool.
If you don't want to depend on an IDE, StarUML also have a feature to do reverse engineering.
See this page: http://plg.uwaterloo.ca/~migod/uml.html which lists some UML tools and mentions if they're free, commercial, if they're able to "reverse engineer" from source, for what language they're written, etc. Some links are not valid any more, but many of them still are.
There are a few - I expect you'll get a lot of answers.
Togeher is the best one I have used though.
A lot of UML tools support reverse engineering. Look for it in their feature list.
I use Enterprise Architect, which has this functionality (though I personally never use it!).
If you are using Eclipse there are several plugins to do it. Chech:
http://eclipse-plugins.2y.net/eclipse/plugins.jsp?category=UML&sort=hits24h
Why don't you just check SO topics which are tagged with the same tags? http://stackoverflow.com/questions/tagged/java+uml
AmaterasUML is an Eclipse plugin that can take a class (or several) and generate a class diagram. Just drag their .java files onto a blank class diagram.
The diagrams are static (changing the .java does not update the diagram) so I generally don't save the class diagram for long. They are mostly useful for visualization of existing code.
I also find the diagrams helpful during code reviews to give an overview before diving into the code.
JUDE Community Edition does a nice job of reverse engineering Java. It's up to JDK 5 as well.
See http://www.reversejava.com for a dynamic reverse engineering application which generates UML Sequence diagram and view of Participating Class diagram from any Java Application at runtime All you have to do is just run your application and sit back. Reverse Java runs in background tracing all the activities happening inside your application and creates UML diagram for you.
You also have options for, excluding packages,editing the Sequence diagram and exporting the diagrams as PDF or Image.
And its not expensive !