freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)類面試專業(yè)問題-文庫吧

2025-05-23 22:50 本頁面


【正文】 i=0,j=ij。i++){8argsClass[i]=args[i].getClass()。9}1011Methodmethod=(methodName,argsClass)。1213return(null,args)。14}基本的原理和實例3相同,不同點是最后一行,invoke的一個參數(shù)是null,因為這是靜態(tài)方法,不需要借助實例運(yùn)行。5.新建實例12publicObjectnewInstance(StringclassName,Object[]args)throwsException{3ClassnewoneClass=(className)。45Class[]argsClass=newClass[]。67for(inti=0,j=ij。i++){8argsClass[i]=args[i].getClass()。9}1011Constructorcons=(argsClass)。1213return(args)。1415}這里說的方法是執(zhí)行帶參數(shù)的構(gòu)造函數(shù)來新建實例的方法。如果不需要參數(shù),()來實現(xiàn)。ClassnewoneClass=(className):第一步,得到要構(gòu)造的實例的Class。第5~第9行:得到參數(shù)的Class數(shù)組。Constructorcons=(argsClass):得到構(gòu)造子。(args):新建實例。6.判斷是否為某個類的實例1publicbooleanisInstance(Objectobj,Classcls){2return(obj)。3}7.得到數(shù)組中的某個元素1publicObjectgetByArray(Objectarray,intindex){2return(array,index)。3}4)在java中怎樣實現(xiàn)多線程?(瞬聯(lián))與其他語言不一樣的是,線程的觀念在java是語言中是重要的,根深蒂固的,因為在java語言中的線程系統(tǒng)是java語言自建的, java中有專門的支持多線程的API庫,所以你可以以最快的速度寫一個支持線程的程序。在使用java創(chuàng)建線程的時候,你可以生成一個Thread類或者他的子類對象,并給這個對象發(fā)送start()消息(程序可以向任何一個派生自 Runnable 接口的類對象發(fā)送 start() 消息的),這樣一來程序會一直執(zhí)行,直到run返回為止,此時該線程就死掉了?!   ≡趈ava語言中,線程有如下特點:    167。 在一個程序中而言,主線程的執(zhí)行位置就是main。而其他線程執(zhí)行的位置,程序員是可以自定義的。值得注意的是對Applet也是一樣?!   ?67。 每個線程執(zhí)行其代碼的方式都是一次順序執(zhí)行的?!   ?67。 一個線程執(zhí)行其代碼是與其他線程獨立開來的。如果諸線程之間又相互協(xié)作的話,就必須采用一定的交互機(jī)制?!   ?67。 前面已經(jīng)說過,線程是共享地址空間的,如果控制不當(dāng),這里很有可能出現(xiàn)死鎖?!   「骶€程之間是相互獨立的,那么本地變量對一個線程而言就是完全獨立,私有的。所以呢,線程執(zhí)行時,每個線程都有各自的本地變量拷貝。對象變量(instance variable)在線程之間是可以共享的,這也就是為什么在java中共享數(shù)據(jù)對象是如此的好用,但是java線程不能夠武斷地訪問對象變量:他們是需要訪問數(shù)據(jù)對象的權(quán)限的?!   《?、準(zhǔn)備知識    在分析這個例子之前,然我們先看看關(guān)于線程的幾個概念,上鎖,信號量,和java所提供的API。    上鎖    對于大多數(shù)的程序而言,他們都需要線程之間相互的通訊來完成整個線程的生命周期,二實現(xiàn)線程之間同步的最簡單的辦法就是上鎖。為了防止相互關(guān)聯(lián)的兩個線程之間錯誤地訪問共享資源,線程需要在訪問資源的時候上鎖和解鎖,對于鎖而言,有讀鎖,寫鎖和讀寫鎖等不同的同步策略。在java中,所有的對象都有鎖;線程只需要使用synchronized關(guān)鍵字就可以獲得鎖。在任一時刻對于給定的類的實例,方法或同步的代碼塊只能被一個線程執(zhí)行。這是因為代碼在執(zhí)行之前要求獲得對象的鎖。    信號量    通常情況下,多個線程所訪問為數(shù)不多的資源,那怎么控制呢?一個比較非常經(jīng)典而起非常簡單的辦法就是采用信號量機(jī)制。信號量機(jī)制的含義就是定義一個信號量,也就是說能夠提供的連接數(shù);當(dāng)有一個線程占用了一個連接時,信號量就減一;當(dāng)一個線程是放了連接時,信號量就加一。采用這種方法就可以簡單有效地控制線程的同步問題,而且實現(xiàn)起來也特別方便??聪旅娴拇a:    class Semaphore {  private int count?! ublic Semaphore(int count) {   = count?!     public synchronized void acquire() {  while(count == 0) {  try catch (InterruptedException e) {  //keep trying  }  }  count?!     public synchronized void release() {  count++?! otify()。 //alert a thread that′s blocking on this semaphore  }  }    java中提供了哪些api以編寫多線程程序    這里只列出幾個常用的方法和屬性值?!   傩灾担腥齻€MAX_PRIORITY,MIN_PRIORITY,NORM_PRIORITY    方法:    Thread()。 //建立一個線程  void run()。 //對于一個繼承了Runnable接口的class而言,  //他運(yùn)行一個線程,否著他什么都不做  void setPriority(int newPriority)。 //設(shè)置優(yōu)先級  void start()。 //運(yùn)行一個程序  void sleep(long millis)。 //線程睡眠millis毫秒  static void yield()。 //臨時pause一個程序以便起他線程運(yùn)行    三、程序示例    例一、    讓我們看看下面的例子。取錢的流程是輸入密碼,然后確定要取得金額,如果所取的金額小于或等于可以取出的金額,WITHDRAW則返回TRUE,然后ATM機(jī)出錢,然后打印清單;否則返回FALSE,然后打印清單。如下圖:    public class AutomatedTellerMachine extends Teller {  public void withdraw(float amount) {  Account a = getAccount()?! f ((amount))  dispense(amount)?! rintReceipt()。  }  }      public class Account {  private float total。  public boolean deduct(float t) {  if (t = total) {  total = t。  return true。  }  return false?!   }    就這個例子而言,假設(shè)有這種情況,對同一個賬號可以在不同的地方取錢,在同一時間,不同地點,妻子和丈夫取錢,妻子輸入了賬號上的最大金額,丈夫也是一樣,假如妻子輸入后已經(jīng)得到true的返回值,但是丈夫的線程所得到的值還沒有更新,這樣丈夫也能夠得到true的返回值,這樣就出現(xiàn)了問題!這個問題怎么解決呢?在java里面提供了控制機(jī)制以保證deduct操作時的原子性,那就是關(guān)鍵字synchronized?!   ≡贏ccount的deduct方法加入synchronized就可以解決這個問題?!   ±?、    在這里我們用多線程中最典型的例子,生產(chǎn)者與消費者問題。在這個例子里面我們定義了生產(chǎn)者Producer,消費者Consumer和倉庫Warehouse三個類,在整個程序的生命周期里,生產(chǎn)者隨機(jī)地制造出產(chǎn)品放到倉庫中,消費者也是隨即地從倉庫中取出產(chǎn)品。    import ?!   ?**  *   * Consumer  * By: Jiabo  * Date: Mar 21, 2004  * Time: 2:47:58 PM  */  public class Consumer extends Thread {    private Warehouse warehouse。  private String id。    public Consumer(Warehouse warehouse, String id) {   = warehouse?! ?= id?!     public void run() {    int tmp = (int) () * 10。    try {  (tmp)?! ?Consumer + + get + tmp)?!  catch (ProducerConsumerException e)     try {  sleep((int) (() * 100))?!  catch (InterruptedException e)   }  }    在這個類中,值得注意的一點是run方法中必須使用trycatch,因為,消費者從倉庫中取東西時有可能諸如倉庫中的儲量不夠得異常,在消費者里面也是一樣,只不過異常變?yōu)閭}庫已滿?!   mport exception.*。    /**  *   * Producer  * By: Jiabo  * Date: Mar 21, 2004  * Time: 2:47:45 PM  */  public class Producer extends Thread {    private Warehouse warehouse。  private String id?!   ublic Producer(Warehouse warehouse, String id) {   = warehouse?! ?= id?!     public void run() {    int tmp = (int) () * 10?!   f (tmp != 0) {  try {  (tmp)?! ?Consumer + + put + tmp)。  } catch (ProducerConsumerException e)   }    try {  sleep((int) (() * 100))。  } catch (InterruptedException e)   }  }    最重要的一部分在Warehouse類,如上所說為了保證get何set的原子性,在這里使用了synchronized關(guān)鍵字,并且在操作時拋出了可能跑出的異常。5)你用過哪種設(shè)計模式?(瞬聯(lián),IBM,aspenTech)MVC模式,靜態(tài)工廠模式, 適配器模式, 門面模式, DAO模式, 單例模式,Template模式. mand模式在網(wǎng)上看見了這篇文章,作者以輕松的語言比喻了java的23種模式,有很好的啟發(fā)作用。創(chuàng)建型模式  FACTORY—追MM少不了請吃飯了,麥當(dāng)勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不同,但不管你帶MM去麥當(dāng)勞或肯德基,只管向服務(wù)員說“來四個雞翅”就行了。麥當(dāng)勞和肯德基就是生產(chǎn)雞翅的Factory  工廠模式:客戶類和工廠類分開。消費者任何時候需要某種產(chǎn)品,只需向工廠請求即可。消費者無須修改就可以接納新產(chǎn)品。缺點是當(dāng)產(chǎn)品修改時,工廠類也要做相應(yīng)的修改。如:如何創(chuàng)建及如何向客戶端提供?! UILDER—MM最愛聽的就是“我愛你”這句話了,見到不同地方的MM,要能夠用她們的方言跟她說這句話哦,我有一個多種語言翻譯機(jī),上面每種語言都有一個按鍵,見到MM我只要按對應(yīng)的鍵,它就能夠用相應(yīng)的語言說出“我愛你”這句話了,國外的MM也可以輕松搞掂,這就是我的“我愛你” builder。(這一定比美軍在伊拉克用的翻譯機(jī)好賣)  建造模式:將產(chǎn)品的內(nèi)部表象和產(chǎn)品的生成過程分割開來,從而使一個建造過程生成具有不同的內(nèi)部表象的產(chǎn)品對象。建造模式使得產(chǎn)品內(nèi)部表象可以獨立的變化,客戶不必知道產(chǎn)品內(nèi)部組成的細(xì)節(jié)。建造模式可以強(qiáng)制實行一種分步驟進(jìn)行的建造過程?! ACTORY METHOD—請MM去麥當(dāng)勞吃漢堡,不同的MM有不同的口味,要每個都記住是一件煩人的事情,我一般采用Factory Method模式,帶著MM到服務(wù)員那兒,說“要一個漢堡”,具體要什么樣的漢堡呢,讓MM直接跟服務(wù)員說就行了。  工廠方法模式:核心工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給子類去做,成為一個抽象工廠角色,僅負(fù)責(zé)給出具體工廠類必須實現(xiàn)的接口,而不接觸哪一個產(chǎn)品類應(yīng)當(dāng)被實例化這種細(xì)節(jié)?! ROTOTYPE—跟MM用聊天,一定要說些深情的話語了,我搜集了好多肉麻的情話,需要時只要copy出來放到里面就行了,這就是我的情話prototype了。(100塊錢一份,你要不要)  原始模型模式:通過給出一個原型對象來指明所要創(chuàng)建的對象的類型,然后用復(fù)制這個原型對象的方法創(chuàng)建出更多同類型的對象。原始模型模式允許動態(tài)的增加或減少產(chǎn)品類,產(chǎn)品類不需要非得有任何事先確定的等級結(jié)構(gòu),原始模型模式適用于任何的等級結(jié)構(gòu)。缺
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1