筆試集(3)

          運(yùn)行時(shí)異常與一般異常有何異同?

          異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。
          2)
          說(shuō)出ArrayList,Vector, LinkedList的存儲(chǔ)性能和特性

          ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。
          3)

          設(shè)計(jì)4個(gè)線程,其中兩個(gè)線程每次對(duì)j增加1,另外兩個(gè)線程對(duì)j每次減少1。寫(xiě)出程序。

          以下程序使用內(nèi)部類(lèi)實(shí)現(xiàn)線程,對(duì)j增減的時(shí)候沒(méi)有考慮順序問(wèn)題。

          public class ThreadTest1{

          ???????? private int j;

          ???????? public static void main(String args[]){

          ????????????????? ThreadTest1 tt=new ThreadTest1();

          ?????????????????? Inc inc=tt.new Inc();

          ?????????????????? Dec dec=tt.new Dec();

          ?????????????????? for(int i=0;i<2;i++){

          ??????????????????????????? Thread t=new Thread(inc);

          ??????????????????????????? t.start();

          ??????????????????????????? t=new Thread(dec);

          ??????????????????????????? t.start();

          ?????????????????? }

          ???????? }

          ???????? private synchronized void inc(){

          ?????????????????? j++;

          ????????????????? System.out.println(Thread.currentThread().getName()+"-inc:"+j);

          ???????? }

          ???????? private synchronized void dec(){

          ?????????????????? j--;

          ????????????????? System.out.println(Thread.currentThread().getName()+"-dec:"+j);

          ???????? }

          ????????

          ???????? class Inc implements Runnable{

          ?????????????????? public void run(){

          ??????????????????????????? for(int i=0;i<100;i++){

          ???????????????????????????????????? inc();

          ??????????????????????????? }

          ?????????????????? }

          ???????? }

          ???????? class Dec implements Runnable{

          ?????????????????? public void run(){

          ??????????????????????????? for(int i=0;i<100;i++){

          ???????????????????????????????????? dec();

          ??????????????????????????? }

          ?????????????????? }

          ???????? }

          }
          4)
          事務(wù)是什么?

          事務(wù)是作為一個(gè)邏輯單元執(zhí)行的一系列操作,一個(gè)邏輯工作單元必須有四個(gè)屬性,稱(chēng)為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個(gè)事務(wù):

          原子性

          事務(wù)必須是原子工作單元;對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。

          一致性

          事務(wù)在完成時(shí),必須使所有的數(shù)據(jù)都保持一致?tīng)顟B(tài)。在相關(guān)數(shù)據(jù)庫(kù)中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時(shí),所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如 B 樹(shù)索引或雙向鏈表)都必須是正確的。

          隔離性

          由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。事務(wù)查看數(shù)據(jù)時(shí)數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會(huì)查看中間狀態(tài)的數(shù)據(jù)。這稱(chēng)為可串行性,因?yàn)樗軌蛑匦卵b載起始數(shù)據(jù),并且重播一系列事務(wù),以使數(shù)據(jù)結(jié)束時(shí)的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。

          持久性

          事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)系統(tǒng)故障也將一直保持。
          5)
          游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?

          游標(biāo)用于定位結(jié)果集的行,通過(guò)判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于0表示出錯(cuò)或到了最后
          6)
          EJB
          ?? **1、EJB容器提供的服務(wù)

          ???????? 主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務(wù)管理、鎖和并發(fā)行管理等服務(wù)。

          ?? 2、EJB的角色和三個(gè)對(duì)象

          ???????? EJB角色主要包括Bean開(kāi)發(fā)者 應(yīng)用組裝者 部署者 系統(tǒng)管理員 EJB容器提供者 EJB服務(wù)器提供者

          ???????? 三個(gè)對(duì)象是Remote(Local)接口、Home(LocalHome)接口,Bean類(lèi)

          ?? 2、EJB的幾種類(lèi)型

          ???????? 會(huì)話(Session)Bean ,實(shí)體(Entity)Bean 消息驅(qū)動(dòng)的(Message Driven)Bean

          ???????? 會(huì)話Bean又可分為有狀態(tài)(Stateful)和無(wú)狀態(tài)(Stateless)兩種

          ???????? 實(shí)體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種

          ?? 3、bean 實(shí)例的生命周期

          ???????? 對(duì)于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對(duì)于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實(shí)例,設(shè)置上下文、創(chuàng)建EJB Object(create)、業(yè)務(wù)方法調(diào)用、remove等過(guò)程,對(duì)于存在緩沖池管理的Bean,在create之后實(shí)例并不從內(nèi)存清除,而是采用緩沖池調(diào)度機(jī)制不斷重用實(shí)例,而對(duì)于存在Cache管理的Bean則通過(guò)激活和去激活機(jī)制保持Bean的狀態(tài)并限制內(nèi)存中實(shí)例數(shù)量。

          posted on 2006-12-08 14:03 youngturk 閱讀(240) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 筆試題

          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結(jié)構(gòu)
          4 口語(yǔ)英語(yǔ)

          常用鏈接

          留言簿(6)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          相冊(cè)

          EJB學(xué)習(xí)

          Flex學(xué)習(xí)

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 类乌齐县| 东方市| 泰宁县| 泰顺县| 静乐县| 高雄县| 天峻县| 谷城县| 揭东县| 玉树县| 苏尼特右旗| 娄烦县| 包头市| 桃园县| 娱乐| 韩城市| 邛崃市| 永兴县| 许昌市| 嘉荫县| 寻甸| 泸水县| 庆云县| 中西区| 焦作市| 峨山| 泰宁县| 乌鲁木齐县| 都匀市| 葫芦岛市| 定结县| 阳曲县| 樟树市| 钟山县| 泸水县| 伊吾县| 丰原市| 民和| 乐亭县| 图们市| 武汉市|