1. This is a question that, for some reason, is asked regularly here and on other Internet forums. Some purists say that Java is not "100% object oriented", because not everything in Java is an object - there is a distinction between primitive types and objects, for example.
Note that the question is not very interesting in practice. It doesn't make you a better Java programmer if you can explain why or why not Java is a "pure object oriented" language or not.
2. One disadvantage of programming with threads is that it's more complex, and you have to be very careful with thread synchronization issues - if you don't be careful, you can make very hard to track bugs. This isn't specific to Java (i.e., it is the same in other programming languages).