一、单选题
1、下列关于Spring特性中IoC描述错误的是:
A、IoC就是指程序之间的关系由程序代码直接操控
B、所谓“控制反转”是指控制权由应用代码转到外部容器,即控制权的转移
C、IoC将控制创建的职责搬进了框架中,从应用代码脱离开来
D、使用Spring的IoC容器时只需指出组件需要的对象,在运行时Spring的IoC容器会根据XML配置数据提供给它
1、A
2、下面有关JAVA异常类的描述,说法错误的是?
A、异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception
B、非RuntimeException一般是外部错误,其必须被 try{}catch语句块所捕获
C、Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
D、RuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被 try{}catch语句块所捕获
2、D
3、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
public class HelloB extends HelloA
{
public HelloB()
{
}
{
System.out.println("I’m B class");
}
static
{
System.out.println("static B");
}
public static void main(String[] args)
{
new HelloB();
}
}
class HelloA
{
public HelloA()
{
}
{
System.out.println("I’m A class");
}
static
{
System.out.println("static A");
}
}
A、static A
I’m A class
static B
I’m B class
B、I’m A class
I’m B class
static A
static B
C、static A
static B
I’m A class
I’m B class
D、I’m A class
static A
I’m B class
static B
3、C
4、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
package algorithms.com.guan.javajicu;
public class Inc {
public static void main(String[] args) {
Inc inc = new Inc();
int i = 0;
inc.fermin(i);
i= i ++;
System.out.println(i);
}
void fermin(int i){
i++;
}
}
A、0 B、1 C、2 D、3
4、A
5、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
package algorithms.com.guan.javajicu;
public class Example {
String str = new String("good");
char[] ch = {'a','b','c'};
public static void main(String[] args) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str +"and");
System.out.print(ex.ch);
}
public void change(String str, char ch[]){
str= "test ok";
ch[0]= 'g';
}
}
A、test okandabc
B、test okandgbc
C、goodandabc
D、goodandgbc
5、D
二、不定项选择
6、在服务器的网络编程中,解决会话跟踪的方法有?
A、使用Cookie
B、使用URL重写
C、使用隐藏的表单域
D、以上方法都不能单独使用
6、A B C
7、下面有关java类加载器,说法正确的是?
A、引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的
B、扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
C、系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类
D、 tomcat为每个App创建一个Loader,里面保存着此WebApp的ClassLoader。需要加载WebApp下的类时,就取出ClassLoader来使用
7、A B C D
三、解答题
8、 任意2n个整数,从其中选出n个整数,使得选出的n个整数和同剩下的n个整数之和的差最小。
8、
int solve()
{
int i , j , s;
int dp[N+1][SUM/2+2];
memset(dp,0,sizeof (dp));
for (i = 1 ; i <= 2*N ; ++i)
{
for (j = 1 ; j <= min(i,N) ; ++j)
{
for (s = SUM/2+1 ; s >= arr[i] ; --s)
{
dp[j][s] = max(dp[j-1][s-arr[i]]+arr[i] , dp[j][s]);
}
}
}
return dp[N][SUM/2+1];
}
9、有两个有序的集合,集合的每个元素都是一段范围,求其交集,例如集合{[4,8],[9,13]}和{[6,12]}的交集为{[6,8],[9,12]}
9、
var arr1 = [[4,8],[9,13]];//支持N个有序集合
var arr2 = [6,12];
var arr3 = [];
for (var i = 0;i < arr1.length;i ++){
if (arr2[1] >= arr1[i][0] && arr2[0] <= arr1[i][1]){
arr3.push([Math.max(arr1[i][0],arr2[0]),Math.min(arr1[i][1],arr2[1])]);
}
}
console.log(arr3);
10、一个文件中有10000个数,用Java实现一个多线程程序将这个10000个数输出到5个不用文件中(不要求输出到每个文件中的数量相同)。要求启动10个线程,两两一组,分为5组。每组两个线程分别将文件中的奇数和偶数输出到该组对应的一个文件中,需要偶数线程每打印10个偶数以后,就将奇数线程打印10个奇数,如此交替进行。同时需要记录输出进度,每完成1000个数就在控制台中打印当前完成数量,并在所有线程结束后,在控制台打印”Done”.
10、
11、检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。
package
algorithms.com.guan.javajicu;
public
class
Example {
String str =
new
String(“good”);
char
[] ch = {‘a’, ’b’, ’c’};
public
static
void
main(String[] args) {
Exampleex =
new
Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + ” and ”);
System.out.print(ex.ch);
}
public
void
change(Stringstr,
char
ch[]) {
str = “test ok”;
ch[
0
] =
'g'
;
}
}
11、输出结果:goodandgbc