To response to your question "how did I attack my weak spots":
I took the generic JQ+ test. That test shows your the percentage in each area. If I received a low area. I would study the questions I missed. If necessary, I would study the whole are or just the area missed depending on what knowledge was missing.
Another thing I did was after I restudied an area. I would take the JQ+ exam just on that area. If I felt shaky I would start out with the easy exams, always checking for something I did not understand. If it was a small point, I would just understand it. If it was something I just did not understand, I would restudy again. Also, if I understood an answer and I just needed more clarification or some help on it, I would post the question on java ranch.
Another thing, when you get past learn the basics of the language and get down to just studying for the exam make sure you are studying something that is an objective. (It's easy to loose track, and loose lots of time studying things that are good but not on the exam.)
Have fun with it!