周测整理

本文深入讲解了Java虚拟机的工作原理,介绍了Java的数据类型及其自动拆装箱特性,并探讨了方法参数传递机制。此外,还对比了抽象类与接口的区别,展示了如何定义一个完整的Java类,概述了集合类框架的基本接口及其特征。

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方法。

 
  1. public class Student {

  2. private String name;

  3. private int code;

  4. private int age;

  5.  
  6. public Student() {

  7. }

  8. public Student(String name, int code, int age) {

  9. super();

  10. this.name = name;

  11. this.code = code;

  12. this.age = age;

  13. }

  14. public String getName() {

  15. return name;

  16. }

  17. public void setName(String name) {

  18. this.name = name;

  19. }

  20. public int getCode() {

  21. return code;

  22. }

  23. public void setCode(int code) {

  24. this.code = code;

  25. }

  26. public int getAge() {

  27. return age;

  28. }

  29. public void setAge(int age) {

  30. this.age = age;

  31. }

  32. @Override

  33. public String toString() {

  34.  
  35. return "Student[姓名:"+name+"学号:"+code+"年龄:"+age+"]";

  36. }

  37. }

 

 

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体内容的代码(表格内容自拟)

 
  1. <tbody>

  2. <c:forEach items="${stus}" var="stu" varStatus="vs">

  3. <tr>

  4. <td>${vs.count}</td>

  5. <td>${stu.id}</td>

  6. <td>${stu.name}</td>

  7. <td>${stu.code}</td>

  8. <td><a href='DelServlet?id=${stu.id}'>删除</a> <a

  9. href='UpdateForwardServlet?id=${stu.id} '>编辑</a></td>

  10. </tr>

  11. </c:forEach>

  12. </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、付费专栏及课程。

余额充值