第一篇:JAVA上機(jī)面試題
需求:
部門管理
界面分為左右兩部分:
左列顯示樹(shù)形結(jié)構(gòu),結(jié)構(gòu)如下:
公司名稱
------部門1
-----人員1
-----人員2
------部門2
。。。。。
右側(cè)添加部門,人員,刪除等自行設(shè)計(jì),人員詳細(xì)信息。
一. 要求使用Spring+Structs,連接oracle數(shù)據(jù)。(基本框架和數(shù)據(jù)庫(kù)考察)
二. 使用連接池管理數(shù)據(jù)庫(kù)連接。(數(shù)據(jù)庫(kù)連接管理)
三. 使用easyui插件完成界面。(學(xué)習(xí)能力,界面,自行搜索下載)
四. 同一人員可在多個(gè)部門同時(shí)出現(xiàn)。(數(shù)據(jù)庫(kù)基本設(shè)計(jì))
五. 數(shù)據(jù)庫(kù)建表關(guān)聯(lián)正確,體現(xiàn)部門公司之間級(jí)別關(guān)系,員工和部門關(guān)系。(數(shù)據(jù)庫(kù)關(guān)系)
六. 要求用到,視圖,程序包,存儲(chǔ)過(guò)程完成數(shù)據(jù)讀寫。(數(shù)據(jù)庫(kù)基本操作)
要求: 界面整潔,代碼工整,命名規(guī)范,可以在網(wǎng)上找相關(guān)資料,不得相互討論,有不清楚的及時(shí)溝通。
第二篇:JAVA面試題
1、面向?qū)ο蟮乃膫€(gè)特征:封裝、繼承、多態(tài)、抽象
封裝:
繼承:子類繼承父類,除private修飾以外的所以方法和屬性 多態(tài):一個(gè)對(duì)象多種狀態(tài),可以把子類對(duì)象當(dāng)作父類對(duì)象來(lái)看,一旦這樣做了,就只能
去調(diào)用父類中原有定義的屬性和方法,也就是子類中擴(kuò)展的方法或?qū)傩跃筒荒苷{(diào)用了。
抽象:
2、abstractclass 和interface的區(qū)別
聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。
接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來(lái)決定某對(duì)象的類是否實(shí)現(xiàn)了接口。
3、final、finally、finalize的區(qū)別
final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。
finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文件等。
4、匿名內(nèi)部類是否可以作為父類被其他類繼承,或做為接口被實(shí)現(xiàn)?
匿名內(nèi)部類不被繼承也不能被實(shí)現(xiàn),因?yàn)樗鼪](méi)有名字,而一個(gè)內(nèi)部類只要有名字就可以作為父類被繼承,也可以作為借口被實(shí)現(xiàn)。
5、多線程有幾種實(shí)現(xiàn)方法,同步有幾種實(shí)現(xiàn)方法,都是什么?
多線程有兩種實(shí)現(xiàn)方法,分別繼承繼承Thread類與實(shí)現(xiàn)runnable借口。
同步的實(shí)現(xiàn)方法有兩種,分別是synchronized,wait與notify。
6、string 與 stringbuffer的區(qū)別?
String的長(zhǎng)度是不可變的,而stringbuffer的長(zhǎng)度是可變的。如果你對(duì)字符中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容修改時(shí),那么就要使用stringbuffer,如果最后需要使用string,那么使用stringbuffer的tostring()方法。
7、解析XML文件的幾種方式和區(qū)別
DOM:處理大型文件時(shí)其性能下降的非常厲害
SAX:SAX是事件驅(qū)動(dòng)型的XML解析方式,它是順序讀取XML文件,不需要一次性全部裝載整個(gè)文件。
8、sleep()和wait()有什么區(qū)別?
sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時(shí)間,給執(zhí)行機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。
wait是Object類的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。
9、數(shù)組有沒(méi)有l(wèi)ength這個(gè)方法?string有沒(méi)有l(wèi)ength這個(gè)方法?
數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength這個(gè)屬性
String有l(wèi)ength()這個(gè)方法
10、LinkedList、ArrayList和Vector的區(qū)別? ArrayList和Vector是采用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素總數(shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)個(gè)數(shù)以便增加和插入元素,二者都允許直接序號(hào)索引元素,但是插入數(shù)據(jù)要移動(dòng)數(shù)組元素等內(nèi)存操作,所以它們索引數(shù)據(jù)快、插入數(shù)據(jù)慢。
Vector由于使用了synchronized同步方法(如add、insert、remove、set、equals、hashcode等操作),因此是線程安全,性能上比ArrayList要差。
LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行向前或向后遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入數(shù)度較快!LinkedList雙向鏈表,是指可以從first依次遍歷至last(從頭到尾),也可以從last遍歷至first(從尾到頭),但首尾沒(méi)有構(gòu)成環(huán),不同于雙向循環(huán)鏈表(注意區(qū)分):
11、hashmap與hashtable的區(qū)別?
都屬于Map接口的類,實(shí)現(xiàn)了將惟一鍵映射到特定的值上。
HashMap類沒(méi)有分類或者排序。它允許一個(gè)null鍵和多個(gè)null值。
Hashtable類似于HashMap,但是不允許null鍵和null值。它也比HashMap慢,因?yàn)樗峭降摹?/p>
12、Jsp有哪些內(nèi)置對(duì)象,作用分別是什么?(至少能說(shuō)出五個(gè))
request表示HttpServletRequest對(duì)象。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie, header, 和session數(shù)據(jù)的有用的方法。
response表示HttpServletResponse對(duì)象,并提供了幾個(gè)用于設(shè)置送回 瀏覽器的響應(yīng)的方法(如cookies,頭信息等)
out對(duì)象是javax.jsp.JspWriter的一個(gè)實(shí)例,并提供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出結(jié)果。
pageContext表示一個(gè)javax.servlet.jsp.PageContext對(duì)象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對(duì)象的API,并且包裝了通用的servlet相關(guān)功能的方法。
session表示一個(gè)請(qǐng)求的javax.servlet.http.HttpSession對(duì)象。Session可以存貯用戶的狀態(tài)信息
applicaton 表示一個(gè)javax.servle.ServletContext對(duì)象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息
config表示一個(gè)javax.servlet.ServletConfig對(duì)象。該對(duì)象用于存取servlet實(shí)例的初始化參數(shù)。
page表示從該頁(yè)面產(chǎn)生的一個(gè)servlet實(shí)例
13、Javaservletapi中forward()與redirect()的區(qū)別?
前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請(qǐng)求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sendRedirect()方法。
14、重載(overload)與重寫(override)的區(qū)別?
Overload:方法名相同,參數(shù)不同,與返回值無(wú)關(guān)
Override:方法名相同,參數(shù)相同,相同的返回值,建立在繼承的基礎(chǔ)之上
15、什么是單例模式,在程序中如何使用?
單例模式確保一個(gè)類只有一個(gè)實(shí)例 餓漢式單例類
public class Singleton {
private Singleton(){}
private static Singleton instance = new Singleton();
public static Singleton getInstance(){
return instance;
}
}
懶漢式單例類
public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance(){
if(instance==null)
instance=new Singleton();
return instance;
}
}
16、Servlet生命周期?
加載和實(shí)例化
初始化init()
請(qǐng)求處理service()
服務(wù)終止destroy()
17、spring中IOC與AOP的含義?
IOC:控制反轉(zhuǎn),是一種設(shè)計(jì)模式,一層含義控制權(quán)的轉(zhuǎn)移,由傳統(tǒng)的在程序中控制依賴轉(zhuǎn)移到由容器來(lái)控制,第二層是依賴注入將互相依賴的對(duì)象分離,在spring配置文件中描述它們的依賴關(guān)心,它們的依賴關(guān)系只是在使用的時(shí)候才建立
AOP:面向切面,是一種編程思想,oop的延續(xù),將系統(tǒng)中非核心的業(yè)務(wù)提取出來(lái),進(jìn)行單獨(dú)的處理,比如事務(wù)、日志和安全等
Spring的AOP和IOC都是為了解決系統(tǒng)代碼耦合度過(guò)高的問(wèn)題,使用代碼重用性高,易于維護(hù),不過(guò)AOP和IOC并不是spring中特有的,只是spring把它們應(yīng)用的更靈活方便。
18、hibernate與JDBC的區(qū)別?
相同點(diǎn):
1>兩者都是JAVA的數(shù)據(jù)庫(kù)操作中間件。
2>兩者對(duì)于數(shù)據(jù)庫(kù)進(jìn)行直接操作的對(duì)象都不是線程安全的,都需要及時(shí)關(guān)閉。
3>兩者都可以對(duì)數(shù)據(jù)庫(kù)的更新操作進(jìn)行顯式的事務(wù)處理。
不同點(diǎn):
1>使用的SQL語(yǔ)言不同:JDBC使用的是基于關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)SQL語(yǔ)言,Hibernate使用的是HQL(Hibernate query language)語(yǔ)言
2>操作的對(duì)象不同:JDBC操作的是數(shù)據(jù),將數(shù)據(jù)通過(guò)SQL語(yǔ)句直接傳送到數(shù)據(jù)庫(kù)中執(zhí)行,Hibernate操作的是持久化對(duì)象,由底層持久化對(duì)象的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。3>數(shù)據(jù)狀態(tài)不同:JDBC操作的數(shù)據(jù)是“瞬時(shí)”的,變量的值無(wú)法與數(shù)據(jù)庫(kù)中的值保持一致,而Hibernate操作的數(shù)據(jù)是可持久的,即持久化對(duì)象的數(shù)據(jù)屬性的值是可以跟數(shù)據(jù)庫(kù)中的值保持一致的。
19、struts中的標(biāo)簽庫(kù)有幾種,分別是?
有5種標(biāo)簽,分別是:bean標(biāo)簽庫(kù)、html標(biāo)簽庫(kù)、logic標(biāo)簽庫(kù)、tiles標(biāo)簽庫(kù)nested標(biāo)簽庫(kù)
20、Error與Exception有什么區(qū)別?
Error表示系統(tǒng)級(jí)的錯(cuò)誤和程序不必處理的異常,Exception表示需要捕捉或者需要程序進(jìn)行處理的異常。
21、Collection和Collections的區(qū)別。
Collection是集合類的上級(jí)接口,繼承與他的接口主要有Set 和List.Collections是針對(duì)集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線程安全化等操作
22、GC是什么?為什么要有GC?(基礎(chǔ))。
GC是垃圾收集器。Java程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。
要請(qǐng)求垃圾收集,可以調(diào)用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
23、啟動(dòng)一個(gè)線程是用run()還是start()?
啟動(dòng)一個(gè)線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行狀態(tài),這意味著它可以由JVM調(diào)度并執(zhí)行。這并不意味著線程就會(huì)立即運(yùn)行。run()方法可以產(chǎn)生必須退出的標(biāo)志來(lái)停止一個(gè)線程。
24、&和&&的區(qū)別。
&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and)。
25、heap和stack有什么區(qū)別。
棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方
式進(jìn)行處理。
堆是棧的一個(gè)組成元素
26、List, Set, Map是否繼承自Collection接口?
List,Set是,Map不是
27、MVC的各個(gè)部分都有那些技術(shù)來(lái)實(shí)現(xiàn)?如何實(shí)現(xiàn)?
MVC 是Model-View-Controller的簡(jiǎn)寫?!癕odel” 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過(guò)JavaBean,EJB組件實(shí)現(xiàn)),“View” 是應(yīng)用的表示面(由JSP頁(yè)面產(chǎn)生),“Controller” 是提供應(yīng)用的處理過(guò)程控制(一般是一個(gè)Servlet),通過(guò)這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過(guò)程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。
28、Static Nested Class 和 Inner Class的不同。
Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。
29、接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類
(concrete class)?
接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,但前提是實(shí)體類必須有明確的構(gòu)造函數(shù)
30、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?
JSP 是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡(jiǎn)易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是“類servlet”。Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開(kāi)來(lái)。而JSP的情況是Java和HTML可以組合成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯
31、當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法? 不能,一個(gè)對(duì)象的一個(gè)synchronized方法只能由一個(gè)線程訪問(wèn)。
32、運(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í)異常。
33、JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?
動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)
靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁(yè)面<%@ include file=“included.htm” %>
第三篇:Java上機(jī)實(shí)驗(yàn)報(bào)告
Homework3實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)?zāi)康呐c要求
1、掌握J(rèn)ava中類和接口的基本知識(shí);
2、繼承的基本知識(shí);
3、集合的基本操作
二、實(shí)驗(yàn)內(nèi)容 1.PIMCollection 類
創(chuàng)建一個(gè)可以管理PIMEntities實(shí)體的集合,該類實(shí)現(xiàn)了Collection接口,且必須實(shí)現(xiàn)了以下方法:(1).getNotes();返回PIMCollection中所有的PIMNote項(xiàng),如果不包含PIMNote項(xiàng),則返回一個(gè)空集合
(2).getTodos();返回集合PIMCollection中所有的PIMTodo項(xiàng),如果不包含PIMTodo項(xiàng),則返回一個(gè)空集合
(3).getAppointment();返回集合PIMCollection中所有的PIMAppointment項(xiàng),如果不包含PIMAppointment項(xiàng)。則返回一個(gè)空集合(4).getContacts();返回結(jié)合PIMCollection中所有的PIMContact項(xiàng),如果不包含PIMContact項(xiàng),則返回一個(gè)空集合
(5).getItemsForDate(Date d);返回集合PIMCollection中所有與d匹配的PIMEntities,如果沒(méi)有匹配d的項(xiàng),則返回一個(gè)空集合
(只有PIMTodo和PIMAppointment項(xiàng),因?yàn)镻IMNote和PIMContact跟日期沒(méi)有關(guān)系)。
2.TestPIMCollection類(自己的測(cè)試類)
向PIMCollection集合類中加入了一些PIMEntity實(shí)體類,并用PIMCollection類中實(shí)現(xiàn)的方法分別篩選出了其中的PIMNote、PIMTodo、PIMAppointment、PIMContact、符合指定日期d的集合并打印輸出。
三、實(shí)驗(yàn)器材
計(jì)算機(jī)+windows操作系統(tǒng)+eclipse
四、實(shí)驗(yàn)步驟
1.程序源代碼(壓縮在文件夾里)2.編譯執(zhí)行程序 3.記錄執(zhí)行結(jié)果
五、實(shí)驗(yàn)結(jié)果
1.TestPIMCollection的測(cè)試代碼:
2.程序的執(zhí)行結(jié)果:
如圖所示:程序分別輸出了Todo、Note、Appointment、Contact、以及匹配指定日期的結(jié)合的結(jié)果。
六、實(shí)驗(yàn)小結(jié)
1、熟悉了Java集合的基本內(nèi)容和操作,也包括了泛型的一些知識(shí)。
2、通過(guò)這個(gè)實(shí)驗(yàn)鞏固了java的基礎(chǔ)知識(shí):類和接口的有關(guān)知識(shí),繼承的應(yīng)用。
3、掌握了在eclipse下編譯執(zhí)行Java程序的知識(shí)。
4、通過(guò)幾次的編程,熟悉了java的編程規(guī)則。
5、綜合應(yīng)用所學(xué)知識(shí)完成java程序的分析、設(shè)計(jì)、調(diào)試和總結(jié),為以后編寫更復(fù)雜的java程序打下了很好的基礎(chǔ)。
第四篇:java上機(jī)實(shí)驗(yàn)
1、實(shí)驗(yàn)一:多線程程序設(shè)計(jì):炮打飛機(jī)
實(shí)驗(yàn)?zāi)康模簩W(xué)會(huì)使用多線程進(jìn)行并發(fā)程序設(shè)計(jì)
實(shí)驗(yàn)內(nèi)容:編寫一個(gè)應(yīng)用程序模擬大炮打飛機(jī)。在GUI界面上,飛機(jī)水平飛行,用界面上的按鈕控制大炮的運(yùn)行方向(如向左,向右,向上,向下)。當(dāng)炮彈碰著飛機(jī)后,飛機(jī)墜落。
2、實(shí)驗(yàn)二:數(shù)據(jù)庫(kù)編程:書目信息管理
實(shí)驗(yàn)?zāi)康模赫莆諗?shù)據(jù)庫(kù)編程技術(shù)。能正確連接數(shù)據(jù)庫(kù),能對(duì)數(shù)據(jù)庫(kù)中信息進(jìn)行查詢、插
入、刪除、修改。
實(shí)驗(yàn)內(nèi)容:在數(shù)據(jù)庫(kù)中創(chuàng)建一張書目信息表,包括書名、作者、出版社、出版日期、書
號(hào)、價(jià)格字段。設(shè)計(jì)一個(gè)GUI界面進(jìn)行書目管理。在該界面上有四個(gè)選項(xiàng)卡,分別是查詢、插入、刪除、修改。點(diǎn)擊查詢選項(xiàng)卡,出現(xiàn)的界面上有書名、作者、出版社、書號(hào)四個(gè)文本框,一個(gè)按鈕和一個(gè)只讀文本區(qū)。文本框內(nèi)容可以為空,輸入相應(yīng)的查詢信息后(例如根據(jù)書名查詢可以僅輸入書名),點(diǎn)擊界面上的“查詢”按鈕,可以在界面下方的文本區(qū)中顯示出符合條件的書目詳細(xì)信息。點(diǎn)擊插入選項(xiàng)卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號(hào)、價(jià)格文本框,一個(gè)按鈕。在文本框中輸入信息后,點(diǎn)擊“插入”按鈕,該書目信息插入數(shù)據(jù)庫(kù)表中。點(diǎn)擊刪除選項(xiàng)卡,出現(xiàn)的界面上有書名文本框和一個(gè)按鈕,輸入書名后點(diǎn)擊“刪除”按鈕,該書目信息從數(shù)據(jù)庫(kù)表中刪除。點(diǎn)擊修改選項(xiàng)卡,出現(xiàn)的界面上有書名、作者、出版社、出版日期、書號(hào)、價(jià)格文本框,一個(gè)按鈕。輸入的書名必須是已存在的,否則會(huì)彈出消息框顯示出錯(cuò)信息。輸入信息后,點(diǎn)擊“修改”按鈕,數(shù)據(jù)庫(kù)表中的相應(yīng)書目信息被修改為新值。
3、實(shí)驗(yàn)三:Applet編程:鴨子的移動(dòng)
實(shí)驗(yàn)?zāi)康模赫莆誂pplet程序設(shè)計(jì)的方法,學(xué)會(huì)在Applet中繪制圖片,能采用雙緩沖技術(shù)進(jìn)行圖片繪制,會(huì)在Applet中采用多線程進(jìn)行動(dòng)畫顯示。能在Applet中實(shí)現(xiàn)動(dòng)畫的平滑顯示,避免閃爍現(xiàn)象。
實(shí)驗(yàn)內(nèi)容:在Applet窗口中顯示一只鴨子圖片,要求這只鴨子以每秒100幀的速率水平移動(dòng),移到窗口邊界再返回移動(dòng)。在窗口中點(diǎn)擊鼠標(biāo),鴨子停止移動(dòng);再次點(diǎn)擊鼠標(biāo),鴨子恢復(fù)移動(dòng)。
4、實(shí)驗(yàn)四:網(wǎng)絡(luò)編程:聊天室的實(shí)現(xiàn)
實(shí)驗(yàn)?zāi)康模簳?huì)編寫客戶端和服務(wù)器程序?qū)崿F(xiàn)C/S模式下的通信,會(huì)使用多線程進(jìn)行網(wǎng)絡(luò)編程。
實(shí)驗(yàn)內(nèi)容:編寫一個(gè)聊天室程序:客戶端界面請(qǐng)自行設(shè)計(jì),可使其具有個(gè)性化特征; 可在實(shí)現(xiàn)基本的聊天室功能的基礎(chǔ)上添加個(gè)性化的功能。
第五篇:java程序員面試題
Java部分:
1.GC是什么? 為什么要有GC?(基礎(chǔ))
2.給我一個(gè)你最常見(jiàn)到的runtime exception。
3.編程題: 用最有效率的方法算出2乘以8等於幾?
4.編程題: 寫一個(gè)Singleton出來(lái)。
5.面向?qū)ο蟮娜齻€(gè)基本特征
6.編一段代碼,實(shí)現(xiàn)在控制臺(tái)輸入一組數(shù)字后,排序后在控制臺(tái)輸出;
7.列出一些控制流程的方法;
8.編寫了一個(gè)服務(wù)器端的程序?qū)崿F(xiàn)在客戶端輸入字符然后在控制臺(tái)上顯示,直到輸入“END”為止,讓你寫出客戶端的程序;
9.抽象類與接口?
10.實(shí)現(xiàn)從文件中一次讀出一個(gè)字符的操作
數(shù)據(jù)庫(kù)部分
1.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別
2.什么是事務(wù)?
3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?
4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語(yǔ)句級(jí)觸發(fā)和行級(jí)觸發(fā)有何區(qū)別。
5.試編寫一個(gè)存儲(chǔ)過(guò)程,實(shí)現(xiàn)對(duì)用戶登錄的驗(yàn)證。
6.有數(shù)據(jù)庫(kù)表,表名為USER,字段為:ID,NAME,PASSWD,PHONE,AGE,其中ID為主鍵,數(shù)據(jù)類型均為字符型
問(wèn)題一:編寫創(chuàng)建該表的SQL語(yǔ)句。
問(wèn)題二:分別編寫增、刪、改,這3條基本SQL語(yǔ)句
問(wèn)題三:編寫查找NAME包含‘張’的用戶信息,并按年齡排序
XML部分
7.xml有哪些解析技術(shù)?區(qū)別是什么?
8.你在項(xiàng)目中用到了xml技術(shù)的哪些方面?如何實(shí)現(xiàn)的?
JDBC 部分
9.Class.forName的作用?為什么要用?
10.編程題,編寫使用JDBC連Oracle的程序,并實(shí)現(xiàn)數(shù)據(jù)查詢功能,表名和字段由答題者自
己定義。
Javascript 部分
11.Javascript中有哪些常用對(duì)象
12.如何使用javascript操縱html對(duì)象
Html 部分
13.編寫一個(gè)基本的html頁(yè)面,頁(yè)面中包含一個(gè)用戶登錄的表單
AJAX部分
14.試描述實(shí)現(xiàn)一個(gè)最基本的AJAX操作所需要的程序結(jié)構(gòu),不同部分需要使用什么程序?qū)?/p>
象。
15.你使用AJAX的經(jīng)驗(yàn),和實(shí)際應(yīng)用的功能模塊。
Jsp、servlet 部分
16.jsp有哪些內(nèi)置對(duì)象及方法?作用分別是什么?
17.jsp有哪些動(dòng)作?作用分別是什么?
18.JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?
19.兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?
20.說(shuō)一說(shuō)Servlet的生命周期?
21.JSP的常用指令
22.什么情況下調(diào)用doGet()和doPost()?
23.如何現(xiàn)實(shí)servlet的單線程模式
24.servlet的配置
25.四種會(huì)話跟蹤技術(shù)
26.應(yīng)用服務(wù)器有那些