We have many different forums here at the Ranch. This one is devoted to programming with threads. We have others that are devoted to general Java issues. I'm going to move this to our Java beginner's forum.
Java is not "pure" OO because it has primitives. We've had lots of discussions about what "pure" means and I for one concluded it doesn't matter and I don't care. I get paid to use Java and I'm pretty happy about that. Knowing a little about other OO languages helps me some times, but not because they are more or less "pure".
You can do pretty darned good OO with Java. The designer's decision to put all code within classes encourages us to keep trying to do better. Including an alternate structure for code outside of classes might well have a place in the world, but not in Java's.
BTW: The real answer is OO == Smalltalk because Alan Kay invented both and said so.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi