没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
、 面向对象的特征有哪些方面
抽象;继承;封装;多态性;
、 是最基本的数据类型吗
基本数据类型包括 、、、、、、 和 。
类是 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用
类
、和 有什么区别
提供两种不同的类型:引用类型和原始类型(或内置类型)。 是 的原始数据类型, 是 为 提
供的封装类。 为每个原始类型提供了封装类。
原 始 类 型 封 装 类
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括 :
大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值 。
对象引用实例变量的缺省值为 ,而原始类型实例变量的缺省值与它们的类型有关。
、和 的区别
! 平台提供了两个类: 和 ,它们可以储存和操作字符串,即包含多个字符的字符数据。这个
类提供了数值不可改变的字符串。而这个 类提供的字符串进行修改。当你知道字符数据要改变的时候
你就可以使用 。典型地,你可以使用 来动态构造字符数据。
、运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行
错误。 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
、说出 的生命周期,并说出 和 的区别。
被服务器实例化后,容器运行其 方法,请求到达时运行其 方法, 方法自动派遣运行与请求对
应的 """ 方法(#,$)等,当服务器决定将实例销毁的时候调用其 方法。
与 的区别在于 处于服务器进程中,它通过多线程方式运行其 方法,一个实例可以服务于多个请求,并
且其实例一般不会销毁,而 # 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于 。
、说出 !"# 的存储性能和特性
和 ! 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直
接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢, ! 由于使用了
% 方法(线程安全),通常性能上较 差,而 & 使用双向链表实现存储,按序号索引数据
需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
$、%& 是基于哪些技术实现的?并说出 ! 和 % 的区别,' 和
的区别。
' 包括 、'、(,基于 )、*(、 + 等技术实现。
在 ,'' 应 用程 序 中 被 用 来 完 成 一 些 服 务 器 端 的 业 务 操作 , 例 如 访 问 数 据 库 、 调 用 其 他 ' 组 件 。
' 被用来代表应用系统中用到的数据。
对于客户机, 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,' 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业
应用程序实现的实体。
还可以再细分为 -与 ,这两种的 都可
以将系统逻辑放在 . 之中执行,不同的是 -可以记录呼叫者的状态,因此通常来说,一个
使用者会有一个相对应的 -的实体。虽然也是逻辑组件,但是他却不负
责记录使用者状态,也就是说当使用者呼叫 的时候,'并不会找寻特定的
的实体来执行这个 .。换言之,很可能数个使用者在执行某个
的 .时,会是同一 个 的 在执行 。 从 内存方面来 看 , - 与
比较, -会消耗 ,''较多的内存,然而 -
的优势却在于他可以维持使用者的状态。
(、! !和 ! ! 的区别。 是集合类的上级接口,继承与他的接口主要有 和
是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
)、*和**的区别。 /是位运算符,表示按位与运算,//是逻辑运算符,表示逻辑与()。
、+,-. 和 +,/ 的区别。 0(1 是 0 的轻量级实现(非线程安全
的实现),他们都完成了 (1 接口,主要区别在于 0(1 允许空()键值(&)2由于非线程安全,效率上可能
高于 0。
0(1 允许将 作为一个 的 & 或者 ,而 0 不允许。
0(1 把 0 的 方法去掉了,改成 和 3。因为 方法容易让人
引起误解。 0 继承自 类,而 0(1 是 4, 引进的 (1- 的一个实现。
最大的不同是,0 的方法是 % 的,而 0(1 不是,在多个线程访问 0 时,不需要自己
为它的方法实现同步,而 0(1就必须为之提供外同步。
0 和 0(1 采用的 5 算法都大概一样,所以性能不会有很大的差异。
、0001 的区别。 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继
承。 是异常处理语句结构的一部分,表示总是执行。% 是 6 类的一个方法,在垃圾收集器执行的时候会
调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
、.23和 423有什么区别1 是线程类(+)的方法,导致此线程暂停执行指定时间,给执行机会
给其他线程,但是监控状态依然保持,到时后会自动恢复。调用 1 不会释放对象锁。7 是 6 类的方法,对此
对象调用 7 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 - 方法(或
- )后本线程才进入对象锁定池准备获得对象锁进入运行状态。
、5!# 和 5# 的区别。5!## 的方法是否可以改变返回值的类型
方法的重写 6 和重载 6 是 多态性的不同表现。重写 6 是父类与子类之间多态性的一
种表现,重载 6 是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们
说该方法被重写 869。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏
蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载
869。6 的方法是可以改变返回值的类型
、! 和 6 .! 有什么区别
表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
:1表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过
了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,
并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
、/ 和 ' 有什么区别声明方法的存在而不去实现它的类被叫做抽象类(),
它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 类的
实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态
方法。 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方
法。知道其行为的其它类可以在类中实现这些方法。接口(-)是抽象类的变体
在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程
序体。接口只可以定义 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实
现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接
口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或
从接口类型转换,-运算符可以用来决定某对象的类是否实现了接口。
$、,. 和 " 有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式
进行处理。堆是栈的一个组成元素
(、'!4#和 # 的区别 -7 是服务器请求资源,服务器直接访问目标地址的 ;*,把那个 ;* 的响应
内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还
是原来的地址。 就是服务端根据逻辑2发送一个状态码2告诉浏览器重新去请求那个地址,一般来说浏览器会用刚
才请求的所有参数重新请求,所以 2< 参数都可以获取。
)、%& 与 &%7 的区别?是可复用的组件,对 并没有严格的规范,理论上讲,任何一个
类都可以是一个 。但通常情况下,由于 是被容器所创建(如 +.)的,所以 应具有
一个无参的构造器,另外,通常 还要实现 % 接口用于实现 的持久性。 实际上相当
于微软 6( 模型中的本地进程内 6( 组件,它是不能被跨进程访问的。'1相当于 6(,即分布
式组件。它是基于 的远程方法调用(*()技术的,所以 ' 可以被远程访问(跨进程、跨计算机)。但 ' 必须被
布署在诸如 =1、= 这样的容器中,' 客户从不直接访问真正的 ' 组件,而是通过其容器访问。' 容
器是 ' 组件的代理,' 组件由容器所创建和管理。客户通过容器来访问真正的 ' 组件。
、 7#和 的不同。 ) 是被声明为静态()的内部类,它
可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
、 &8 中 动 态 79:% 与 静 态 79:% 的 区 别 ? 动 态 );' 用 1> 动 作 实 现 ?1>
1@A1A@AA5B它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。静
态 );' 用 伪 码 实 现 2 定 不 会 检 查 所 含 文 件 的 变 化 , 适 用 于 包 含 静 态 页 面 ?CD
@A.ACB
、什么时候用 。 8断言9在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在
实现中, 就是在程序中的一条语句,它对一个 表达式进行检查,一个正确程序必须保证这个
表达 式的值为 ;如果该值 为 -,说明程序 已经处于不正确的状态 下,系统将给出警 告或退出。一般来说 ,
用于保证程序最基本、关键的正确性。 检查通常在开发和测试时开启。为了提高性能,在软件发布后 ,
检查通常是关闭的。
、 是什么为什么要有 # 是垃圾收集的意思(#)2内存处理是编程人员容易出现问题的
地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃, 提供的 # 功能可以自动监测对象是否超过作
用域从而达到自动回收内存的目的, 语言没有提供释放已分配内存的显示操作方法。
、,!;<;=<有什么错,!;<=;<有什么错4@4E4@4F4E
(4F4 运算结果是 型,需要强制转换类型2这样子才可以正确的编译) 4@4E4F@4E(可以正确编译)
、 -,>!#2>3 等 於 多少-,>!#2?>3 等 於 多 少(844G9@@4, (8H
44G9@@H44 方法返回与参数最接近的长整数,参数加 45, 后求其
、;42@61@3<创建了几个 5/A 两个
一个是”:%I2一个是 对”:%I的引用
$、设计 个线程,其中两个线程每次对 A 增加 ,另外两个线程对 A 每次减少 。写出程序。
以下程序使用内部类实现线程,对 增减的时候没有考虑顺序问题。
1++4 J
1E
1.8KL9
J
++4@7++489E
@789E
@789E
-8@ME?,EFF9J
+@7+89E
89E
@7+89E
89ENN
1 % 89J FFE .18++89).89FAH
>AF9EN
1 % 89J HHE .18++89).89FAH
>AF9EN
.1.*J
189J
-8@ME?4MMEFF9J
89EN
N
N
.1.*J189J-8@ME?4MMEFF9J89EN
N
N
N
(、& 有没有 !! 中的保留字,现在没有在 中使用。
)、启动一个线程是用 23还是 23启动一个线程是调用 89方法,使线程所代表的虚拟处理机处于可运行状
态,这意味着它可以由 !( 调度并执行。这并不意味着线程就会立即运行。89方法可以产生必须退出的标志来停止一个
线程。
、%& 包括(!%)说出他们的生命周期,及如何管理事务的?
:的生命周期是由容器决定的,当客户机发出请求要建立一个 的实例时,
' 容器不一定要创建一个新的 的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调
用一个 -时,容器必须立即在服务器中创建一个新的 实例,并关联到客户机上,以后此客户
机调用 -的方法时容器会把调用分派到与此客户机相关联的 实例
':' 能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在, ' 就一
直存活。而不是按照应用程序或者服务进程来说的。即使 ' 容器崩溃了,' 也是存活的。' 生
命周期 能够被容器或者 自己管理。' 通过以下技 术管理实 务:对象 管理组织 ( 6(#)的对 象实务 服务
( 6+ ) , (. 的 + ( + ) 、 + $ ( + ) , 开 发 组
("561)的 " 接口。
、应用服务器有那些?
' =,(=1 11,6O 11,,+.
、给我一个你最常见到的 B6 .!。
.':12 ':12 67':12 ;7':12
*':12 ;':12 ':12 ((':12
(':12 6(':12 '.1&':12 .':12
(':12 $':12 ':12 .61':12
:66-':12 (*':12 ) %':12
)'.':12 )$':12 $':12 $':12
*.':12 ':12 .':12 ;+7':12
;.':12;1161':1
、接口是否可继承接口抽象类是否可实现2B.B3接口抽象类是否可继承实体类2 ! 3
接口可以继承接口。抽象类可以实现8.1.9接口2抽象类是否可继承实体类,但前提是实体类必须有明确的构造函
数。
、-. 是否继承自 ! ! 接口, 是,(1 不是
、说出数据连接池的工作机制是什么
,'' 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时
池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新
建连接的数量有配置参数决定。
当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
、/ 的 B,!# 是否可同时是 是否可同时是 ,是否可同时是 ,!1#都不能
C这个修饰符修饰的类或者方法2表示里边的代码不是用纯 ! 编写2有可能用 或者 FF2这些方法及类可
以调用2但 ! 中看不到代码
$>数组有没有 ,23这个方法 有没有 ,23这个方法?数组没有 89这个方法,有 的属性。
有 89这个方法
(、 里的元素是不能重复的,那么用什么方法来区分重复与否呢是用;;还是 D23它们有何区别
里的元素是不能重复的,那么用 89方法来区分重复与否。<89是判读两个 是否相等。<89和@@
方法决定引用值是否指向同一对象 <89在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
)、构造器 ! ! 是否可被 !#构造器 不能被继承,因此不能重写 6,但可以被
重载 6。
、4 , 是否能作用在 / 上,是否能作用在 ! 上,是否能作用在 上7(:14)中,:14 是
一个整数表达式。因此传递给 7和 语句的参数应该是 、 、 或者 。2都不能作
用于 7
、EF里有一个 语句,那么紧跟在这个 后的 0EF里的 !# 会不会被执行,什么时候被执行,
在 前还是后会执行,在 前执行。
、编程题C用最有效率的方法算出 乘以 $ 等於几,??P
、两个对象值相同26>D23;;3,但却可有不同的 ,, !#,这句话对不对不对,有相同的
。
如果两个值相等,那么 <89方法相等,表示两个方法的对像相等,这表示,引用的对像的地址相等,这样就有相同的
、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是
值传递还是引用传递是值传递。编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数
的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
、当一个线程进入一个对象的一个 ,!1#( )方法后,其它线程是否可进入此对象的其它
方法
不能,一个对象的一个 % 方法只能由一个线程访问。
$、编程题C写一个 ! 出来。
模式主要作用是保证在 应用程序中,一个类 只有一个实例存在。一般 模式通常有几种种
形式>第一种形式>定义一个类,它的构造函数为 1 的,它有一个 的 1 的该类变量,
在类初始化时实例话 通过一个 1 的 方法获取对它的引用 , 继而调用其中的方法
1
J189JN
1@789E
189
JE N
N
第二种形式>
1J
1@E
1%89J
-8@@9
=789E
E
N
N
其他形式>定义一个类,它的构造函数为 1 的,所有方法为 的。一般认为第一种形式要更加安全些
(、& 的接口和 ==的虚类的相同和不同处。==的纯虚类
由于 不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能
满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接
口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 12所有方法默认情况下是 1一个类
可以实现多个接口。
==的虚类纯虚类
纯虚类就像是接口2可以多重继承
虚类只是声明
Q
55-
!
J
1>
RRRRRRRRRR.89@MERRRRRRR
RRRRRRRRRR89J??A-A?NE
N
剩余31页未读,继续阅读
资源评论
南来北往的农民工
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功