奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

試題

計算機(jī)考試二級java模擬試題(含答案)

時間:2025-03-11 02:54:39 晶敏 試題 我要投稿

計算機(jī)考試二級java模擬試題(含答案)

  在社會的各個領(lǐng)域,我們或多或少都會接觸到試題,借助試題可以為主辦方提供考生某方面的知識或技能狀況的信息。一份好的試題都具備什么特點呢?下面是小編收集整理的計算機(jī)考試二級java模擬試題(含答案),供大家參考借鑒,希望可以幫助到有需要的朋友。

計算機(jī)考試二級java模擬試題(含答案)

  計算機(jī)考試二級java模擬試題(含答案) 1

  1)Java 中能創(chuàng)建 Volatile 數(shù)組嗎?

  能,Java 中可以創(chuàng)建 volatile 類型數(shù)組,不過只是一個指向數(shù)組的引用,而不是整個數(shù)組。我的意思是,如果改變引用指向的數(shù)組,將會受到 volatile 的保護(hù),但是如果多個線程同時改變數(shù)組的元素,volatile 標(biāo)示符就不能起到之前的保護(hù)作用了。

  2)volatile 能使得一個非原子操作變成原子操作嗎?

  一個典型的例子是在類中有一個 long 類型的成員變量。如果你知道該成員變量會被多個線程訪問,如計數(shù)器、價格等,你最好是將其設(shè)置為 volatile。為什么?因為 Java 中讀取 long 類型變量不是原子的,需要分成兩步,如果一個線程正在修改該 long 變量的值,另一個線程可能只能看到該值的一半(前 32 位)。但是對一個 volatile 型的 long 或 double 變量的讀寫是原子。

  3)volatile 修飾符的有過什么實踐?

  一種實踐是用 volatile 修飾 long 和 double 變量,使其能按原子類型來讀寫。double 和 long 都是64位寬,因此對這兩種類型的讀是分為兩部分的,第一次讀取第一個 32 位,然后再讀剩下的 32 位,這個過程不是原子的,但 Java 中 volatile 型的 long 或 double 變量的讀寫是原子的。volatile 修復(fù)符的另一個作用是提供內(nèi)存屏障(memory barrier),例如在分布式框架中的應(yīng)用。簡單的`說,就是當(dāng)你寫一個 volatile 變量之前,Java 內(nèi)存模型會插入一個寫屏障(write barrier),讀一個 volatile 變量之前,會插入一個讀屏障(read barrier)。意思就是說,在你寫一個 volatile 域時,能保證任何線程都能看到你寫的值,同時,在寫之前,也能保證任何數(shù)值的更新對所有線程是可見的,因為內(nèi)存屏障會將其他所有寫的值更新到緩存。

  4)volatile 類型變量提供什么保證?(答案)

  volatile 變量提供順序和可見性保證,例如,JVM 或者 JIT為了獲得更好的性能會對語句重排序,但是 volatile 類型變量即使在沒有同步塊的情況下賦值也不會與其他語句重排序。 volatile 提供 happens-before 的保證,確保一個線程的修改能對其他線程是可見的。某些情況下,volatile 還能提供原子性,如讀 64 位數(shù)據(jù)類型,像 long 和 double 都不是原子的,但 volatile 類型的 double 和 long 就是原子的。

  5) 10 個線程和 2 個線程的同步代碼,哪個更容易寫?

  從寫代碼的角度來說,兩者的復(fù)雜度是相同的,因為同步代碼與線程數(shù)量是相互獨(dú)立的。但是同步策略的選擇依賴于線程的數(shù)量,因為越多的線程意味著更大的競爭,所以你需要利用同步技術(shù),如鎖分離,這要求更復(fù)雜的代碼和專業(yè)知識。

  6)你是如何調(diào)用 wait()方法的?使用 if 塊還是循環(huán)?為什么?(答案)

  wait() 方法應(yīng)該在循環(huán)調(diào)用,因為當(dāng)線程獲取到 CPU 開始執(zhí)行的時候,其他條件可能還沒有滿足,所以在處理前,循環(huán)檢測條件是否滿足會更好。下面是一段標(biāo)準(zhǔn)的使用 wait 和 notify 方法的代碼:

  // The standard idiom for using the wait method

  參見 Effective Java 第 69 條,獲取更多關(guān)于為什么應(yīng)該在循環(huán)中來調(diào)用 wait 方法的內(nèi)容。

  計算機(jī)考試二級java模擬試題(含答案) 2

  1、編寫一個Java程序,用if-else語句判斷某年份是否為閏年。

  閏年特點:

  ①、普通年能被4整除;且不能被100整除的為閏年。(如2004年就是閏年,1901年不是閏年)

  ②、世紀(jì)年能被400整除的是閏年。(如2000年是閏年,1900年不是閏年) ③、對于數(shù)值很大的年份,既能整除3200,又能整除172800是閏年。如172800年是閏年,86400年不是閏年(因為雖然能整除3200,但不能整除172800)。

  2、編寫一個Java程序在屏幕上輸出1!+2!+3!+??+10!的和。

  3、打印出所有的 "水仙花數(shù) ",所謂 "水仙花數(shù) "是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個 "水仙花數(shù) ",因為153=1的三次方+5的三次方+3的三次方。

  4、利用遞歸方法求5!。

  5、一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。

  6、編寫一個Java應(yīng)用程序,要求如下

  1)從控制臺輸入兩個字符串;

  2)重載三個方法,方法名add,分別完成字符串拼接、整數(shù)相加、浮點數(shù)相加,返回 String,并在控制臺分別輸出返回結(jié)果;

  3)要求處理異常,輸入字符串不符合要求時給出提示,不能使程序崩潰;

  4)輸入“esc”時退出程序,否則可以重復(fù)執(zhí)行。

  7、、有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。

  8、大整數(shù)計算器,要求從控制臺輸入。

  (例如:100000000000000000000+20000000000000000000)

  9、(1)編寫一個圓類Circle,該類擁有:

  ①一個成員變量

  Radius(私有,浮點型); // 存放圓的半徑;

  ②兩個構(gòu)造方法

  Circle( ) // 將半徑設(shè)為0

  Circle(double r ) //創(chuàng)建Circle對象時將半徑初始化為r

  ③ 三個成員方法

  double getArea( ) //獲取圓的.面積

  double getPerimeter( ) //獲取圓的周長

  void show( ) //將圓的半徑、周長、面積輸出到屏幕

  (2)編寫一個圓柱體類Cylinder,它繼承于上面的Circle類。還擁有:

  Java筆試題

  ①一個成員變量

  double hight(私有,浮點型); // 圓柱體的高;

  ②構(gòu)造方法

  Cylinder (double r, double h ) //創(chuàng)建Circle對象時將半徑初始化為r ③ 成員方法

  double getVolume( ) //獲取圓柱體的體積

  void showVolume( ) //將圓柱體的體積輸出到屏幕

  編寫應(yīng)用程序,創(chuàng)建類的對象,分別設(shè)置圓的半徑、圓柱體的高,計算并分別顯示圓半徑、圓面積、圓周長,圓柱體的體積。(20分)

  計算機(jī)考試二級java模擬試題(含答案) 3

  1.Spring的事務(wù)有哪些?

  什么是數(shù)據(jù)庫事務(wù):訪問并可能改變數(shù)據(jù)庫中個數(shù)據(jù)項的一個程序執(zhí)行單元。

  實現(xiàn)方式共有兩種:編碼方式即采用注解的方式(類頭的@Transactional為默認(rèn)事務(wù)配置);聲明式事務(wù)管理方式(bean)。

  基于AOP技術(shù)實現(xiàn)的聲明式事務(wù)管理,實質(zhì)就是:在方法執(zhí)行前后進(jìn)行攔截,然后在目標(biāo)方法開始之前創(chuàng)建并加入事務(wù),執(zhí)行完目標(biāo)方法后根據(jù)執(zhí)行情況提交或回滾事務(wù)。

  聲明式事務(wù)管理又有兩種方式:基于XML配置文件的方式;另一個是在業(yè)務(wù)方法上進(jìn)行@Transactional注解,將事務(wù)規(guī)則應(yīng)用到業(yè)務(wù)邏輯中。

  2.Java的鎖有哪幾種?

  1、自旋鎖:自旋鎖是采用讓當(dāng)前線程不停地的在循環(huán)體內(nèi)執(zhí)行實現(xiàn)的,當(dāng)循環(huán)的條件被其他線程改變時 才能進(jìn)入臨界區(qū)。

  2、自旋鎖的其他種類

  3、阻塞鎖:常用的有五個狀態(tài)的鎖都是阻塞所。

  4、可重入鎖:ReentrantLock

  5、讀寫鎖:寫鎖是排他鎖,讀鎖是共享鎖。

  6、互斥鎖

  7、悲觀鎖:在整個數(shù)據(jù)處理過程中,將數(shù)據(jù)處于鎖定狀態(tài)。 悲觀鎖的實現(xiàn),往往依靠數(shù)據(jù)庫提供的鎖機(jī)制。

  8、樂觀鎖:樂觀鎖假設(shè)認(rèn)為數(shù)據(jù)一般情況下不會造成沖突,所以在數(shù)據(jù)進(jìn)行提交更新的時候,才會正式對數(shù)據(jù)的沖突與否進(jìn)行檢測,如果發(fā)現(xiàn)沖突了,則讓返回用戶錯誤的信息,讓用戶決定如何去做。

  公平鎖(Fair):加鎖前檢查是否有排隊等待的線程,優(yōu)先排隊等待的線程,先來先得

  非公平鎖(Nonfair):加鎖時不考慮排隊等待問題,直接嘗試獲取鎖,獲取不到自動到隊尾等待

  18、信號量

  3.join的優(yōu)勢是什么?

  mysql不支持Full join。

  select * from A inner join B on A.name = B.name;

  在ON匹配階段 WHERE 子句的條件都不會被使用。僅在匹配階段完成以后,WHERE 子句條件才會被使用。它將從匹配階段產(chǎn)生的數(shù)據(jù)中檢索過濾。

  cross join:交叉連接,得到的結(jié)果是兩個表的乘積,即笛卡爾積。

  還有inner join,left join,right join。

  4.用線程實現(xiàn)輸出1A2B3C....

  5.抽象類和接口的區(qū)別

  6.JDK1.8和之前版本的區(qū)別

  JDK7新特性:

  1,switch中可以使用字串了

  2,"<>"這個玩意兒的運(yùn)用ListtempList = new ArrayList<>(); 即泛型實例化類型自動推斷

  3. 自定義自動關(guān)閉類

  4. 新增一些取環(huán)境信息的工具方法

  5. Boolean類型反轉(zhuǎn),空指針安全,參與位運(yùn)算

  6. 兩個char間的equals

  7,安全的加減乘除

  8.數(shù)值可加下劃線

  例如:intone_million = 1_000_000;

  9.支持二進(jìn)制文字

  例如:int binary = 0b1001_1001;

  10、在try catch異常撲捉中,一個catch可以寫多個異常類型,用"|"隔開

  11、jdk7之前,你必須用try{}finally{}在try內(nèi)使用資源,在finally中關(guān)閉資源,不管try中的代碼是否正常退出或者異常退出。jdk7之后,你可以不必要寫finally語句來關(guān)閉資源,只要你在try()的括號內(nèi)部定義要使用的資源。

  JDK8:

  一、接口的默認(rèn)方法

  Java 8允許我們給接口添加一個非抽象的方法實現(xiàn),只需要使用 default關(guān)鍵字即可,這個特征又叫做擴(kuò)展方法

  二、Lambda 表達(dá)式

  Collections.sort(names, (a, b) -> b.compareTo(a));

  三、函數(shù)式接口?

  四、方法與構(gòu)造函數(shù)引用 ::

  Java 8 在包java.time下包含了一組全新的時間日期API。

  7.常用集合類

  我的說的HashMap,他問為什么不是List。

  1。JSP的內(nèi)置對象及方法。

  在JSP中無需創(chuàng)建就可以使用的9個對象,它們是:request、response、session、application、out、pagecontext、config、page、exception

  lout(JspWriter):等同與response.getWriter(),用來向客戶端發(fā)送文本數(shù)據(jù);

  1. void clear() ;

  清除輸出緩沖區(qū)的內(nèi)容,但是不輸出到客戶端。

  2. void clearBuffer() ;

  清除輸出緩沖區(qū)的內(nèi)容,并輸出到客戶端。

  3. void close() ;

  關(guān)閉輸出流,清除所有內(nèi)容。

  4. void flush() ;

  輸出緩沖區(qū)里面的數(shù)據(jù)。

  5. int getBufferSize() ;

  獲取以kb為單位的目前緩沖區(qū)大小。

  6. int getRemaining() ;

  獲取以kb為單位的緩沖區(qū)中未被占用的空間大小。

  7. boolean isAutoFlush() ;

  是否自動刷新緩沖區(qū)。

  8. void newLine() ;

  輸出一個換行字符。

  lconfig(ServletConfig):對應(yīng)“真身”中的ServletConfig,config對象用來存放Servlet初始的`數(shù)據(jù)結(jié)構(gòu);config 對象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對象的 getServletConfig() 方法可以獲取一個config對象。當(dāng)一個Servlet 初始化時,容器把某些信息通過 config對象傳遞給這個 Servlet。

  lpage(當(dāng)前JSP的真身類型):當(dāng)前JSP頁面的“this”,即當(dāng)前對象,page對象代表JSP對象本身,或者說代表編譯后的servlet對象,可以用( (javax.servlet.jsp.HttpJspPage)page )來取用它的方法和屬性;

  lpageContext(PageContext):頁面上下文對象,它是最后一個沒講的域?qū)ο螅琾ageContext對象存儲本JSP頁面相關(guān)信息,如屬性、內(nèi)建對象等;pageContext 對象的作用是取得任何范圍的參數(shù),通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對象。

  lexception(Throwable):只有在錯誤頁面中可以使用這個對象,錯誤對象,只有在JSP頁面的page指令中指定isErrorPage="true"后,才可以在本頁面使用exception對象;

  lrequest(HttpServletRequest):即HttpServletRequest類的對象,request對象包含所有請求的信息,如請求的來源、標(biāo)頭、cookies和請求相關(guān)的參數(shù)值等,request對象代表了客戶端的請求信息,主要用于接受通過HTTP協(xié)議傳送到服務(wù)器的數(shù)據(jù)。(包括頭信息、系統(tǒng)信息、請求方式以及請求參數(shù)等)。request對 象的作用域為一次請求。;

  getParameterNames() 獲取客戶端提交的所有參數(shù)的名字。

  lresponse(HttpServletResponse):即HttpServletResponse類的對象,response對象主要將JSP容器處理后的結(jié)果傳回到客戶端,response 代表的是對客戶端的響應(yīng),主要是將JSP容器處理過的對象傳回到客戶端。response對象也具有作用域,它只在JSP頁面內(nèi)有效;

  response.sendRedirect(index.jsp)

  lapplication(ServletContext):即ServletContext類的對象,主要功用在于取得或更改Servlet的設(shè)定;

  setAttribute(String key,Object obj):將參數(shù)Object指定的對象obj添加到Application對象中,并為添加的對象指定一個索引關(guān)鍵字。

  getAttribute(String key):獲取Application對象中含有關(guān)鍵字的對象。

  lsession(HttpSession):即HttpSession類的對象,不是每個JSP頁面中都可以使用,如果在某個JSP頁面中設(shè)置<%@pagesession=”false”%>,說明這個頁面不能使用session,session對象表示目前個別用戶的會話狀態(tài),用來識別每個用戶。

  public String getId():獲取Session對象編號。

  public void setAttribute(String key,Object obj):將參數(shù)Object指定的對象obj添加到Session對象中,并為添加的對象指定一個索引關(guān)鍵字。

  public Object getAttribute(String key):獲取Session對象中含有關(guān)鍵字的對象。

  public Boolean isNew():判斷是否是一個新的客戶。

  2.說說ArrayList(對比著LinkedList來說);

  1.ArrayList是實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),ArrayList不具有線程安全性,LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu),LinkedList可以看做為一個雙向鏈表,LinkedList也是線程不安全的。

  2.對于隨機(jī)訪問get和set,ArrayList覺得優(yōu)于LinkedList,因為LinkedList要移動指針。

  3.對于新增和刪除操作add和remove,LinedList比較占優(yōu)勢,因為ArrayList要移動數(shù)據(jù)。

  Vector是線程安全的

  26.數(shù)組(Array)和列表(ArrayList)有什么區(qū)別?什么時候應(yīng)該使用Array而不是ArrayList?

  下面列出了Array和ArrayList的不同點:

  Array可以包含基本類型和對象類型,ArrayList只能包含對象類型。

  Array大小是固定的,ArrayList的大小是動態(tài)變化的。

  ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。

  對于基本類型數(shù)據(jù),集合使用自動裝箱來減少編碼工作量。但是,當(dāng)處理固定大小的基本數(shù)據(jù)類型的時候,這種方式相對比較慢。

  27.ArrayList和LinkedList有什么區(qū)別?

  ArrayList和LinkedList都實現(xiàn)了List接口,他們有以下的不同點:

  ArrayList是基于索引的數(shù)據(jù)接口,它的底層是數(shù)組。它可以以O(shè)(1)時間復(fù)雜度對元素進(jìn)行隨機(jī)訪問。與此對應(yīng),LinkedList是以元素列表的形式存儲它的數(shù)據(jù),每一個元素都和它的前一個和后一個元素鏈接在一起,在這種情況下,查找某個元素的時間復(fù)雜度是O(n)。

  相對于ArrayList,LinkedList的插入,添加,刪除操作速度更快,因為當(dāng)元素被添加到集合任意位置的時候,不需要像數(shù)組那樣重新計算大小或者是更新索引。

  LinkedList比ArrayList更占內(nèi)存,因為LinkedList為每一個節(jié)點存儲了兩個引用,一個指向前一個元素,一個指向下一個元素。

  28.Comparable和Comparator接口是干什么的?列出它們的區(qū)別。

  Java提供了只包含一個compareTo()方法的Comparable接口。這個方法可以個給兩個對象排序。具體來說,它返回負(fù)數(shù),0,正數(shù)來表明輸入對象小于,等于,大于已經(jīng)存在的對象。

  Java 提供了包含compare()和equals()兩個方法的Comparator接口。compare()方法用來給兩個輸入?yún)?shù)排序,返回負(fù)數(shù),0,正 數(shù)表明第一個參數(shù)是小于,等于,大于第二個參數(shù)。equals()方法需要一個對象作為參數(shù),它用來決定輸入?yún)?shù)是否和comparator相等。只有當(dāng) 輸入?yún)?shù)也是一個comparator并且輸入?yún)?shù)和當(dāng)前comparator的排序結(jié)果是相同的時候,這個方法才返回true。

  3.寫一個單例模式。我寫的是靜態(tài)內(nèi)部類的單例,然后他問我這個地方為什么用private,這兒為啥用static,這就考察你的基本功啦

  類的構(gòu)造函數(shù)定義為private的,保證其他類不能實例化此類,static保證每個類訪問到的都是同一個。

  餓漢模式:

  publicclassSingleton{

  privatestaticSingletoninstance=newSingleton();

  privateSingleton(){}

  publicstaticSingletonnewInstance(){

  returninstance;

  }

  }缺點,在類加載之后就被創(chuàng)建,即使沒有用到

  懶漢模式:

  publicclassSingleton{

  privatestaticSingletoninstance=null;

  privateSingleton(){}

  publicstaticsynchronizedSingletonnewInstance(){

  if(null==instance){

  instance=newSingleton();

  }

  returninstance;

  }

  }在特定時間加載,延遲加載

  雙重校驗鎖:

  publicclassSingleton{

  privatestaticvolatile Singletoninstance=null;

  privateSingleton(){}

  publicstaticSingletongetInstance(){

  if(instance==null){

  synchronized(Singleton.class){

  if(instance==null){//2

  instance=newSingleton();

  }

  }

  }

  returninstance;

  }

  }線程安全

  靜態(tài)內(nèi)部類:

  publicclassSingleton{

  privatestaticclassSingletonHolder{

  publicstaticSingletoninstance=newSingleton();

  }

  privateSingleton(){}

  publicstaticSingletonnewInstance(){

  returnSingletonHolder.instance;

  }

  }

  枚舉:

  publicenumSingleton{

  instance;

  publicvoidwhateverMethod(){}

  }很少使用

