Broker Consulting interview question

What are the @Target and @Retention annotations used for? What is the difference between RUNTIME and COMPILE retention policies?