I have used the properties file many times in java for storing the static values and removing the hard-coded code from the program. But I have used it for only few say hundreds of values. However I am curious about how actually the properties file works ? 

How do they manipulate and store the values given in the file?

How efficient are they i.e. if we are using thousands of values in a properties file will it be equally efficient as the properties file with small values ? *if there is linear increase in processing required or there is high overhead of processing ?*