the . hex file we burn goes to flash memory or RAM or EEPROM of Atmega8?
In standard use your code goes into the 8 Kbytes of Flash memory and variables go into the 1 Kbyte of SRAM. Note that because a hex file represents a single byte as a pair of hexadecimal characters and contains some other information it will be over twice the size of the actual code that will be loaded, so a hex file a bit over 16K should load.
The most reliable place to find out of much Flash and SRAM your code uses is from the compiler. If you're using Atmel Studio 6 in the build output area if you scroll up you should see something like:

Program Memory Usage : 540 bytes 0.8 % Full
Data Memory Usage : 0 bytes 0.0 % Full

So the program memory use shows how much of the Flash will be used and data memory usage shows how much of the SRAM will be used.