1.下面关于关键字synchronized的描述中,正确的是(B )。
2.将对象序列化,要实现的接口是( C)。
3.fail-fast和fail-safe迭代器的区别是什么?
4.对于一些敏感的数据(例如密码),为什么使用字符数组存储比使用String更安全?
5.如何捕获一个线程抛出的异常?
4.在Applet子类中,一般需要重载父类的(D )方法来完成一些画图操作。
5.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,那么类MyApplet必须是( Applet)类的子类,并且存储该源程序文件的文件名为( MyApplet.java)。
6.在Java语言中,char型采用Unicode编码方案,每个Unicode码占用( 2)字节内存空间,这样,无论是中文字符还是英文字符,都是占用( 2)字节内存空间。
7.开发与运行Java程序的三个主要步骤为(编写源程序 )、(编译生成字节码 )和(解释执行 )。
8.如果一个Java Applet程序文件中定义有4个类,则使用Sun公司的JDK编译器( javac)编译该源程序文件将产生( 4)个文件名,与类名相同而扩展名为(.class )的字节码文件
9.假设i=2,那么表达式(i++)/3的值为(0 )。
10.假设x=5,y=6,则x<y和x>=y的逻辑值分别为(true )和( false)。
11.( 抽象)方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。( final)方法是不能被当前类的子类重新定义的方法。
12.创建一个名为MyPackage的包的语句是( package),该语句应该放在程序的位置为( Mypackage; 程序的第一句)
13.以下可以替换URL中的session ID的方法是( B)。
14.简要介绍对Struts的体系结构的理解。
14.XML包括哪些解释技术?它们有什么区别?
15.JSP有哪些内置对象和动作?
内置对象
16.如果用数组S[0…n]作为两个栈S1和S2的存储结构,对任何一个栈,只有当S全满时才不能做入栈操作,那么为S1、S2这两个栈分配空间的最佳方案是( A)。
17.下面不是标准的Statement类的是(D )。
18.下面有关forward和redirect的描述中,不正确的是(E )。
19.如何能使JVM的堆、栈和持久代(perm)发生内存溢出?
20.JDBC事务隔离级别有几种?
21.在HashTable、Vector、TreeSet和LinkedList中,哪个容器是线程安全的?
22.Web服务器与Web应用服务器有什么区别?
23.容器被重新设置大小后,( B)布局管理器的容器中的组件大小不随容器大小的变化而改变。
24.可以对对象加互斥锁的关键字是( B)。
25.下列关于内存回收的描述中,正确的是( B)。
26.编写一个输出“Hello World!”的程序,用两种方式实现(Application、Applet)。
import java.applet.Applet;
import java.awt.*;
/**
* @author 龙御修
* @create 2022-04-16 19:19
*/
//Applet
class AppletDemo extends Applet {
private String str;
public void init(){
str="Hello world";
}
public void paint(Graphics g){
g.drawString(str,10,10);
}
// Application
public static void main(String[] args) {
System.out.println("Hello world");
}
}
27.用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将添加在文件里。用户通过按下“Done”按钮来告诉系统整个列表已输入完毕。如果用户输入完整个列表,程序将创建一个输出文件并显示或打印出来。
格式如下:555-1212,Tom 123-456-7890,Peggy L.234-567,Marc 234-5678,Ron 876-4321,Beth&Brian 33.1.42.45.70,Jean-Marc。
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
/**
* @author 龙御修
* @create 2022-04-16 19:34
*/
public class ProceedsDemo {
public static void main(String[] args) {
String name;
String phoen;
BufferedOutputStream buff=null;
FileOutputStream fos;
Scanner scanner=new Scanner(System.in);
try {
fos=new FileOutputStream(new File("phone.txt"));
buff=new BufferedOutputStream(fos);
while (true){
System.out.println("请输入名字,或者donc退出");
name=scanner.nextLine();
if(name.trim().equalsIgnoreCase("done"))
break;
System.out.println("请输入手机号,或输入done退出");
phoen=scanner.nextLine();
if(phoen.trim().equalsIgnoreCase("done"))
break;
buff.write((phoen+","+name+"\n").getBytes(StandardCharsets.UTF_8));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(buff!=null){
try {
buff.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
28.设某棵二叉树中有360个结点,则该二叉树的最小高度是(B)。
29.下列排序算法中,对一个list排序的最快方法是(A )。
30.应用程序PING发出的是(A )报文。
31.以下关于守护线程的说法中,正确的是( A)。
32.轮询任务调度和可抢占式调度有什么区别?
33.列出数据库中常用的锁及其应用场景。
34.请回答以下关于进程、线程以及程序的有关问题。
1)进程和线程的区别是什么?
2)多线程程序有什么优点与缺点?
3)多进程程序有什么优点与缺点?与多线程相比有什么区别