Java企业面试题.pdf
《Java企业面试题.pdf》由会员分享,可在线阅读,更多相关《Java企业面试题.pdf(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA面 试 笔 试 题 汇 总 1、面 向 时 象 的 特 征 有 哪 些 方 面 1.抽 象:抽 象 就 是 忽 略 一 个 主 题 中 与 当 前 目 标 无 关 的 那 些 方 面,以 便 更 充 分 地 注 意 与 当 前 目 标 有 关 的 方 面。抽 象 并 不 打 算 了 解 全 部 问 题,而 只 是 选 择 其 中 的 一 部 分,暂 时 不 用 部 分 细 节。抽 象 包 括 两 个 方 面,一 是 过 程 抽 象,二 是 数 据 抽 象。2.继 承:继 承 是 一 种 联 结 类 的 层 次 模 型,并 且 允 许 和 鼓 励 类 的 重 用,它 提 供 了 一 种
2、明 确 表 述 共 性 的 方 法。对 象 的 一 个 新 类 可 以 从 现 有 的 类 中 派 生,这 个 过 程 称 为 类 继 承。新 类 继 承 了 原 始 类 的 特 性,新 类 称 为 原 始 类 的 派 生 类(子 类),而 原 始 类 称 为 新 类 的 基 类(父 类)。派 生 类 可 以 从 它 的 基 类 那 里 继 承 方 法 和 实 例 变 量,并 且 类 可 以 修 改 或 增 加 新 的 方 法 使 之 更 适 合 特 殊 的 需 要。3.封 装:封 装 是 把 过 程 和 数 据 包 围 起 来,对 数 据 的 访 问 只 能 通 过 已 定 义 的 界 面。
3、面 向 对 象 计 算 始 于 这 个 基 本 概 念,即 现 实 世 界 可 以 被 描 绘 成 一 系 列 完 全 自 治、封 装 的 对 象,这 些 对 象 通 过 一 个 受 保 护 的 接 口 访 问 其 他 对 象。4.多 态 性:多 态 性 是 指 允 许 不 同 类 的 对 象 对 同 一 消 息 作 出 响 应。多 态 性 包 括 参 数 化 多 态 性 和 包 含 多 态 性。多 态 性 语 言 具 有 灵 活、抽 象、行 为 共 享、代 码 共 享 的 优 势,很 好 的 解 决 了 应 用 程 序 函 数 同 名 问 题。2、String是 最 基 本 的 数 据 类
4、型 吗?基 本 数 据 类 型 包 括 byte、int、char、long、float double、boolean 和 short。java.lang.String类 是 final类 型 的,因 此 不 可 以 继 承 这 个 类、不 能 修 改 这 个 类。为 了 提 高 效 率 节 省 空 间,我 们 应 该 用 StringBuffer类 3、i n t和 Integer有 什 么 区 别 J a v a提 供 两 种 不 同 的 类 型:引 用 类 型 和 原 始 类 型(或 内 置 类 型)。I n t是 ja v a的 原 始 数 据 类 型,Integer是 ja v a为
5、 in t提 供 的 封 装 类。Jav a为 每 个 原 始 类 型 提 供 了 封 装 类。原 始 类 型 封 装 类 booleanBooleancharCharacterbyte ByteshortShortintlntegerlongLongfloatFloatdoubleDouble引 用 类 型 和 原 始 类 型 的 行 为 完 全 不 同,并 且 它 们 具 有 不 同 的 语 义。引 用 类 型 和 原 始 类 型 具 有 不 同 的 特 征 和 用 法,它 们 包 括:大 小 和 速 度 问 题,这 种 类 型 以 哪 种 类 型 的 数 据 结 构 存 储,当引 用 类
6、 型 和 原 始 类 型 用 作 某 个 类 的 实 例 数 据 时 所 指 定 的 缺 省 值。对 象 引 用 实 例 变 量 的 缺 省 值 为 n u l l,而 原 始 类 型 实 例 变 量 的 缺 省 值 与 它 们 的 类 型 有 关。4 String 和 StringBuffer 的 区 另 UJAVA平 台 提 供 了 两 个 类:String和 StringB uffer,它 们 可 以 储 存 和 操 作 字 符 串,即 包 含 多 个 字 符 的 字 符 数 据。这 个 String类 提 供 了 数 值 不 可 改 变 的 字 符 串。而 这 个 StringBuff
7、er类 提 供 的 字 符 串 进 行 修 改。当 你 知 道 字 符 数 据 要 改 变 的 时 候 你 就 可 以 使 用 StringB uffer,典 型 地,你 可 以 使 用 StringBuffers来 动 态 构 造 字 符 数 据。5、运 行 时 异 常 与 一 般 异 常 有 何 异 同?异 常 表 示 程 序 运 行 过 程 中 可 能 出 现 的 非 正 常 状 态,运 行 时 异 常 表 示 虚 拟 机 的 通 常 操 作 中 可 能 遇 到 的 异 常,是 一 种 常 见 运 行 错 误。jav a编 译 器 要 求 方 法 必 须 声 明 抛 出 可 能 发 生
8、的 非 运 行 时 异 常,但 是 并 不 要 求 必 须 声 明 抛 出 未 被 捕 获 的 运 行 时 异 常。6、说 出 Servlet的 生 命 周 期,并 说 出 Servlet和 C G I的 区 别。Servlet被 服 务 器 实 例 化 后,容 器 运 行 其 in it方 法,请 求 到 达 时 运 行 其 service方 法,service方 法 自 动 派 遣 运 行 与 请 求 对 应 的 doXXX方 法(doGet,d o P o st)等,当 服 务 器 决 定 将 实 例 销 毁 的 时 候 调 用 其 destroy方 法。与 c g i的 区 别 在 于
9、 servlet处 于 服 务 器 进 程 中,它 通 过 多 线 程 方 式 运 行 其 service方 法,一 个 实 例 可 以 服 务 于 多 个 请 求,并 且 其 实 例 一 般 不 会 销 毁,而 C G I对 每 个 请 求 都 产 生 新 的 进 程,服 务 完 成 后 就 销 毁,所 以 效 率 上 低 于 servlet。7、说 出 ArrayList,Vector,LinkedList的 存 储 性 能 和 特 性 ArrayList和 Vector都 是 使 用 数 组 方 式 存 储 数 据,此 数 组 元 素 数 大 于 实 际 存 储 的 数 据 以 便 增
10、加 和 插 入 元 素,它 们 都 允 许 直 接 按 序 号 索 引 元 素,但 是 插 入 元 素 要 涉 及 数 组 元 素 移 动 等 内 存 操 作,所 以 索 引 数 据 快 而 插 入 数 据 慢,V ector由 于 使 用 了 synchronized方 法(线 程 安 全),通 常 性 能 上 较 ArrayList差,而 LinkedList使 用 双 向 链 表 实 现 存 储,按 序 号 索 引 数 据 需 要 进 行 前 向 或 后 向 遍 历,但 是 插 入 数 据 时 只 需 要 记 录 本 项 的 前 后 项 即 可,所 以 插 入 速 度 较 快。8、E J
11、B是 基 于 哪 些 技 术 实 现 的?并 说 出 SessionBean和 EntityBean的 区 别,StatefulBean和 StatelessBean 的 区 别。EJB 包 括 Session Bean、Entity Bean,Message Driven Bean 基 于 JNDI、RMI、JAT 等 技 术 实 现。SessionBean在 J2EE应 用 程 序 中 被 用 来 完 成 一 些 服 务 器 端 的 业 务 操 作,例 如 访 问 数 据 库、调 用 其 他 E JB组 件。EntityBean被 用 来 代 表 应 用 系 统 中 用 到 的 数 据。对
12、 于 客 户 机,SessionBean是 一 种 非 持 久 性 对 象,它 实 现 某 些 在 服 务 器 上 运 行 的 业 务 逻 辑。对 于 客 户 机,EntityBean是 一 种 持 久 性 对 象,它 代 表 一 个 存 储 在 持 久 性 存 储 器 中 的 实 体 的 对 象 视 图,或 是 一 个 由 现 有 企 业 应 用 程 序 实 现 的 实 体。Session Bean 还 可 以 再 细 分 为 Stateful Session Bean 与 Stateless Session Bean,这 两 种 的 Session Bean都 可 以 将 系 统 逻 辑
13、放 在 method之 中 执 行,不 同 的 是 Stateful Session B e a n可 以 记 录 呼 叫 者 的 状 态,因 此 通 常 来 说,一 个 使 用 者 会 有 一 个 相 对 应 的 Stateful Session B e a n的 实 体。Stateless Session B e a n虽 然 也 是 逻 辑 组 件,但 是 他 却 不 负 责 记 录 使 用 者 状 态,也 就 是说 当 使 用 者 呼 叫 Stateless Session B e a n的 时 候,EJB C ontainer并 不 会 找 寻 特 定 的 StatelessSess
14、ion B e a n的 实 体 来 执 行 这 个 method.换 言 之,很 可 能 数 个 使 用 者 在 执 行 某 个 StatelessSession B e a n的 m ethods时,会 是 同 个 B e a n的 Instance在 执 行。从 内 存 方 面 来 看,Stateful Session Bean 与 Stateless Session Bean 比 较,Stateful Session Bean 会 消 耗 J2EES erv er较 多 的 内 存,然 而 Stateful Session B e a n的 优 势 却 在 于 他 可 以 维 持 使
15、用 者 的 状 态。9、Collection 和 Collections 的 区 别。Collection是 集 合 类 的 上 级 接 口,继 承 与 他 的 接 口 主 要 有 S e t和 List.Collections是 针 对 集 合 类 的 一 个 帮 助 类,他 提 供 一 系 列 静 态 方 法 实 现 对 各 种 集 合 的 搜 索、排 序、线 程 安 全 化 等 操 作。10、&和&的 区 别。&是 位 运 算 符,表 示 按 位 与 运 算,&是 逻 辑 运 算 符,表 示 逻 辑 与(and)。11、HashMap 和 Hashtable 的 区 别。HashMap是
16、 Hashtable的 轻 量 级 实 现(非 线 程 安 全 的 实 现),他 们 都 完 成 了 M ap接 口,主 要 区 别 在 于 HashMap允 许 空(null)键 值(key),由 于 非 线 程 安 全,效 率 上 可 能 高 于 Hashlable。HashMap允 许 将 null作 为 一 个 entry的 key或 者 v a lu e,而 Hashtable不 允 许。HashMap JE Hashtable 的 contains 方 法 去 掉 了,改 成 containsvalue 和 containsKey。因 为 contains方 法 容 易 让 人 引
17、 起 误 解。Hashtable 继 承 自 Dictionary 类,而 HashMap 是 Javal.2 引 进 的 Map interface 的 一-个 实 现。最 大 的 不 同 是,H ashtable的 方 法 是 Synchronize的,而 H ashM ap不 是,在 多 个 线 程 访 问 Hashtable时,不 需 要 自 己 为 它 的 方 法 实 现 同 步,而 H ashM ap就 必 须 为 之 提 供 外 同 步。Hashtable和 HashMap采 用 的 hash/rehash算 法 都 大 概 一 样,所 以 性 能 不 会 有 很 大 的 差 异
18、。12、final,finally,finalize 的 区 别。fin a l用 于 声 明 属 性,方 法 和 类,分 别 表 示 属 性 不 可 变,方 法 不 可 覆 盖,类 不 可 继 承。finally是 异 常 处 理 语 句 结 构 的 一 部 分,表 示 总 是 执 行。finalize是 Object类 的 个 方 法,在 垃 圾 收 集 器 执 行 的 时 候 会 调 用 被 回 收 对 象 的 此 方 法,可 以 覆 盖 此 方 法 提 供 垃 圾 收 集 时 的 其 他 资 源 回 收,例 如 关 闭 文 件 等。13、sleep()和 w ait()有 什 么 区
19、别?s le e p是 线 程 类(T h re a d)的 方 法,导 致 此 线 程 暂 停 执 行 指 定 时 间,给 执 行 机 会 给 其 他 线 程,但 是 监 控 状 态 依 然 保 持,到 时 后 会 自 动 恢 复。调 用 sleep不 会 释 放 对 象 锁。w ait是 Object类 的 方 法,对 此 对 象 调 用 w ait方 法 导 致 本 线 程 放 弃 对 象 锁,进 入 等 待 此 对 象 的 等 待 锁 定 池,只 有 针 对 此 对 象 发 出 notify方 法(或 notifyA ll)后 本 线 程 才 进 入 对 象 锁 定 池 准 备 获 得
20、 对 象 锁 进 入 运 行 状 态。14、Overload和 Override的 区 别。Overloaded的 方 法 是 否 可 以 改 变 返 回 值 的 类 型?方 法 的 重 写 Overriding和 重 载 Overloading是 Jav a多 态 性 的 不 同 表 现。重 写 Overriding是 父 类 与 子 类 之 间 多 态 性 的 一 种 表 现,重 载 Overloading是 一 个 类 中 多 态 性 的 一 种 表 现。如 果 在 子 类 中 定 义 某 方 法 与 其 父 类 有 相 同 的 名 称 和 参 数,我 们 说 该 方 法 被 重 写(O
21、verriding)子 类的 对 象 使 用 这 个 方 法 时,将 调 用 子 类 中 的 定 义,时 它 而 言,父 类 中 的 定 义 如 同 被“屏 蔽”了。如 果 在 一 个 类 中 定 义 了 多 个 同 名 的 方 法,它 们 或 有 不 同 的 参 数 个 数 或 有 不 同 的 参 数 类 型,则 称 为 方 法 的 重 载(Overloading)。Overloaded的 方 法 是 可 以 改 变 返 回 值 的 类 型。15、error和 exception有 什 么 区 别?e rro r表 示 恢 复 不 是 不 可 能 但 很 困 难 的 情 况 下 的 一 种
22、严 重 问 题。比 如 说 内 存 溢 出。不 可 能 指 望 程 序 能 处 理 这 样 的 情 况。exception表 示 一 种 设 计 或 实 现 问 题。也 就 是 说,它 表 示 如 果 程 序 运 行 正 常,从 不 会 发 生 的 情 况。16、同 步 和 异 步 有 何 异 同,在 什 么 情 况 下 分 别 使 用 他 们?举 例 说 明。如 果 数 据 将 在 线 程 间 共 享。例 如 正 在 写 的 数 据 以 后 可 能 被 另 一 个 线 程 读 到,或 者 正 在 读 的 数 据 可 能 已 经 被 另 一 个 线 程 写 过 了,那 么 这 些 数 据 就
23、是 共 享 数 据,必 须 进 行 同 步 存 取。当 应 用 程 序 在 对 象 上 调 用 了 一 个 需 要 花 费 很 长 时 间 来 执 行 的 方 法,并 且 不 希 望 让 程 序 等 待 方 法 的 返 回 时,就 应 该 使 用 异 步 编 程,在 很 多 情 况 下 采 用 异 步 途 径 往 往 更 有 效 率。17、abstract class 和 interface 有 什 么 区 别?声 明 方 法 的 存 在 而 不 去 实 现 它 的 类 被 叫 做 抽 象 类(abstract c la s s),它 用 于 要 创 建 一 个 体 现 某 些 基 本 行 为
24、 的 类,并 为 该 类 声 明 方 法,但 不 能 在 该 类 中 实 现 该 类 的 情 况。不 能 创 建 abstract类 的 实 例。然 而 可 以 创 建 一 个 变 量,其 类 型 是 一 个 抽 象 类,并 让 它 指 向 具 体 子 类 的 一 个 实 例。不 能 有 抽 象 构 造 函 数 或 抽 象 静 态 方 法。A bstract类 的 子 类 为 它 们 父 类 中 的 所 有 抽 象 方 法 提 供 实 现,否 则 它 们 也 是 抽 象 类 为。取 而 代 之,在 子 类 中 实 现 该 方 法。知 道 其 行 为 的 其 它 类 可 以 在 类 中 实 现
25、这 些 方 法。接 口(interface)是 抽 象 类 的 变 体。在 接 口 中,所 有 方 法 都 是 抽 象 的。多 继 承 性 可 通 过 实 现 这 样 的 接 口 而 获 得。接 口 中 的 所 有 方 法 都 是 抽 象 的,没 有 一 个 有 程 序 体。接 口 只 可 以 定 义 static final成 员 变 量。接 口 的 实 现 与 子 类 相 似,除 了 该 实 现 类 不 能 从 接 口 定 义 中 继 承 行 为。当 类 实 现 特 殊 接 口 时,它 定 义(即 将 程 序 体 给 予)所 有 这 种 接 口 的 方 法。然 后,它 可 以 在 实 现
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 企业 试题
限制150内