Hi! I would recommend BJJ and Muay Thai, that is currently what I take, it is very useful and effective in a 1 on 1 fight, especially against the non skilled. Against a knife/gun I can tell you all the defenses you would ever need to learn, ready:
1. Run!
2. Pick something up, throw at person, then run!
3. Pick up something and shield yourself till you can run!
4. Find someone that can teach you how to defend from a knife attack.
BJJ is great for many locks, etc. etc. I wouldnt really recommend that being your prime defense though, especially against multiples, for multiples you are doing what you need, CC, keep running!
The Thai kick can be devistating along with your elbows and knees, especially against a victim, err person

not expecting it!