第1章 Java语言概述

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类。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,534评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,470评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,958评论 18 399
  • 我,之于我来说,实在是个太纠结的人,太不成功的人。 梦想,是每个人都在追求的,我喜欢有梦想的人,因为自己没...
    馨语芭阅读 2,481评论 3 1
  • 它并不美 它落后 它贫穷 但它没有悲伤 它只是跟不上你的步伐
    诗篇_8221阅读 838评论 0 1