あなたは環境変数で指定したJDKのインストールパス(%のJAVA_HOME%の)に、JAVA_HOMEポイントを述べたように。
しかしJRE installation pathにのjava.homeポイントは、今では、アプリケーションを実行するために使用されたJREを返し、同じサーバー/コンピュータにJREとJDKの複数のバージョンを持つことができることを忘れないでください
また、使用するjreまたはjdkを指定するアプリケーションを実行できます。
だから、例えば、あなたがあなたの環境パス上にあるとします。
%JAVA_HOME% = C:\Program Files\Java\jdk1.6.0_24
しかし、あなたは、特定のJREを使用してアプリケーションを実行した場合:実行時にアプリケーション内で
"C:\Program Files (x86)\Java\jre1.8.0_73\bin\java" -jar TheJavaFile.jar
を、 java.homeの別のバージョンのJAVA_HOMEにアクセスします。
これは、変数とシステムプロパティのバージョンが異なる場合がある理由を説明します。
また、はJREが、その後、彼らは別の場所にインストールされているJDKとは異なる製品であるため、彼らはとの違い何について、
今独立しているので、パスは、かなり異なる場合があることに注意してくださいしてくださいJRE対1 JDK、この図はかなり明確にそれを説明する:

JDKは、JREのスーパーセットであり、かつJREにあるすべてのものが含まれ、プラスアプレットとアプリケーションの開発に必要なコンパイラやデバッガなどのツール。 JREは、ライブラリ、Java Virtual マシン(JVM)、およびJavaプログラミング言語で書かれたアプレットおよびアプリケーション を実行するためのその他のコンポーネントを提供します。
短く要点です。これは答えとしてマークする必要があります。 – Jay
JAVA_HOME = jdkのインストールパスとjava.home = jreのインストールパス...これは答えが必要な質問のようです:jreパスがjdkパスの中で一致しないのはなぜですか? ?その答えは「彼らは異なった独立した製品なので、同じ道を共有する必要はありません」という単純なものになる可能性があります。 –
@MarcoVargas - そうです。しかし、私の質問は - jdk = C:/ Program Files/Java/jdk1.8.0_112でしたし、なぜC:/ Program Files/Java/jdk1.8.0_112/jreにできないのですか? – yogsma