没有合适的资源?快使用搜索试试~ 我知道了~
首页JAVA100题 java面试必备 java面试
资源详情
资源评论
资源推荐
书目
説明背景為灰色的為讀者本人的註釋
、面向对象的特征有哪些方面
抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当
前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,
暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
过程抽象是指从输入值到输出值集的映射,其定义域和值域均由数据抽象刻画。
数据抽象则提供了数据值及其上的运算符集
继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确
表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继
承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类
称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,
并且类可以修改或增加新的方法使之更适合特殊的需要。
封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对
象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的
对象,这些对象通过一个受保护的接口访问其他对象。
多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性
和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很
好的解决了应用程序函数同名问题。
、 是最基本的数据类型吗
基本数据类型包括 、、、、、、 和 。
类是 类型的,因此不可以继承这个类、不能修改这个类。为了提
高效率节省空间,我们应该用 类
、和有什么区别
!提供两种不同的类型:引用类型和原始类型(或内置类型)。" 是 的原始数据
类型," 是 为 提供的封装类。! 为每个原始类型提供了封装类。
原始类型封装类
#
"
$
%
&
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具
有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,
当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺
省值为,而原始类型实例变量的缺省值与它们的类型有关。
、和 的区别
!'(' 平台提供了两个类: 和 ,它们可以储存和操作字符串,即包含
多个字符的字符数据。这个 类提供了数值不可改变的字符串。而这个
类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用
。典型地,你可以使用 来动态构造字符数据。
、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可
能遇到的异常,是一种常见运行错误。 编译器要求方法必须声明抛出可能发生的非运
行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
、说出 的生命周期,并说出 和 的区别。
被服务器实例化后,容器运行其 方法,请求到达时运行其 方法,
方法自动派遣运行与请求对应的 ))) 方法(*,+)等,当服务器
决定将实例销毁的时候调用其 方法。
与 的区别在于 处于服务器进程中,它通过多线程方式运行其 方法,
一个实例可以服务于多个请求,并且其实例一般不会销毁,而 #*" 对每个请求都产生新的
进程,服务完成后就销毁,所以效率上低于 。
、说出 !"# 的存储性能和特性
'$ 和 ( 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便
增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等
内存操作,所以索引数据快而插入数据慢,( 由于使用了 , 方法(线程
安全),通常性能上较 '$ 差,而 $-$ 使用双向链表实现存储,按序号索引
数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入
速度较快。
双向链表:双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后
继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结
点。
$、%& 是基于哪些技术实现的?并说出 ! 和 % 的
区别,' 和 的区别。
.../! 包括 、/、0&,基于
!1&"、20"、!'3 等技术实现。
在 !// 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、
调用其他 /! 组件。/ 被用来代表应用系统中用到的数据。
对于客户机, 是一种非持久性对象,它实现某些在服务器上运行的业务逻
辑。
对于客户机,/ 是一种持久性对象,它代表一个存储在持久性存储器中的实体
的对象视图,或是一个由现有企业应用程序实现的实体。
还可以再细分为4与
,这两种的 都可以将系统逻辑放在5 之中执行,不同的是
4可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相
对应的4的实体。虽然也是逻辑组件,
但是他却不负责记录使用者状态,也就是说当使用者呼叫的时
候,/!#并不会找寻特定的的实体来执行这个
5。换言之,很可能数个使用者在执行某个的
5时,会是同一个的"在执行。从内存方面来看,4
与比较,4会消耗
!//较多的内存,然而4的优势却在于他可以维持使用
者的状态。
":实例
(、! !和! ! 的区别。
# 是集合类的上级接口,继承与他的接口主要有 和 $
# 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、
排序、线程安全化等操作。、
)、*和**的区别。
...6是位运算符,表示按位与运算,66是逻辑运算符,表示逻辑与()。
、+,-. 和 +,/ 的区别。
...708 是 7 的轻量级实现(非线程安全的实现),他们都完成了 08 接
口,主要区别在于 708 允许空()键值(-)9由于非线程安全,效率上可能
高于 7。
708 允许将 作为一个 的 - 或者 ,而 7 不允许。
708 把 7 的 方法去掉了,改成 和
:。因为 方法容易让人引起误解。
7 继承自 & 类,而 708 是 ! 引进的 084 的一
个实现。
最大的不同是,+,/ 的方法是 ,!0 的,而 +,-. 不是,在多个
线程访问 7 时,不需要自己为它的方法实现同步,而 708就必须为之提
供外同步。
7 和 708 采用的 ; 算法都大概一样,所以性能不会有很大的
差异。
&:字典9词典
、1110 的区别。
用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
是异常处理语句结构的一部分,表示总是执行。
, 是 < 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
、.23和423有什么区别
..第一种答案:
.8 是线程类(3)的方法,导致此线程暂停执行指定时间,给执行机会给其他
线程,但是监控状态依然保持,到时后会自动恢复。调用 8 不会释放对象锁。
= 是 < 类的方法,对此对象调用 = 方法导致本线程放弃对象锁,进入等待此对
象的等待锁定池,只有针对此对象发出 4 方法(或 4')后本线程才进入对象
锁定池准备获得对象锁进入运行状态。
第二种答案:
8方法是使线程停止一段时间的方法。在 8时间间隔期满后,线程不一定
立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,
除非>醒来”的线程具有更高的优先级
正在运行的线程因为其它原因而阻塞。
=是线程交互时,如果线程对一个同步对象 ?发出一个 =调用,该线程会暂停执
行,被调对象进入等待状态,直到被唤醒或等待时间到。
第三种答案:
功能差不多9都用来进行线程控制9他们最大本质的区别是@8不释放同步锁9=释
放同步锁
还有用法的上的不同是@85可以用时间指定来使他自动醒过来9如果时间
不到你只能调用 8来强行打断A=可以用 4直接唤起
、5!# 和 5# 的区别。5!## 的方法是否可以改变
返回值的类型
方法的重写 < 和重载 < 是 ! 多态性的不同表现。重写
< 是父类与子类之间多态性的一种表现,重载 < 是一个类中多态性
的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重
写<。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类
中的定义如同被B屏蔽B了。如果在一个类中定义了多个同名的方法,它们或有不同的参数
个数或有不同的参数类型,则称为方法的重载<。< 的方法是可
以改变返回值的类型。
< 是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。
< 是指同一个类中不同方法(可以在子类也可以在父类中定义)间的关系,这些方法有着相同的
名称和不同的参数类型。
应该翻译为“覆盖”, 才是“重载”但在 中“覆盖”即為“重寫”
、! 和 6 .! 有什么区别
表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能
指望程序能处理这样的情况。
...?8表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发
生的情况。
、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读
的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待
方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
C、 和 4 有什么区别D
声明方法的存在而不去实现它的类被叫做抽象类(),它用于要创建一个
体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建
类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类
的一个实例。不能有抽象构造函数或抽象静态方法。'类的子类为它们父类中的所
有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其
行为的其它类可以在类中实现这些方法。
接口(4)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实
现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定
义 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承
行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它
可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口
名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型
转换,4运算符可以用来决定某对象的类是否实现了接口。
:抽象类
$、,. 和 " 有什么区别。
栈-是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的
方式进行处理。
堆78是栈的一个组成元素
剩余32页未读,继续阅读
uucake
- 粉丝: 8
- 资源: 98
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 数据结构1800题含完整答案详解.doc
- 医疗企业薪酬系统设计与管理方案.pptx
- 界面与表面技术界面理论与表面技术要点PPT学习教案.pptx
- Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf
- 网页浏览器的开发 (2).pdf
- 路由器原理与设计讲稿6-交换网络.pptx
- 火电厂锅炉过热汽温控制系统设计.doc
- 企业识别CIS系统手册[收集].pdf
- 物业管理基础知识.pptx
- 第4章财务预测.pptx
- 《集成电路工艺设计及器件特性分析》——实验教学计算机仿真系.pptx
- 局域网内共享文件提示没有访问权限的问题借鉴.pdf
- 第5章网络营销策略.pptx
- 固井质量测井原理PPT教案.pptx
- 毕业实习总结6篇.doc
- UGNX建模基础篇草图模块PPT学习教案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0