The java computer is forced to play a bad move now and then, seemingly randomly, to make the results (win/loss/draw) resemble what you'd get against a human.
And while the results may be similar, as you can see the way it plays is completely artificial. (Sometimes you will notice it will give up a knight for no reason).
This is true to some extent with all engines by the way (not blunders so much as artificial kinds of moves). The best practice is against real people.
Why?