# Memory Safety

Memory Safety is the state of being protected from vulnerabilities that can arise from improper memory access control, such as buffer overflows.

Virtually all high-level programming languages implement some kind of memory safety; for example, most of them will check that an array index is in bounds before attempting to access it.&#x20;

In this section we will explore **garbage collection** and other techniques implemented by various languages to provide memory safety.