【計算機(jī)考試二級java模擬試題(含答案)】相關(guān)文章:

全國計算機(jī)等級考試《二級Java》模擬試題(含答案)06-10

計算機(jī)二級JAVA考試模擬試題06-24

計算機(jī)二級考試JAVA模擬試題10-12

計算機(jī)二級JAVA考試精選模擬試題08-12

計算機(jī)二級JAVA考試模擬試題及答案10-16

計算機(jī)java考試模擬試題10-23

計算機(jī)二級考試Java模擬試題及答案201710-25

全國計算機(jī)二級考試Java模擬試題08-19

計算機(jī)二級模擬試題含答案10-23

主站蜘蛛池模板: 信阳市| 南漳县| 邓州市| 黄冈市| 民乐县| 赤城县| 陆川县| 定兴县| 高密市| 中江县| 仁化县| 巴林右旗| 湖口县| 共和县| 潞西市| 澄江县| 石狮市| 赤壁市| 宝鸡市| 龙游县| 高唐县| 泸溪县| 清远市| 康马县| 疏勒县| 湘西| 金秀| 南汇区| 伊宁市| 深圳市| 德江县| 齐齐哈尔市| 明水县| 鄱阳县| 日照市| 漳平市| 峨眉山市| 江源县| 甘南县| 衡东县| 石屏县|