Question: I am wondering how do I know what name I should give for my CFBundleSignature and CFBundleIdentifier. I believe these are supposed to be unique identifier so do I have to somehow get these names from apple? Say my app is called javaapp and comes from the website javaapp. Should my CFBundleIdentifier be com.javaapp.javaapp? What 4 letters should I use for my CFBundleSignature?

Answer: 
The Bundle Identifier uniquely identifies your application. If you have registered a domain name, use that. Otherwise, just use `com.<your name>.<application name>`

The Bundle Signature is analogous to the "Creator Code" found in Classic Mac OS. It exists only for compatibility with Classic Mac OS apps and documents. Modern Mac OS X apps don't need to worry about assigning a Bundle Signature.
Yes, assuming that you own the domain name javaapp.com, com.javaapp.javaapp would be fine as a bundle ID. There are some rules; as I recall, the bundle ID parts can only contain letters, digits, and hyphens.

The bundle signature in new Xcode projects is initialized as ????. Apple used to have a web page where you could register a unique bundle signature (AKA creator code) but I can no longer find it, so I would assume that the concept is obsolete.