Lets go through the terms and what each of them mean to me, (IMHO), in the context of my personal life experience:
Racism is judging someone based on their apparent race, and while it is a form of stereotyping, based on prejudice and generalizing, it is not the only action that fits those terms.
Prejudice is a pre-judging of a person or group based on pre-concieved notions. Although it often occurs in a context of racism, it is not exclusively a racist term. I’ve seen prejudicial action based on religion, politics, style of dress, and even music preference.
Xenophobia is literally a fear of someone or something different. It’s what causes a fear of anyone we don’t know, or anything that’s not familiar. This is a basic human reaction that causes panic in situations ranging from new neighbors moving in, to discomfort with new office procedures, to the extreme of waging war on the neighboring tribe because they display tattoos that are different from “ours”.
Stereotyping is a type of false logic that works like this: John belongs to Group A and drives 5 mph below the speed limit. Mary also belongs to Group A, therefore she must always drive 5 mph below the speed limit.
Generalization: All these behaviors are forms of generalization, which is an assumption that the attributes of one member of a group would necessarily apply to every member of the group. I sometimes use generalizations in discussions (and in my posts here on Fluther), but when I use them I am very aware that it is a generalization, and will not necessarily apply to every member of the group, and I am extremely careful to state that I am speaking of the group “in general”, and not specifically any member.