北方互联 JAVA复赛笔试

北方互联 JAVA复赛笔试

Java笔试题

一、选择题 30分

  1. 在java中,由java编译器自动导入,而无需在程序中用import导入的包是( B)

A. java.applet

B. java.lang

C. java.util

D. java.awt

  1. 下列方法中可以用来创建一个新线程的是( D )

A.实现java.lang.Runnable接口并重写run()方法

B.实现java.lang.Runnable接口并重写start()方法

C.实现java.lang.Thread类并实现start()方法

D. 继承java.lang.Thread类并重写run()方法

  1. 下列代码中,讲引起一个编译错误的行是( D)

1 public class Test{

2 int m,n;

3 public Test(){}

4 public Test(int a){m=a;}

5 public static void main(String args[]){

6 Test t1,t2;

7 int j,k;

8 j=0;k=0;

9 t1=new Test();

10 t2=new Test(j,k);

11 }

12}

A.第三行

B.第五行

C.第六行

D.第十行

4.switch(){}结构中,括号中可使用的数据类型不能是( D )。

A.long

B.int

C.short

D.float

  1. Socket通信使用的底层协议是(B )

A.UDP协议

B.TCP/IP协议

C.FTP协议

D.TELNET协议

  1. 下列叙述中,正确的是(A )

A.java语言的标识符是区分大小写的

B.源文件名与public类名可以不相同

C.源文件名其扩展为.jar

D.源文件中public类的数目不限

  1. 下列属于合法的java标识符的是(A )

A._cat

B.5books

C.+static

D.-3.14159

  1. 下面代码运行的结果是(B )

Public class Demo{

Public int add(int a,int b){

Try{

Return a+b;

}catch(Exception e){

System.out.println(“Catch 语句块”);

}finally{

System.out.println(“finally 语句块”);}

}

Return 0;

}

Public static void main(String[] args){

Demo demo = new Demo();

System.out.println(“和是:”+demo.add(9,34));

}

A. 编译异常

B. Finally语句块和是:43

C. 和是:43finally语句块

D. Catch语句块和是:43

  1. 根据下面的代码

String s = null;

会抛出NullPPointerException 异常的有(A )。

A. If((s!=null)&(s.length()>0))

B. if((s!=null)&&(s.length()>0))

