關(guān)于湖南華諾集團(tuán)筆試題目的內(nèi)容,請看如下文章,如有錯(cuò)誤敬請諒解!
湖南華諾集團(tuán)筆試題目
1、Double、Class是final類,不能被繼承;Math、Thread可以被繼承
2、 當(dāng)前類 同一package 子孫類 其它package
Public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
3、Collection的4個(gè)主要接口:List、Set、BeanContext、SortedSet
4、Error和Exception的區(qū)別
error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。
exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
5、多線程和同步的幾種實(shí)現(xiàn)方式
多線程:主要有兩種 一種是繼承Thread類,一種是實(shí)現(xiàn)Runnable接口
同步有兩種方法。一種同步方法,一種同步代碼!分別是synchronized,wait與notify
6、打印昨天的當(dāng)前時(shí)間
long today = System.currentTimeMillis();
long yestory = today – 1000*60*60*24 ;
Date time = new Date( yestory ) ;
System.out.println(time.getDate()+”號(hào)”+time.getHours()+”時(shí)”+time.getMinutes()+”分”+time.getSeconds()+”秒”)
7、Jsp重定向的方法
服務(wù)器端的重定向可以有兩種方式,一是使用HttpServletResponse的
sendRedirect()方法,一是使用RequestDispatcher的forward()方法。
8、Jsp頁面間數(shù)據(jù)如何傳遞
a.設(shè)置session變量,session.setAttribute(“a”,”b”);b.地址方式傳值:show.jsp?id=變量值
9、Jsp的內(nèi)置對象:request、response、session、application、out、
java.lang.Object、config、exception、pageContext
10、forward、redirect的區(qū)別
forward僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;
redirect則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。
所以,forward更加高效,在forward可以滿足需要時(shí),盡量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。
在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sendRedirect()方法。
從地址欄顯示來說 forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的
URL,把那個(gè)URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容 再發(fā)給瀏覽器.瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容從哪里來的,所以它的地址欄還是原來的地址. redirect是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址.所以地址欄顯示的是新的URL.所 以redirect等于客戶端向服務(wù)器端發(fā)出兩次request,同時(shí)也接受兩次response。
11、多態(tài)的概念
多態(tài)是面向?qū)ο蟮闹匾匦裕唵吸c(diǎn)說:“一個(gè)接口,多種實(shí)現(xiàn)”,就是同一種事物表現(xiàn)出的多種形態(tài)
多態(tài)性:多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。
12、Application的生命周期
application對象是一個(gè)特別重要的JSP對象,它存在于服務(wù)器的內(nèi)存空間中,服務(wù)器一旦啟動(dòng),就會(huì)自動(dòng)產(chǎn)生一個(gè)application對象,除非服務(wù)器被關(guān)閉,否則這個(gè)application對象將一直保持下去。在application對象的生命周期中,在當(dāng)前服務(wù)器上運(yùn)行的每一個(gè)JSP程序都可以任意存取和這個(gè)application對象綁定的參數(shù)(或者Java對象)的值。application對象的這些特性為我們在多個(gè)JSP程序中、多個(gè)用戶共享某些全局信息(如當(dāng)前的在線人數(shù)等)提供了方便。由此我們可以不借助數(shù)據(jù)庫就實(shí)現(xiàn)聊天室的功能。
13、list、set的區(qū)別
list是列表(接口),是可以允許出現(xiàn)重復(fù)值的,
set是集合,不允許出現(xiàn)重復(fù)值
ArrayList和HashMap是異步的,
Vector和HashTable是同步的,
所以Vector和HashTable是線程安全的,
而ArrayList和HashMap并不是線程安全的。
因?yàn)橥叫枰ㄙM(fèi)機(jī)器時(shí)間,所以Vector和HashTable的執(zhí)行效率要低于ArrayList和HashMap。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
14、如何區(qū)別set中的元素
在比較時(shí)先調(diào)用hashCode方法,如果不相同,證明不相等。
如果相同,再調(diào)用equals方法,如果equals方法相同,證明相等,不相同,證明不相等。
==:主要用在基本數(shù)據(jù)類型及引用
Equals:主要是對象或?qū)ο笠玫谋容^。
15、 抽象類與接口的區(qū)別
1,抽象類里可以有構(gòu)造方法,而接口內(nèi)不能有構(gòu)造方法。
2,抽象類中可以有普通成員變量,而接口中不能有普通成員變量。
3,抽象類中可以包含非抽象的普通方法,而接口中所有的方法必須是抽象的,不能有非抽象的普通方法。
4,抽象類中的抽象方法的訪問類型可以是public ,protected和默認(rèn)類型,但接口中的抽象方法只能是public類型的,并且默認(rèn)即為public abstract類型。
5,抽象類中可以包含靜態(tài)方法,接口內(nèi)不能包含靜態(tài)方法。
6,抽象類和接口中都可以包含靜態(tài)成員變量,抽象類中的靜態(tài)成員變量的訪問類型可以任意,但接口中定義的變量只能是public static類型,并且默認(rèn)為public static類型。
7,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口,但只能繼承一個(gè)抽象類。
再補(bǔ)充點(diǎn)兩者在應(yīng)用上的區(qū)別:
接口更多的是在系統(tǒng)框架設(shè)計(jì)方法發(fā)揮作用,主要定義模塊之間的通信,而抽象類在代碼實(shí)現(xiàn)方面發(fā)揮作用,可以實(shí)現(xiàn)代碼的重用
16、為什么要用Class.forName方法
從JVM的角度看,我們使用關(guān)鍵字new創(chuàng)建一個(gè)類的時(shí)候,這個(gè)類可以沒有被加載。但是使用newInstance()方法的時(shí)候,就必須保證:1、這個(gè)類已經(jīng)加載;2、這個(gè)類已經(jīng)連接了。而完成上面兩個(gè)步驟的正是Class的靜態(tài)方法forName()所完成的,這個(gè)靜態(tài)方法調(diào)用了啟動(dòng)類加載器,即加載java API的那個(gè)加載器。
現(xiàn)在可以看出,newInstance()實(shí)際上是把new這個(gè)方式分解為兩步,即首先調(diào)用Class加載方法加載某個(gè)類,然后實(shí)例化。 這樣分步的好處是顯而易見的。我們可以在調(diào)用class的靜態(tài)加載方法forName時(shí)獲得更好的靈活性,提供給了一種降耦的手段。
最后用最簡單的描述來區(qū)分new關(guān)鍵字和newInstance()方法的區(qū)別: newInstance: 弱類型。低效率。只能調(diào)用無參構(gòu)造。 new: 強(qiáng)類型。相對高效。能調(diào)用任何public構(gòu)造。
17、java連接池的使用
18、數(shù)據(jù)庫的實(shí)例與用戶的概念
一個(gè)Oracle實(shí)例(Oracle Instance)有一系列的后臺(tái)進(jìn)程(Backguound Processes)和內(nèi)存結(jié)構(gòu)(Memory Structures)組成
19、RMI的基類有哪些
20、如何訪問不同的數(shù)據(jù)庫