1.1. 这你认为Java与其他(你所了解的)语言相比,有什么优点和缺点?
参考答案:
首先,Java与C/C++相比。Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下 进行的,所以运行效率比起可以更接近底层的C/C++来说效率会有所影响,不过Java的类 库采用很好的设计理念,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的恃注受到开发者的青睐,只需要开发一次就能在所有安装了Java运行时库的环境上运行。
其次,Java与C#相比。C#是微软开发的一种编程语言,语法类似Java ,几乎就是Java的翻版。运行原理和Java也类似,也是通过运行时库的支持运行。不过支持的平台还很有限。Java几乎被所有平台支持,而C#目前只被Windows和linux支持,Windows下的支持当然是由微软自己开发的,而Linux下的支持则有mono支持。实际上,mono也是把C#应用转化为Java应用而已,所以本质上,C#仍然只是被微软自己的操作系统支持。应用平台受到限制,是它最大的缺点。
1.2. 请回答以下几个名词的意思:JVM、JDK、JRE、JavaSE、JavaEE,JavaME,GC
参考答案:
JVM : Java虚拟机,Java Virtual Machine的缩写。是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的5更体架构, 如处理器、tS栈'寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JDK : Java开发工具包,Java Development Kit的缩写。JDK是整个Java的核心, 包括了Java运行环境、Java工具和Java基础类库。
JRE : Java运行环境,Java Runtime Environment的缩写。运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
JavaSE : Java Standard Edition ,标准版,是我们常用的一个版本,从JDK 5.0开始, 改名为Java SE , 主要用于桌面应用软件的编程。
JavaEE : Java Enterprise Edition ,企业版。JavaEE 是 J2EE 的一个新的名称,主要用于分布式的网络程序的开发。
JavaME Java Micro Edition,是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供Java语言平台,包括虚拟机和一系列标准化的Java API。
GC : 垃圾回收,Garbage Collection的缩写。当Java虚拟机发觉内存资源紧张时, 则会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间。
1.3. JVM能有几个实例?
参考答案:
每个Java程序对应于一个JVM实例,当一个Java程序运行时就创建一个JVM实例, 因此JVM实例的个数取决于同时执行的程序个数。
1.4. Java跨平台是如何实现的?
参考答案:
Java是利用JVM (Java虚拟机)实现跨平台的。
Java源代码(*.java )经过Java编译器编译成Java字节码(.class ),执行Java字节码,Java字节码经过JVM解释为具体平台的具体指令,并执行。不同平台有不同的JVM , 主流平台都提供了JVM ,所以Java字节码可以在主流平台上能够解释执行。在这个意义上 Java是跨平台的,也就是说Java的字节码是跨平台的。
1.5. 简述TCP/UDP协议的区别?
参考答案:
TCP/UDP协议的区别如下表所示。
比较顷
TCP
UDP
是否可连接
面向连接
面向非连接
传输可靠性
可靠的
不可靠的
应用场合
传输大量数据
少量数据
速度
慢
快
1.6.阐述一下类的命名规则、方法的命名规则、变量的命名规则、包名的命名规则、常量的 命名规范?
参考答案:
在Java中,类的命名、方法的命名、变量的命名、包名的命名以及常量的命名首先必 须符合Java标识符的命名规则,规则如下:
1)可以以字母、数字、"-"和"$"符组成;
2)首字符不能以数字开头;
3)中文可以作为变量名,但不提倡使用;
4) Java大小写敏感,命名变量时需要注意;
5)不能使用Java保留字(一些Java语言规定好的,有特殊含义的字符),如:int、 if、for、break 等。
其次,类的命名、方法的命名、变量的命名、包名的命名以及常量的命名要符合如下规范:
1)类命名规范:首字母大写,如果由多个单词合成一个类名,要求每个单词的首字 母也要大写,如:HelloWorld。
2)方法命名规范:首字母小写,中间的每个单词的首字母都要大写,如:getName。
3)变量的命名规范:变量的命名规范和方法一样,首字母小写,中间的每个单词的 首字母都要大写,如:name。
4)包的命名规范Java包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规范中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。例如:"com.sun.swt"一般公司命名会以"com.公司名.项目名.模块名"开头,所以会长一点,如com.landoa.emp.struts.action。
5)常量的命名规范:基本数据类型的常量名为全大写,如果是由多个单词构成,可 以用下划线隔开,如:WEEK_OF_MONTH
1.7.阐述一下Java共有几种注释方法?
参考答案:
在Java中有三种注释类型:
1)单行注释符号是"//",只能注释一行。
2) 块注释符号是" /* */ ",可以跨多行。
3) javadoc注释符号是" /** */ " ,可以跨多行,而且生成javadoc时,这样的注释会被生成标准的Java API注释。
1.8.如何增加代码的清晰度和可观性?
参考答案:
增加代码的清晰度和可观性常用的方式如下:
给代码添加注释。
类名包名等命名规范化。
缩进排版规范。
添加异常的处理。
使用测试类和测试方法。 |
|