/usr/bin/java linked to
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java. And its file content is different from
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java. But when I type
/usr/bin/java -version it prints
java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
So I'm curious about the implementation of /usr/bin/java and wondering why it can always point to the latest version of my JavaVirtualMachines?