Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(ByteCode)(class文件的内容),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

 

跨平台:

话说,在北京,一般都是讲北京话的,上海,一般都是将上海话,广东,广东话...
现有一公文发出,要全国执行,该当如何?——先统一翻译成普通话。各地在将普通话版本翻译成当地的方言。

这里,北京、上海就是不同类型的机器windows,

复制代码
 1 public class  Main {    2  3 private static int size=1;    4  5 public static void main(String args[]) {     6  7 User u = new User();    8  9 u.setName("李文水");   10 11 u.setPwd("159");   12 13 String name = u.getName();   14 15 String pwd = u.getPwd();   16 17 u = null;   18 19 }   20 21 }   22 23 public class User {   24 25 private String name;   26 27 private String pwd;   28 29 public String getName() {   30 31 return name;   32 33 }   34 35 public void setName(String name) {   36 37 this.name = name;   38 39 }   40 41 public String getPwd() {   42 43 return pwd;   44 45 }   46 47 public void setPwd(String pwd) {   48 49 this.pwd = pwd;   50 51 }   52 53 } 
复制代码