答:
Set
里的元素是不能重复的,用
equals ()
方法来区分重复与否。 覆盖
equals()
”
方法 用来判断对象的内容是否相同,而
== ”
判断地址是否相等
, 用来
决定引用值是否指向同一对象。
12.sleep()
和
wait()
有什么区别
? 【基础】
答:
sleep
是线程类(
Thread )的方法,导致此线程暂停执行指定时间,把执行
机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用
sleep
不 会
释放对象锁。
wait
是
Object
类的方法,对此对象调用
wait 方法导致本线程放
弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出
notify
方法( 或
notifyAll )后本线程才进入对象锁定池准备获得对象锁进入运行状态。
13.请说出你所知道的线程同步的方法。【基础】
答:
wait():
使一个线程处于等待状态,并且释放所持有的对象的
lock ;
sleep():
使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此 方
法要捕捉
InterruptedException 异常;
notify(): 唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,
并不能确切的唤醒某一个等待状态的线程,而是由
JVM
确定唤醒哪个线程,而 且
不是按优先级;
notifyAll():
唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程 一
个对象的锁,而是让它们竞争。
14.同步和异步有何异同,在什么情况下分别使用他们?举例说明。【基础】
答:如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,
或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,
必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行 的
方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情 况
下采用异步途径往往更有效率。
15.线程的基本概念、线程的基本状态以及状态之间的关系?【基础】
答:线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序 至
少都有一个线程,也就是程序本身;
Java 中的线程有四种状态分别是:运行、就绪、挂起、结束。
96
、
UML 是什么?常用的几种图?【基础】
答:
UML
是标准建模语言;常用图包括:用例图
,
静态图
(
包括类图、对象图和 包
图
),
行为图
,
交互图
(
顺序图
,
合作图
), 实现图。
98
、说说你所熟悉或听说过的
j2ee
中的几种常用模式
? 及对设计模式的一些看
法。【中等难度】
答:
Session Facade Pattern
:使用
SessionBean
访问
EntityBean ;
Message Facade Pattern :实现异步调用;
EJB Command Pattern
:使用
Command JavaBeans
取代
SessionBean ,实现
轻量级访问;
Data Transfer Object Factory
:通过
DTO Factory
简化
EntityBean 数据
提供特性;
Generic Attribute Access
:通过
AttibuteAccess
接口简化
EntityBean
数据提供特性;
Business Interface
:通过远程(本地)接口和
Bean 类实现相同接口规范
业务逻辑一致性;
EJB
架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件 可
重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要 性 。
99
、
Java 中常用的设计模式?说明工厂模式?【中等难度】
Factory,Singleton,Facade,Decorator,Command,Iterator
答 :
Java
中的
23
种设计模式:
Factory
(工厂模式),
Builder
(建造模式),
Factory
Method
(工厂方法模式),
Prototype
(原始模型模式),
Singleton
(单例模 式 ),