java基础面试题

1.请写出下列Java代码的输出结果  
  package   test;  
  public   class   FatherClass()  
      {   public   FatherClass()  
            {     System.out.println("FatherClass     Create");}  
            }  
          子类:  
      package   test;  
        import   test.FatherClass;  
        public   class     ChildClass   extends     FatherClass  
        {  
            public   ChildClass()  
              {     System.out.println("ChildClass   Create");     }  
          public   static   void   main(String[]     args)  
            {       FatherClass   fc=new   FatherClass();  
                  ChildClass     cc=new   ChildClass();     }      
            }  
        输出结果:  
  2.请问HTTP协议面向联接吗?面向会话吗?有哪些请求方法?  
  3.请问在JAVA中实现线程有哪两种方式?    
  4.请说明在JAVA中处理数据库事务的方法。  
  5.ArrayList和Vector的区别,HashMap和Hashtable的区别  
  6.请用Java编程实现一个网络监听服务程序,它将网络客户端的输入内容在屏幕上进行输出.  
  7.请从面向对象角度简述静态与非静态成员的区别.  
  8.请简述接口和抽象类的区别(所表现的东西,他们的用途)  
  9.请简述接口的作用.  
  10.请简述面向对象建模中你对类职责的认识  
 

 
1.  
  FatherClass     Create  
  FatherClass     Create  
  ChildClass   Create  
2/面向会话、post、get  
  3、继承和实现接口  
  4、先关闭自动提交,然后同一提交  
  5、ArrayList是Vector的优化后的类,本质相同,HashMap和Hashtable继承和实现相同但有线程安全和相同实例存储区别问题。  
 

4.请说明在JAVA中处理数据库事务的方法。  
      通过   conn.setAutocommit(false)  
            ....一系列的语句  
                  conn.commit   //提交完成  
                  conn.setAutocommit(true)  
  但会产生很多不确定性,原则上不能。   都用存储程序。  
   
  8.请简述接口和抽象类的区别(所表现的东西,他们的用途)  
    一样:都是抽象类,都不能直接生成对象实体。  
    用法:优先用接口,     当明确知道要继承类的时候才用抽象类。


1   FatherClass   Create  
      FatherClass   Create  
      ChildClass   Create  
  2   面向连接,面向回话,post,get  
  3   继承自Thread和Daemon线程  
  4   JavaBean中使用JDBC方式进行事务处理  
  5   Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。    
  当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。    
  Hashtable和HashMap      
  它们的性能方面的比较类似   Vector和ArrayList,比如Hashtable的方法是同步的,而HashMap的不是。    
  6   此题暂时未做,考虑后再贴  
  7   static数据成员对每一个class而言都只有一份,而非静态成员则是每个对象各有一份。  
      static最重要的用途之一就是让你可以再不建立任何对象情形下可以调用  
  8,9题在java编程思想中应当可以找到很完整的答案,我就不赘述拉  
  10   在面向对象方法中,系统功能最终是分配到每个类的操作上实现的,这个机制叫职责分配  


HashMap和Hashtable的区别。  
   
    都属于Map接口的类,实现了将惟一键映射到特定的值上。  
   
    HashMap   类没有分类或者排序。它允许一个   null   键和多个   null   值。  
    Hashtable   类似于   HashMap,但是不允许   null   键和   null   值。它也比   HashMap   慢,因为它是同步的。    
 

abstract   class和interface有什么区别?    
    声明方法的存在而不去实现它的类被叫做抽象类(abstract   class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract   类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract   类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。  
    接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static   final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof   运算符可以用来决定某对象的类是否实现了接口。 

ArrayList和Vector的区别,HashMap和Hashtable的区别    
  答:就ArrayList与Vector主要从二方面来说.    
  一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的    
  二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半    
  就HashMap与HashTable主要从三方面来说。    
  一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java   1.2引进的Map接口的一个实现    
  二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的    
  三.值:只有HashMap可以让你将空值作为一个表的条目的key或value    
   
  多线程有两种实现方法,分别是继承Thread类与实现Runnable接口    
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值