You don't need to restart the system. You just need to re-source the startup file.
. /path/to/bashrc #the dot is the source command
means reading the file into the current shell environment and executing everything in it, just as if it were manually run.
So of course you can also simply run the commands manually once so that they come into affect in the current session.
For login shells you may have to log out and back in again, but that's a far cry from having to restart. But then again, login shells don't read the .bashrc.
Now for the theory. Nothing you set in the shell is ever "permanent". When a shell starts, it automatically sources one or more start-up files, just as above. This allows you to run commands that configure the default environment or do other things. The shell may also inherit a few settings from the parent process (such as the system init), which is how you can get a default path even without any startup files.
And whenever a shell (or any process, really) exits, its environment is lost too.