JSP 试题集

1.如何执行一个线程安全的JSP?
  答:只需增加如下指令
  <%@ page isThreadSafe="false" %>
2.Collection 和 Collections的区别?
  答:Collection是个java.util下的接口,它是各种集合结构的父接口。
      Collections是个java.util下的类,它包含有各种有关集合操作的静态方法
3.short i=1;i=i+1; 和short i=1;i+=1;有什么错误?
  答:short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。
      short s1 = 1; s1 += 1正确。
4.Servlet的生命周期是什么? Servlet和CGI的区别是什么
  答:web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,
      根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
      与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,
      并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
5.jsp指令有哪些?
  答:jsp指令分为两大类型,page指令和动作指令
      动作指令通常有:useBean,setProperty,getProperty,forward,plugin,include
6.jsp如何使用注释?
  答:1) <%-- --%> 2); //; 3)/** **/; 4)<!-- -->;
7.设置cookie
  答:Cookie cookie=new Cookie("myCookie",null);
         cookie.setMaxAge(0);
         cookie.setPath("/");
         response.addCookie(cookie);
8.&和&&的区别
  答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与
9.HashTable和HashMap的区别
  答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),
      由于非线程安全,效率上可能高于Hashtable。
      HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
      HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
      Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
      最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,
      不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
      Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
10.JSP中有哪些内置对象
   答:jsp共有9个内置对象
       1) request 用户端请求,此请求会包含来自POST/GET的参数
       2) response 网页传回给客户端的回应。
       3) pageContext 网页的属性在这里管理
       4) session 与请求有关的会话期
       5) appliation servlet正在执行的内容
       6) out 用来传送回应的参数
       7) page 表示该页产生的servlet实例
       8) exeption 针对jsp产生的错误页面,未捕捉的例外
       9) config servlet的架构部件
11.描述JSP和Servlet的区别、共同点、各自应用的范围
   答:尽管JSP在本质上就是SERVLET,但是两者的创建方式不一样.Servlet完全是JAVA程序代码构成擅长于流程控制和事务处理而通过Servlet
       来生成动态网页很不直观;JSP由HTML代码和JSP标签构成可以方便地编写动态网页因此在实际应用中采用Servlet来控制业务流程,而采
       用JSP来生成动态网页.在struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层
12.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
   答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。
       equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,
       返回真值。
13.给我一个你最常见到的runtime exception
   答:ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException,
       CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException,
       EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException,
       IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceException,
       NegativeArraySizeException, NoSuchElementException,NullPointerException,
       ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException,
       UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
14.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
   答:都不可能
15.启动一个线程是用run()还是start()
   答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。
       run()方法可以产生必须退出的标志来停止一个线程
16.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
   答:会执行,在return前执行。
17.用最有效率的方法算出2乘以8等於几?
   答:2 << 3
18.abstract class和interface有什么区别?
   答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,
       但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类
       的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类
       为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
       接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都
       是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承
       行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接
       口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
19.String s = new String("xyz");创建了几个String Object?
   答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
20.sleep() 和 wait() 有什么区别?
   答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可
       能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级
      (b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,
      被调对象进入等待状态,直到被唤醒或等待时间到。
21.数组有没有length()这个方法? String有没有length()这个方法?
   答:数组没有length()这个方法,有length的属性。
       String有有length()这个方法。
22.Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
   答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,
       重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,
       我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
       如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
       Overloaded的方法是可以改变返回值的类型。
23.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)
   答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
24.是否可以继承String类
   答:String是final类,故不能继承。
25.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
   答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。
       long,string 都不能作用于swtich。
26.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
   答:不对,有相同的hash code
27.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
   答:是值传递。Java 编程 语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。
       对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
28.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
   答:不能,一个对象的一个synchronized方法只能由一个线程访问。
29.构造器Constructor是否可被override
   答:不能,因为构造函数不能被继承,所以不能被重写,但可以重载
30.反转函数
   String reverse(String arg)
   {
        if(arg.length()==0)
            return arg;
        else
            return reverse(arg.substring(1,arg.length)+arg.substring(0,1);
   }
31.作用域public,private,protected,以及不写时的区别
              当前类      所在包      其它包子孙类    其它包非子孙类
    public     √          √          √                 √       
    protected  √          √          √                 ×
    friendly   √          √          ×                 ×
    private    √          ×          ×                 ×
32.ArrayList和Vector的区别
   答:就ArrayList与Vector主要从二方面来说.
      一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
      二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
33.char型变量中能不能存贮一个中文汉字 为什么
   答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
34.多线程有几种实现方法,都是什么 同步有几种实现方法,都是什么
   答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
       同步的实现方面有两种,分别是synchronized,wait与notify
35.float型float f=3.4是否正确
   答:不正确,精度不准确,应该用强制转换,f=(float)3.4;
36.Class.forName的作用 为什么要用
   答:调用该访问返回一个以字符串指定类名的类的对象。
37.两个int 型的整数, 不经过第3方变量进行替换?
   如a =10 b =5
   转换后 a =5 b =10
   答:1) a=a+b;b=a-b;a=a-b;
       2) a^= b;b ^= a;a ^= b;
38.编一段程序,建立4个线程,2个线程增加,2个线程减
public class ThreadTest1{
  private int j;
  public static void main(String args[]){
      ThreadTest1 tt=new ThreadTest1();
      Inc inc=tt.new Inc();
      Dec dec=tt.new Dec();
      for(int i=0;i<2;i++){
          Thread t=new Thread(inc);
          t.start();
          t=new Thread(dec);
          t.start();
      }
  }
  private synchronized void inc(){
      j++;
      System.out.println(Thread.currentThread().getName()+"-inc:"+j);
  }
  private synchronized void dec(){
      j--;
      System.out.println(Thread.currentThread().getName()+"-dec:"+j);
  }
  class Inc implements Runnable{
    public void run(){
      for(int i=0;i<10;i++){
          inc();
      }
    }
  }
  class Dec implements Runnable{
    public void run(){
      for(int i=0;i<10;i++){
          dec();
      }
    }
  }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSP试题库管理系统是一种基于JSP技术的管理系统,用于组织、存储、管理和检索试题库中的试题信息。该系统可以方便地帮助用户对试题进行分类、添加、修改、删除和查询。 首先,JSP试题库管理系统提供了用户管理功能,管理员可以添加和管理用户信息,包括用户名、密码和权限等。系统可以根据用户权限对不同用户进行不同的操作授权,确保系统的安全性和管理的规范性。 其次,系统提供了试题管理功能。管理员可以将试题按照题目类型、难度等进行分类,并可以对试题进行增删改查的操作。管理员可以通过添加新的试题,更新试题内容,删除不需要的试题或者查询试题,方便对试题库进行维护和管理。 此外,系统还提供了试卷管理功能。管理员可以选择试题库中的试题来组成试卷,设置试题的顺序、数量,生成预览和导出试卷等。同时,系统还支持试卷的批量导入和导出,方便试卷的分享和发布。 此外,系统还提供了试题的统计和分析功能。系统可以根据试题信息生成相关的统计报表,包括试题类型的分布、试题难度的统计和试题正确率等。这些统计分析结果可以为教师提供参考,帮助其评估和改进试题质量。 总的来说,JSP试题库管理系统通过提供用户管理、试题管理、试卷管理和统计分析功能,可以实现对试题库的全方位管理和利用。这个系统可以广泛应用于教育机构和培训机构中,提高试题的管理效率和使用效果,为教学和考试提供便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值