周测整理

2018-07-27 周测题

1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

Java虚拟机是执行字节码文件(.class)的虚拟机进程。java源程序(.java)被编译器编译成字节码文件(.class)。然后字节码文件,将由java虚拟机,解释成机器码(不同平台的机器码不同)。利用机器码操作硬件和操作系统。

因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有JVM的存在,java被称为平台无关的编程语言。

 

2.JAVA支持的数据类型有哪些?什么是自动拆装箱?

1)8种基本数据类型:byte short char boolean int longfloat double

2)引用类型,包括类、接口、数组

自动拆装箱,是指基本数据类型和引用数据类型之间的自动转换,如Integer 和 int 可以自动转换; Float和float可以自动转换

 

 

 

3.简述方法中的参数传递的原理?(提示:值传递和引用传递)

如果传入的是基本数据类型,原数据的值不会发生改变,如果是引用数据类型会改变,因为方法参数传递是“拷贝值(如果是基本数据类型拷贝本身的值,如果是引用数据类型拷贝的是对象的引用、地址)的副本”

 

 

4.简述抽象类和接口的区别?

  • 抽象类中可以定义普通方法,但是接口中都是抽象方法和静态变量;
  • 在抽象类是可以定义静态方法的,接口中不能定义静态方法的;
  • 在抽象中可以定义构造器的,但是在接口中是不存在构造器这个概念的;
  • 一个类最多只能有一个直接的父类或者抽象类,但是可以有多个接口的实现。

 

5.定义一个完整的Student类,包含字段code,name,age,类成员包括:成员变量,getter,setter,多字段的构造器,重写toString方法。

    public class Student {
    private String name;
    private int code;
    private int age;
     
    public Student() {
    }
    public Student(String name, int code, int age) {
    	super();
    	this.name = name;
    	this.code = code;
    	this.age = age;
    }
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name = name;
    }
    public int getCode() {
    	return code;
    }
    public void setCode(int code) {
    	this.code = code;
    }
    public int getAge() {
    	return age;
    }
    public void setAge(int age) {
    	this.age = age;
    }
    @Override
    	public String toString() {
    		
    		return "Student[姓名:"+name+"学号:"+code+"年龄:"+age+"]";
    	}
    }

 

 

6.Java集合类框架的基本接口有哪些?并阐述他们的基本特征。

Java集合类里面最基本的接口有:

Collection:代表一组对象,每一个对象都是它的子元素。

Set:不包含重复元素,。

List:有顺序的集合,并且可以包含重复元素,其中含有arraylist和linkedlist。

Map:可以把键(key)映射到值(value)的对象,键不能重复。

 

7.java运行原理

当服务器上的一个jsp页面第一次请求执行时,服务器上的jsp引擎首先将jsp页面文件转译成一个java文件,并且编译这个java文件生成字节码文件,然后执行字节码文件相应用户的请求,而当这个jsp再次被请求执行时,jsp引擎将直接执行字节码文件来响应用户

 

8.使用JSTL结合EL表达式,完成一个在JSP输出表格tbody体内容的代码(表格内容自拟)

    <tbody>
            <c:forEach items="${stus}" var="stu" varStatus="vs">
              <tr>
                   <td>${vs.count}</td>
                    <td>${stu.id}</td>
                    <td>${stu.name}</td>
                    <td>${stu.code}</td>
                    <td><a href='DelServlet?id=${stu.id}'>删除</a> <a         
                        href='UpdateForwardServlet?id=${stu.id} '>编辑</a></td>
              </tr>
            </c:forEach>
    </tbody>

 

 

9.MVC是什么意思?MVC的优点有哪些?

MVC全名是Model ViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。完成页面请求和数据传递的过程,着重在于请求逻辑的实现。

1:耦合性低

2:重用性高

3:部署快

4:可维护性高

5:有利软件工程化管理

 

 

10.页面传值的几种方式?(至少3种,有文字描述,有实例)

一、超链接
<a href="P.jsp?username=zhangshan&pwd=123456&age=25"> 链接</a>
二、form表单
    1.可显示的控件
      <input type="text" name="username">
    2.如果要传递的值,不需要显示在页面上
      (1)<input type="hidden" name="pwd" value="<%=pwd%>">
      (2)<form action="XXX.jsp?username=zhangshan" method="post"></form>
三、JSP的include和forward标签
    <jsp:include flush="true" page="T.jsp?username=zhangshan&pwd=123456678">
      <jsp:param name="age" value="28"/>
    </jsp:include>
四、JavaScript方式
  location. href ("V.jsp?username="+v+"&age=25");
五、设置session和request

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值