dscacheutil -flushcache
For Windows, at least newer than Windows 9x, changes are immediate because of the changes Microsoft made. Since there are a lot of different Linux distributions, each one probably restarts the network service differently, but for Red Hat based OS's, service network restart
should do the trick. Technically, you don't have to restart the Linux machine at all, you just have to restart all the services dependent on the network and your hosts file. It is possible that these services should not be restarted without a full system reboot, but rebooting the system is much easier than killing and relaunching 8+ services and daemons :)