114、编写一个Filter,需要(B)
A. 继承 Filter 类
B. 实现 Filter 接口
C. 继承 HttpFilter 类
D. 实现 HttpFilter 接口
A. 使用 Servlet 作为控制器
B. MVC 设计模式增大了维护难度
C. MVC 设计模式属于 Model 2
D. 模型对象向客户端显示应用程序界面
● Model 1:
Model 1的基础是JSP文件,它由一些相互独立的JSP文件,和其他一些Java Class 组成(不是必须的)。这些JSP从 HTTP Request中获得所需要的数据,处理业务逻辑,然后将结果通过 Response 返回前端浏览器。
● Model 2:
采用面向对象技术实现MVC模式从而扩展JSP/Servlet的模式被称为是Model 2模式。Apache Jakarta 项目中Struts是一个实现Model 2的很好的框架,它通过一些Custom Tag Lib处理表现层,用ActionFrom Bean表示数据,用自己提供的一个ActionServlet作为控制器实现页面的流转的控制功能。说的直白一些,model1即为单纯的 jsp+java,没有框架参与,通过response和request对象传送值域,而model2则使用较为流行的struts2框架(当然也可能是其他的MVC框架,例如SpringMVC)。
A. cat /proc/filesystems
B. ln
C. mount
D. df
A. shell 是解释用户在终端键入的命令的一种中间程序
B. shell 可以读取并执行脚本文件中的命令
C. 用户可以使用参数将命令行的参数传递给 shell 脚本,从而实现在 Linux 中的交互式编程
D. 默认情况下,Linux 中创建的所有文件都具有执行权限
A. WHERE CURRENT OF
B. WHERE CURSOR OF
C. FOR UPDATE
D. FOR CURSOR OF
A. 将Scott.inventory 对象的访问权限赋予所有用户
B. 指定了新的对象权限
C. 指定了新的系统权限
D. 给Scott.inventory对象创建一个公用同义词 parts
A. class中的constructor不可忽略
B. constructor可以作为普通方法被调用
C. constructor在一个对象new时被调用
D. 一个class只能定义一个 constructor
A、&&
B、<>
C、If
D、:=
A、实例方法可以直接调用超类的实例方法
B、实例方法可以直接调用超类的类方法
C、实例方法可以直接调用其他类的实例方法
D、实例方法可以直接调用本类的类方法
int a = 0;
int c = 0;
do {
--c;
a = a - 1;
} while (a > 0);
A、0
B、1
C、-1
D、死循环
如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。
如果你想实现多重继承,那么你必须使用接口。由于 Java 不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。
如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。
多数情况下抽象类都是共同特征的抽象,而接口是共同行为的抽象。
throw和throws都是异常处理机制当中的关键字,throw是手动抛异常,throws是以声明的方式抛出异常,并且抛给调用者处理。
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、写一个多线程程序,四个线程对一个int 变量,2 个加 1,2 个减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、说出常用的10个linux操作命令,至少 5 个,并简述命令的作用。
● ls命令
-作用:显示目录内容,类似 DOS 下的 DIR
-格式:LS【options】【filename】
-常用参数:
>-a:all,不隐藏任何以"."字符开始的文件
>-l:使用较长的格式列出信息
>-r:按照文件名的逆序打印输出
>-F:加上文件类型的指示符ls -lF | grep / 过滤
● man ls 查询 ls 的帮助文件
● cat命令
-作用:显示文件内容,concatenate 的缩写,类似 dos 的 type 命令。
-格式:cat【options】【fielname】
-常用参数:
>-n:显示文件内容的行号。
>-b:类似-n,但是不对空白行进行编号。
>-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
● mv 命令
-作用:更改文件或者目录的名字。
-格式:mv[options]source destination
-常用参数:
>-f:强制模式,覆盖文件不提示。
>-i:交互模式,当要覆盖文件的时候给提示。
● rm 命令
-作用:删除文件命令,类似 dos 的 del 命令
-格式:rm【options】filenames
-常用参数:
>-f:强制模式,不给提示。
>-r,-R:删除目录,recursive
● access-log记录 HTTP/web 的传输
● acct/pacct记录用户命令
● aculog记录 MODEM 的活动
● btmp记录失败的纪录
● lastlog记录最近几次成功登录的事件和最后一次不成功的登录
● messages从 syslog 中记录信息(有的链接到 syslog 文件)
● sudolog记录使用 sudo 发出的命令
● sulog记录使用 su 命令的使用
● syslog从 syslog 中记录信息(通常链接到 messages 文件)
● utmp记录当前登录的每个用户
● wtmp一个用户每次登录进入和退出时间的永久纪录
● xferlog记录 FTP 会话
● 写出建表语句:
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);
● 检索出部门中员工最多的部门号和此部门员工数量
select dept_id,count(*) cno from user GROUP BY dept_id desc limit 1;