1. What is the difference between Localization and internationalization?

Internationalization is the process of changing your software so that it isn't hardwired to one language/locale/culture.
Localization is the process of adding the appropriate resources to your software so that a particular language/locale is supported. It's bigger in scope than just this Wikipedia entry, but it's a good start.

2. Do you know what is resource bundles in Java?

The place where an application stores its locale-specific data (isolated from source code).

When your program needs a locale-specific resource your program can load it from the resource bundle that is appropriate for the current user's locale.

3. Explain Locale in Java?

Locale represents languages and cultural preferences of a geographic area. The locale class has 2 constructors such as

locale(string Language, string Country)
locale(string Language, string Country, string variant)

4. What is Java internationalization and Java localization?

Internationalization is the process of developing globally accepted application. Localization is the means by which Internationalization application can be used for local regions.