There is an explanation in the 1.7.0u10 release notes.
The JRE relies on periodic checks with an Oracle Server to determine
if it (the JRE)is still considered up-to-date with all the available
security fixes (above the security baseline). In the past, if the JRE
was unable to contact the Oracle Server, it continued to behave as
though it is still the most recent version with regard to security,
for an indefinite period.
To avoid this problem, a secondary mechanism, that does not rely on
external communication, has been added to the JDK 7u10. From this
release onwards, all JREs will contain a hard-coded expiration date.
The expiration date is calculated to end after the scheduled release
of the next Critical Patch Update.
The online check gets its data from https://javadl-esd-secure.oracle.com/update/baseline.version , I believe.
The expiration date and versions hardcoded in the JRE are stored in the BuiltInProperties.class
located in the deploy.jar
For 1.7.0u45, we have
public static final boolean JRE_BASELINE_CHECKS_ENABLED = true;
public static final String JRE_EXPIRATION_DATE = "02/14/2014";
public static final String BASELINE_VERSION_131 = "1.3.1_21";
public static final String BASELINE_VERSION_142 = "1.4.2_43";
public static final String BASELINE_VERSION_150 = "1.5.0_55";
public static final String BASELINE_VERSION_160 = "1.6.0_65";
public static final String BASELINE_VERSION_170 = "1.7.0_45";
public static final String BASELINE_VERSION_180 = "1.8.0";
public static final String CURRENT_VERSION = "1.7.0_45";
public static final String CURRENT_NODOT_VERSION = "170";
public static final String DEPLOY_VERSION = "10.45.2.18";
public static final String DEPLOY_NOBUILD_VERSION = "10.45.2";
public static final String DEPLOY_NODOT_VERSION = "10452";
public static final String JAVAWS_NAME = "javaws-10.45.2.18";
public static final String JAVAWS_VERSION = "10.45.2.18";