3 weeks is a pretty tight deadline. I had been playing with Java for about 6 months, but when I started studying for the exam, I took 3 months out to study. When you play with the language, you don't usually learn all the finer details like what happens when you do an unsigned right shift on a negative number by 33 as opposed to 32.
Good luck to you. I would recommend two things. Do as many mocks as you can and go over to the certification forums and feel comfortable that you can answer 95% of those questions. That is how I knew I was well prepared.
Bill