114、編寫(xiě)一個(gè)Filter,需要(B)
A. 繼承 Filter 類(lèi)
B. 實(shí)現(xiàn) Filter 接口
C. 繼承 HttpFilter 類(lèi)
D. 實(shí)現(xiàn) HttpFilter 接口
A. 使用 Servlet 作為控制器
B. MVC 設(shè)計(jì)模式增大了維護(hù)難度
C. MVC 設(shè)計(jì)模式屬于 Model 2
D. 模型對(duì)象向客戶(hù)端顯示應(yīng)用程序界面
● Model 1:
Model 1的基礎(chǔ)是JSP文件,它由一些相互獨(dú)立的JSP文件,和其他一些Java Class 組成(不是必須的)。這些JSP從 HTTP Request中獲得所需要的數(shù)據(jù),處理業(yè)務(wù)邏輯,然后將結(jié)果通過(guò) Response 返回前端瀏覽器。
● Model 2:
采用面向?qū)ο蠹夹g(shù)實(shí)現(xiàn)MVC模式從而擴(kuò)展JSP/Servlet的模式被稱(chēng)為是Model 2模式。Apache Jakarta 項(xiàng)目中Struts是一個(gè)實(shí)現(xiàn)Model 2的很好的框架,它通過(guò)一些Custom Tag Lib處理表現(xiàn)層,用ActionFrom Bean表示數(shù)據(jù),用自己提供的一個(gè)ActionServlet作為控制器實(shí)現(xiàn)頁(yè)面的流轉(zhuǎn)的控制功能。說(shuō)的直白一些,model1即為單純的 jsp+java,沒(méi)有框架參與,通過(guò)response和request對(duì)象傳送值域,而model2則使用較為流行的struts2框架(當(dāng)然也可能是其他的MVC框架,例如SpringMVC)。
A. cat /proc/filesystems
B. ln
C. mount
D. df
A. shell 是解釋用戶(hù)在終端鍵入的命令的一種中間程序
B. shell 可以讀取并執(zhí)行腳本文件中的命令
C. 用戶(hù)可以使用參數(shù)將命令行的參數(shù)傳遞給 shell 腳本,從而實(shí)現(xiàn)在 Linux 中的交互式編程
D. 默認(rèn)情況下,Linux 中創(chuàng)建的所有文件都具有執(zhí)行權(quán)限
A. WHERE CURRENT OF
B. WHERE CURSOR OF
C. FOR UPDATE
D. FOR CURSOR OF
A. 將Scott.inventory 對(duì)象的訪(fǎng)問(wèn)權(quán)限賦予所有用戶(hù)
B. 指定了新的對(duì)象權(quán)限
C. 指定了新的系統(tǒng)權(quán)限
D. 給Scott.inventory對(duì)象創(chuàng)建一個(gè)公用同義詞 parts
A. class中的constructor不可忽略
B. constructor可以作為普通方法被調(diào)用
C. constructor在一個(gè)對(duì)象new時(shí)被調(diào)用
D. 一個(gè)class只能定義一個(gè) constructor
A、&&
B、<>
C、If
D、:=
A、實(shí)例方法可以直接調(diào)用超類(lèi)的實(shí)例方法
B、實(shí)例方法可以直接調(diào)用超類(lèi)的類(lèi)方法
C、實(shí)例方法可以直接調(diào)用其他類(lèi)的實(shí)例方法
D、實(shí)例方法可以直接調(diào)用本類(lèi)的類(lèi)方法
int a = 0;
int c = 0;
do {
--c;
a = a - 1;
} while (a > 0);
A、0
B、1
C、-1
D、死循環(huán)
如果你擁有一些方法并且想讓它們中的一些有默認(rèn)實(shí)現(xiàn),那么使用抽象類(lèi)吧。
如果你想實(shí)現(xiàn)多重繼承,那么你必須使用接口。由于 Java 不支持多繼承,子類(lèi)不能夠繼承多個(gè)類(lèi),但可以實(shí)現(xiàn)多個(gè)接口。因此你就可以使用接口來(lái)解決它。
如果基本功能在不斷改變,那么就需要使用抽象類(lèi)。如果不斷改變基本功能并且使用接口,那么就需要改變所有實(shí)現(xiàn)了該接口的類(lèi)。
多數(shù)情況下抽象類(lèi)都是共同特征的抽象,而接口是共同行為的抽象。
throw和throws都是異常處理機(jī)制當(dāng)中的關(guān)鍵字,throw是手動(dòng)拋異常,throws是以聲明的方式拋出異常,并且拋給調(diào)用者處理。
class SqlConnectionUtil {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql;
String url = "jdbc:MySQL://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=UTF8";
try {
Class.forName("com.MySQL.jdbc.Driver");
conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
sql = "select * from user";
rs = stmt.executeQuery(sql);
while (rs.next()) {
String name = rs.getString("name");
System.out.println("姓名是:" + name);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
127、寫(xiě)一個(gè)多線(xiàn)程程序,四個(gè)線(xiàn)程對(duì)一個(gè)int 變量,2 個(gè)加 1,2 個(gè)減1,輸出。
class TMain {
int j = 1;
public synchronized void inc() {
j++;
System.out.println(Thread.currentThread().getName() + "-inc:" + j);
}
class T1 implements Runnable {
public void run() {
inc();
}
}
public synchronized void dec() {
j--;
System.out.println(Thread.currentThread().getName() + "-dec:" + j);
}
class T11 implements Runnable {
public void run() {
dec();
}
}
public static void main(String[] args) {
TMain t = new TMain();
T1 t1 = t.new T1();
T11 t11 = t.new T11();
for (int i = 0; i < 2; i++) {
Thread thread = new Thread(t1);
thread.start();
Thread thread1 = new Thread(t11);
thread1.start();
}
}
}
128、說(shuō)出常用的10個(gè)linux操作命令,至少 5 個(gè),并簡(jiǎn)述命令的作用。
● ls命令
-作用:顯示目錄內(nèi)容,類(lèi)似 DOS 下的 DIR
-格式:LS【options】【filename】
-常用參數(shù):
>-a:all,不隱藏任何以"."字符開(kāi)始的文件
>-l:使用較長(zhǎng)的格式列出信息
>-r:按照文件名的逆序打印輸出
>-F:加上文件類(lèi)型的指示符ls -lF | grep / 過(guò)濾
● man ls 查詢(xún) ls 的幫助文件
● cat命令
-作用:顯示文件內(nèi)容,concatenate 的縮寫(xiě),類(lèi)似 dos 的 type 命令。
-格式:cat【options】【fielname】
-常用參數(shù):
>-n:顯示文件內(nèi)容的行號(hào)。
>-b:類(lèi)似-n,但是不對(duì)空白行進(jìn)行編號(hào)。
>-s:當(dāng)遇到有連續(xù)兩行以上的空白行時(shí),就代換為一行的空白行。
● mv 命令
-作用:更改文件或者目錄的名字。
-格式:mv[options]source destination
-常用參數(shù):
>-f:強(qiáng)制模式,覆蓋文件不提示。
>-i:交互模式,當(dāng)要覆蓋文件的時(shí)候給提示。
● rm 命令
-作用:刪除文件命令,類(lèi)似 dos 的 del 命令
-格式:rm【options】filenames
-常用參數(shù):
>-f:強(qiáng)制模式,不給提示。
>-r,-R:刪除目錄,recursive
● access-log記錄 HTTP/web 的傳輸
● acct/pacct記錄用戶(hù)命令
● aculog記錄 MODEM 的活動(dòng)
● btmp記錄失敗的紀(jì)錄
● lastlog記錄最近幾次成功登錄的事件和最后一次不成功的登錄
● messages從 syslog 中記錄信息(有的鏈接到 syslog 文件)
● sudolog記錄使用 sudo 發(fā)出的命令
● sulog記錄使用 su 命令的使用
● syslog從 syslog 中記錄信息(通常鏈接到 messages 文件)
● utmp記錄當(dāng)前登錄的每個(gè)用戶(hù)
● wtmp一個(gè)用戶(hù)每次登錄進(jìn)入和退出時(shí)間的永久紀(jì)錄
● xferlog記錄 FTP 會(huì)話(huà)
● 寫(xiě)出建表語(yǔ)句:
CREATE TABLE EMPLOYEES(
EMPLOYEE_ID int not null primary key,
DEPT_ID int,
EMPLOYEE_NAME char(40),
EMPLOYEE_SALARY double
);
● 檢索出員工工資最高的員工姓名和工資
select * from user where employee_salary= (select max(employee_salary) from user);
● 檢索出部門(mén)中員工最多的部門(mén)號(hào)和此部門(mén)員工數(shù)量???????
select dept_id,count(*) cno from user GROUP BY dept_id desc limit 1;??????????????