title: Finding differences between versions of a Java class file
body: <p>I am working with a large Java web application from a commercial vendor.  I've received a patch from the vendor in the form of a new .class file that is supposed to resolve an issue we're having with the software.  In the past, applying patches from this vendor have caused new and completely unrelated problems to arise, so I want to understand the change being made even before applying it to a test instance.</p>
  
  <p>I've got the two .class files side by side, the one extracted from the currently running version and the updated one from the vendor.  <a href="http://www.kpdus.com/jad.html" rel="noreferrer">JAD</a> and <a href="http://jreversepro.blogspot.com/" rel="noreferrer">JReversePro</a> both decompile and disassemble (respectively) the two versions to the same output.  However, the .class files are different sizes and I see differences in the output of <code>od -x</code>, so they're definitely not identical.</p>
  
  <p>What other steps could I take to determine the difference between the two files?</p>
  
  <p><hr/>
  Conclusion:</p>
  
  <p>Thanks for the great responses.  Since <code>javap -c</code> output is also identical for the two class files, I am going to conclude that Davr's right and the vendor sent me a placebo.  While I'm accepting Davr's answer for that reason, it was Chris Marshall and John Meagher who turned me on to javap, so thanks to all three of you.</p>