Thanks for the reply, it was helpful. But what I still don't understand is how bootstrap compilers work? Or how anything in a computer that is a bootstrap works, my mind has a hard time when it's thinking about things in a computer that load themselves. >.<
A bootstrapping compiler is a compiler, nothing more, nothing less. It just happens to be written in the same language it compiles.
>my mind has a hard time when it's thinking about things in a computer that load themselves
Then your problem is understanding what a compiler is. It's completely irrelevant what language a compiler is written in unless you're trying to advertise your language. All a compiler does is convert one language into another. It could be Java into bytecode, or C++ into object code, or C into assembly, or any combination you'd care to imagine.
 A bootstrapping compiler is a non-trivial test of a language, which is used in making claims about the language's maturity.