Well, if you really want to have the optimal classification speed, output your decision tree to... .class
. I.e. generate a code snippet for the tree, and compile it. This way, evaluation can be executed with the native speed of your Java Hotspot JRE.
Because you can encode a decision tree in program logic:
if (attribute_x < 0.1) {
switch(attribute_c) {
case BANANA: {
...
The main question is, how far you want to take this optimizations.