1)是的
2)字节代码与操作系统无关,jvm提供一套统一的api,这些api的实现调用系统的api,故此只要在不同的操作系统下实现jvm所需的接口,就可以运行字节码了。
3)vc是直接编译成机器码,有些机器码是对windows的api的调用的。