C. if((s==null|(s.length()==0))

D. if((s==null)||(s.length()==0))

  1. 在java中开发jdbc应用程序时,使用DriverManager类的getConnection()方法建立与数据源的链接语句为:

Connection con = DriverManager.getConnection(“jdbc:odbc:news”);

URL链接中的“news”表示的是(C )

A. 数据库中表的名称

B. 数据库服务器的机器名

C. 数据源的名称

D. 用户名

  1. 执行如下代码

a=0;c=0;

do{

–c;a=a-1;

}while(a>0);后,c的值是( C)

A.0

B.1

C.-1

D.死循环

  1. 分析下面的代码,哪些叙述是正确的?( C )

Public class Person{

Int arr[] = new int[10];

Public static void main(String a[]){

System.out.println(arr[1]);

}

}

A. 编译时出错

B. 编译时正确,而运行时出错

C. 输出0

D. 输出null

  1. 下面哪个选项对数组的声明、创建和初始化是合法的? (B D E)

A.int[] myList = {“1”,”2”,”3”};

B.int[] myList = {5,8,2};

C.int myList[][] = {4,9,7,0};

D.int myList[] = {4,3,7};

E.int[] myList={1,3,5};

F.int myList[]={4;5;6};

  1. 动态构造字符串数据更适合( A),数值不可改变的字符串更适合( B)

A.String

B.StringBuffer

C.char

  1. 以下继承于Collection接口的有哪些( B C )

A.Map

B.List

C.Set

  1. Iterator是接口吗? (A)

A.是

B.不是

解析:Iterator接口也是Java集合框架的成员,但它与Collection系列、Map系列的集合不一样:Collection系列集合、Map系列集合主要用于盛装其他对象,而Iterator则主要用于遍历(即迭代访问)Collection集合中的元素,Iterator对象也被称为迭代器。

  1. 以下哪些java容器是线程安全的(A ),哪些是天然支持并发的(D BCE)?

A.Vector

B.ArrayList

C.HashSet

D.ConcurrentHashMap

E.EnumSet

  1. Itertor有哪些方法?(ACD )

A.next

B.equals

C.remove

D.hasNext

  1. 以下代码是哪种设计模式( C )

Public class A{

Private static A instance = null;

Public static A getInstance(){

If(instance==null)

Instance = new A();

Return instance;}

}

A. 工厂模式

B. 适配器模式

C. 单例模式

  1. 运行B类,程序会输出顺序是?(ADBC )

Public class A{

Static{

System.out.print(“1”);

}

Public A(){

System.out.println(“2”);

}

}

Public class B extends A{

Static{

System.out.print(“4”);

}

Public B(){

System.out.print(“3”);

}

Public static void main(String[] args){

New B();

}

}

A.1 B.2 C.3 D.4

  1. File类型中定义了什么方法来判断一个文件是否存在?(D )

A.creatNewFile B.renameTo C.delete D.exists

  1. 关于转发和重定向以下哪些说法是正确的( AD)

A.转发url不会改变

B.重定向url不会改变

C.重定向保持request中存放参数

D.转发能保持request中存放参数

23.POST和GET哪一个在form提交时会自动把参数和值加入到url中(B )

A.POST B.GET C.两者都会

24.要实现层的隐藏,display:______( D)

A.false B.hidden C.”” D.none

25.”abcdefg”.sbustring(2,3)的结果是(C )

A.cde B.b C.c D.bcd

26.在正则 表达式中\d代表什么(A )

A.数字字符

B.非数字字符

C.任意一个字母

D.任意的空白符

27.以下sql语句下划线中填入什么值能得到正确的结果?( A)

Select num,count(score) from play group by____

A.num B.score C.count(score)

28.关于构造器是否可以被override,是否可以被overload( C )

A.能,能 B不能,能 C不能,能 D能,不能

29.如果对象的引用被置为null,垃圾收集器什么时候释放对象占用的内存( C )

A.立即释放 B.方法调用结束后释放 C.下一个垃圾回收周期 D.不确定

30.关于接口和抽象类不正确是:( C )

A. 接口中所有的方法隐含的都是抽象的,而抽象类则可以同时包含抽象和非抽象的方法

B. 类可以实现很多个接口,但是只能继承一个抽象类

C. Java接口与抽象类都可以包含非final的变量

D. 接口是绝对抽象的,不可以被实例化,抽象类也不可以被实例化

二、程序题 30分
1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序 10分

String str = "1,2,3,4,5,6,7";
String[] arr= str.split(",");
for(int i = 0;i<arr.length - 1 ;i++) {
    for(int j = 1;j<arr.length - j - 1;j++) {
         if(arr[j] < arr[ j + 1]) {//降序   如果变成 arr[j] > arr[ j + 1]就成了升序
            temp = arr[ j + 1];
           arr[ j + 1] = arr[j];
           arr[j] = temp;
         }
    }
}
for(String ar : arr) {
system.out.println(ar );
}

2.实现数组复制 10分

package TEST1;

import java.util.Scanner;

public class ArrayCopy { 
 
    public static void main(String[] args) { 
      final int ARRAY_MAX = 12; 
      int[] sA = new int[ARRAY_MAX]; 
      int[] tA = new int[sA.length]; 
       
      Scanner scan = new Scanner(System.in);
      for(int i = 0;i<sA.length;i++){ 
    	  sA[i] = scan.nextInt();
        } 
       
      **for(int j = 0;j<tA .length;j++){ 
    	  tA [j] = sA [j]; 
        }** 
       
      for(int k = 0;k < sA.length;k++){ 
          System.out.print(tA[k]+" "); 
      } 
   } 
} 

3.冒泡排序的实现 10分

package TEST1;

import java.util.Scanner;

public class ArrayCopy { 
 
    public static void main(String[] args) { 
      final int ARRAY_MAX = 12; 
      int[] sa = new int[ARRAY_MAX]; 
      int i,j;
      Scanner scan = new Scanner(System.in);
      for(i = 0;i<sa.length;i++){ 
    	  sa[i] = scan.nextInt();
        } 
      int t;
      
      **for(j=0;j<sa.length-1;j++)//升序
    	  for(i=0;i<sa.length-1-j;i++){
    		  if(sa[i]>sa[i+1])
    		  {
    			  t = sa[i];
    			  sa[i]=sa[i+1];
    			  sa[i+1]=t;
    		  }
    	  }**
      
      for(int k = 0;k < sa.length;k++){ 
          System.out.print(sa[k]+" "); 
      } 
   } 
} 

三、简答题 40分
1、 请列出Java主要的基本数据类型。10分

java的基本数据类型有八种:四种整数类型(byte、short、int、long);两种浮点数类型(float、double):一种字符类型(char):一种布尔类型(boolean)。

2、 描述spring的理解10分

Spring主要是为企业开发解决了系列的问题,而且可以十分方便的与其他框架集成在一起。最显著的特性是IOC与AOP。

IOC
控制反转,所有的实例交由IOC容器管理。解决对象依赖,同时避免在代码中各种乱新建实例,难以管理。

AOP
面向切面编程,提供了很多企业应用的刚需,日志、事务、资源池等等。将系统服务与业务逻辑分离,并为这些系统服务提供了良好的解决方案。

https://blog.csdn.net/u011299745/article/details/74960356

3、 描述对mysql事务的理解10分
事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)。

一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成。
事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同。

事务四大特征(ACID)

原子性( A ):事务是最小单位,不可再分
一致性( C ):事务要求所有的DML语句操作的时候,必须保证同时成功或者同时失败
隔离性( I ):事务A和事务B之间具有隔离性
持久性( D ):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)

https://blog.csdn.net/w_linux/article/details/79666086

4、 如何提升tomcat服务器性能10分
服务器资源
利用缓存和压缩
采用集群
优化tomcat参数
改用APR库
优化网络
让测试说话

https://blog.csdn.net/liou825/article/details/23702077

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值