Damn this questions been asked a gazillion times, and everyone shud know this.
L2j (java) has more bugs than offical, and usually bad geodata (bad terrain, and hittin thru walls) however its easier to maintain and easier to add custom shit and what not
L2off (offical) has the least amount of bugs, and usually the best geodata, however its harder to maintain, harder customizing and u need to know more knowledge of programmin around that field, im not too sure about it cuz im not a dev and never ran my own server.
In conlcusion, if u want u may play java, its up to you, but offical is better in more ways of less bugs, better geodata, and sometimes less crashes.
hope that answered ur question, for more answers, www.google.com is your firend.