====== Java Runtime Environment ====== This section is about programming for the //JRE// in //C++// **not** in //Java//. ===== Installation ===== The //JDK// comprises the //JRE//, so no need to install it apart. ==== Windows ==== Download link : http://www.oracle.com/technetwork/java/javase/downloads/index.html. Choose //JDK//. On 64 bits //Windows//, if you install both //x64// and //i585// version, the ''java'' command is always the //x64// one. If working under //Cygwin//, you can create aliases to easily switch between //x86// and //i585// version. ==== GNU/Linux (Debian) ==== The package to install is ''default-jdk''. Although it doesn't complain under //Windows//, under //GNU/Linux// the parameter of ''System.loadLibrary(...)'' should not contain a directory separator. So, the library should be found in ''java.library.path''. The content of the ''LD_LIBRARY_PATH'' is part of this properties. ==== MacOS ==== Install the corresponding ''.dmg''. ''/usr/libexec/java_home'' displays the //JDK// root path. ===== Issues ===== ==== 'CTRL-C' on 'Cygwin' ==== //CTRL-C// is not handled correctly by the //JRE// under //Cygwin// (//Cygwin// doesn't pass the signal to the //JRE//), i.e. the hooks added with ''Runtime.addShutdownHook(...)'' are not called on //CTRL-C//. There are no known workaround. https://stackoverflow.com/questions/11757643/