1.Java语言有哪些特点
Java语言是一种跨平台、适合于分布式计算环境的面向对象的编程语言。它具有的特点有很多,如简单性、面向对象、分布式、解释型、可靠性、安全性、平台无关性、可移植性、高性能、多线程、动态性等。
2.什么是Java虚拟机
3.什么是字节码?采用自解码的最大的好处是什么?
4.什么是平台无关性?JAVA语言是怎样实现平台无关性的?
大部分计算机语言程序都必须先经过编译(compile)或解释(interpret)的操作后,才能在计算机上运行,例如C/C++等是属于编译型的语言,而Basic与Lisp等则是属于解释性的语言。然而,Java程序(.java文件)却比较的特殊,他必须先经过编译的过程,然后再利用解释的方式来运行。通过编译器(compiler),Java程序会被转成与平台无关(platform-independent)的机器码,Java称之为“字节码(byte-code)”,字节码文件的扩展名为.class。通过Java的解释器(interpreter)便可解释并运行Java的字节码文件。
字节码是Java虚拟机(Java Virtual Machine,JVM)的指令组,和CPU上的微指令码很相像。它的形式为“<操作码><操作数>”,其中操作码就是指令码。JAVA语言编译成字节码后文件尺寸较小,便于网络传输。
字节码最大的好处就是可跨平台运行,即Java的字节码可以编写一次,到处运行。用户使用任何一种Java编译器将Java源程序(.java)编译成字节码文件(.class)后,无论使用哪种操作系统,都可以是在含有JVM的平台上运行。这种跨平台的特性,也是让Java语言极速普及的原因之一。
任何一种可以运行Java字节码的软件均可以看成是Java的“虚拟机”,如浏览器与Java开发工具等皆可以视为一个JVM。很自然的,可以把Java的字节码看成是JVM上所运行的机器码(machine code),即JVM中的解释器负责将字节码解释成本地的机器码。所以从底层上看,JVM就是以Java字节码为指令组的“软CPU”。也就是说,JVM是可运行Java字节码的假想计算机。它的作用类似于Windows操作系统,只不过在Windows上运行的是.exe文件,而在JVM上运行的是Java字节码文件,也就是扩展名为.class的文件。JVM其实就是一个字节码解释器。
5.Java语言程序有哪几种?它们包含哪几个方面?
使用Java语言可以编写两种类型的程序:Application(应用程序)和Applet(小程序)。这两种程序的开发原理是相同的,但是在运行环境和计算结构上却有着显著的不同。
应用程序是从命令行运行的程序,它可以在Java平台上独立运行,通常称之为Java应用程序。Java应用程序是独立完整的程序,在命令行调用独立的解释器软件即可运行。另外,Java应用程序的主类必须包含有一个定义为public static void main(String[] args)的主方法,这个方法是Java应用程序的标志,同时也是Java应用程序的执行入口点,也就是说在应用程序中包含有main()方法的类一定是主类,但是主类并不一定要求是public类。
小程序是嵌入在HTML(超文本标记语言)文档中的Java程序,需要搭配浏览器来运行,因此称为小程序。由此可见,当运行一个Java小程序时,同时还要为它编写一个HTML文件,然后再www浏览器中运行这个HTML文件,就可以激活浏览器中Java解释器。另外,也可以调用一些能够模拟浏览器环境并执行Java小程序的软件来直接运行Java小程序。由于浏览器受安全控制的限制,所以Java小程序一般使用模拟浏览器环境的软件来执行。
6.什么是Java程序的主类?应用程序与小程序的主类有何不同?
无论是应用程序还是小程序都必须有一个主类,主类是程序执行的起始点。
小程序的主类(程序执行的入口点)必须是一个继承自系统类JApplet或者Applet的子类,且该类必须是public类;而Java应用程序的主类,必须是包含有主方法的main()的类,但应用程序的主类并不一定是public类。