没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
JAVA 总复习
第一部分
1.Java 基础
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 虚拟机有自己完善的硬件架构, 如
处理器、堆栈、寄存器等,还具有相应的指令系统。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 开始,
改名为 JavaSE,主要用于桌面应用软件的编程。
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
是否可连接
面向连接
面向非连接
传输可靠性
可靠的
不可靠的
速度
慢
快
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.land.oa.emp.struts.action。
5)常量的命名规范:基本数据类型的常量名为全大写,如果是由多个单词构成,可以用
下划线隔开,如:WEEK_OF_MONTH。
1.7.
阐述一下 Java 共有几种注释方法?
参考答案:
在 Java 中有三种注释类型:
1)单行注释符号是”//”,只能注释一行。
2)块注释符号是”/* */”,可以跨多行。
3)javadoc 注释符号是”/
**
*/”,可以跨多行,而且生成 javadoc 时,这样的注释
会被生成标准的 Java API 注释。
1.8.
如何增加代码的清晰度和可观性?
参考答案:
增加代码的清晰度和可观性常用的方法如下:
1)给代码添加注释。
2)类名包名等命名规范化。
3)缩进排版规范。
4)添加异常的处理。
5)使用测试类和测试方法。
1.9.
Java 中有两个关键字:void 和 null,它们有什么区别?
参考答案:
在 Java 中,void 仅用于无返回值的方法上,例如:
public void a(){}
该方法不需要返回数据,故返回值类型设置为 void。
null 则代表对象/变量的值,例如:
String a = null;
表示变量a 没有被实例化,没有指向具体的内存地址。
1.10.
Java 中结构化程序设计有哪三种基本流程,分别对应哪些语句?
参考答案:
Java 中结构化程序设计有三种基本流程,分别是顺序、选择、循环。其中,顺序表示程
序中的各操作是按照它们出现的先后顺序执行的;选择对应 Java 语言中 的 if 语句和
switch 语句;循环对应 Java 语言中的 for 语句、do-while 语句以及 while 语句。
1.11.&和&&的区别?
参考答案:
&和&&都可以执行关系判断。二者的区别是:&运算是把逻辑表达式全部计算完,而&&运
算具有短路计算的功能。所谓短路计算,是指系统从左到右进行逻辑表达式的计算,一旦出现
计算结果已经确定的情况,则计算过程即被终止。
1.12.
写出 Java 中 8 种原始类型及其字节长度
参考答案:
类型名称
字节空间
说明
byte
1 字节(8 位)
存储 1 个字节的数据
short
2 字节(16 位)
兼容性考虑,一般不用
int
4 字节(32 位)
存储整数(常用)
long
8 字节(64 位)
存储长整数(常用)
float
4 字节(32 位)
存储浮点数
double
8 字节(64 位)
存储双精度浮点数(常用)
char
2 字节(16 位)
存储一个字符
boolean
1 字节(8 位)
存储逻辑变量(true、false)
1.13.
请描述一下 JVM 加载 class 文件的原理机制
参考答案:
JVM 中类的装载是由ClassLoader 和它的子类来实现的,Java ClassLoader 是一个重要
的 Java 运行时系统组件,它负责在运行时查找和装入类文件中的类。
1.14.
你对软件开发中迭代的含义的理解
剩余245页未读,继续阅读
资源评论
骚气的小学生
- 粉丝: 37
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功