`
yizhyi
  • 浏览: 61414 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java面试题

    博客分类:
  • java
阅读更多

1、GC是什么,为什么要有GC?

答:GC是垃圾收集的意思(Garbage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,java提供的GC功能可以自动监控对象是否超过作用域从而达到自动回收内存的目的。

2、什么情况下a!=a

答:double a = Double.NaN;

System.out.println(a!=a);

a = Float.NaN;

System.out.println(a!=a);

a = 0.0/0.0;

System.out.println(a!=a);

3、写一个Singleton出来

答:Singleton模式主要作用是保证在java应用程序中,一个类Class只有一个实例存在。

一般Singleton模式通常有几种形式:

第一种:public class Singleton {

    private Singleton(){}

    private static Singleton instance = new Singleton();

    public static Singleton getInstance(){

        return instance;

    }

第二种:public class Singleton(){

  private static Singleton instance = null;

  public static synchronized Singleton getInstance(){

    if(instance == null)

       instance = new Singleton();

    return instance;

  }

}

 

4、Hibernate有什么好处?

答:Hibernate的最大好处就是简化数据库的操作,允许你的代码以对象模式来访问数据库内容。比如通常我们找一个User的资料需要Select出所需要的资料,而通过hibernate我们可以把这个User的资料作为一个对象来看待,通过User.getName()或者User.getId()等操作来获得,这样就完全统一了上层java或者C#等OO语言中对数据库的非OO操作的不和谐了。 另外对于复杂的表和表之间的关联我们也不用去使用复杂的Select等SQL来操作,而使用对象可以方便获得, 比如多对多关系某用户属于的部门的名称,虽然底层数据库使用了3个表的主键关联操作, 但是我们可以通过User.getDep().getName()来简单的获得,这个就是持久化对象的好处了 说明:好处太多,只能在用的过程中慢慢体会 只能说一个字:爽

 

5、https和http的区别

答:https是加密传输数据的,http是明文

 

6、谈谈你对struts工作流程的理解?

答:通过配置进行流程的控制:

struts是经典的mvc模型的封装web框架,

在浏览器客户发送请求到服务器ActionServlet(struts核心处理器)接收到请求,

读取struts-config.xml配置文件找到相应的frombean类接收客户端发送过来的参数进行封装。

然后找到对应的action进行业务处理

.action调用javabean业务组件处理请求

处理完成后action负责将处理结果返回到客户端浏览器

 

7、叙述struts ActionForm执行步骤

答:(1)检查Action的映射,确定Action中已经配置了对ActionForm的映射

(2)根据name属性,查找form bean的配置信息

(3)检查Action的formbean的使用范围,确定在此范围下,是否已经有此formbean的实例

(4)假如当前范围下,已经存在了此formbean的实例,而是对当前请求来说,是同一种类型的话,那么就重用

(5)否则,就重新构建一个formbean的实例

(6)formbean的reset()方法被调用

(7)调用对应的setter方法,对状态属性赋值

(8)如果validatede的属性被设置为true,那么就调用formbean的validate()方法

(9)如果alidate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行

 

8、重写和重载有什么区别?

答:override是子类和父类的关系,  overload是自己内部的事情

重载:相同的方法名,不同的参数列表,这些方法之间构成了重载

重写:子类把从父类继承来的方法重新写过

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics