1.描述一下JVM加载class文件的原理机制
2.sleep()和wait()有什么区别?
3.说出数据连接池的工作机制是什么?
4.JSP和Servlet有哪些相同点和不同点,他们之间的关系是什么?
5.说出Hibernate有哪5个核心接口?
6.请描述出Hibernate中一级缓存,二级缓存,查询缓存表示什么?
7.简述mysql,oracle中的分页区别,jdbc和hibernate中分页的区别
8.Struts中的type类型有哪些?至少写4种
9.为什么要用ORM和JDBC有何不一样?
10.java分布式
11.权限控制

解决方案 »

  1.   

    Hibernate 和struts都有点过时了吧
      

  2.   

    还在用struts,hibernate的公司,有可能是个存在一个古老的项目,最后两个问题写的比较不专业,个人觉得这家公司技术实力一般,很大概率给不起多少钱
      

  3.   

    现在的公司做项目一般都用到什么框架? 现在只学过 SSH 和 SSM两套框架
      

  4.   

    表示小编只是初级开发,刚入java坑半年,各位同僚可以共享一下你们面试遇到的面试题目,小编感激不尽
      

  5.   

    还在用struts,hibernate的公司,有可能是个存在一个古老的项目,最后两个问题写的比较不专业,个人觉得这家公司技术实力一般,很大概率给不起多少钱如果说hibernate和struts2过时了,那现在公司用什么技术呢?
      

  6.   

    现在很多公司都开始用springboot,jpa这些框架了吧。
      

  7.   

    我刚毕业的水平啊,看到这些题真怀念啊,,,大概3年前我也在背这些。不过答上来就给10K,,emmm,那我觉得10K也太好赚了,,不说了,,加班撸代码吧
      

  8.   

    面试时java会有上机测试难度大吗
      

  9.   

    输入数为n
    for(int i=0;i<2*n-1;i++){
        int num = (n-i-1)*Math.pow(2,i-1);
        System.out.println(num+" ");
    }
      

  10.   

    看到Struts就火大,破鞋能不能扔了,谁还用这个,知道也不回答
      

  11.   

    1.JVM加载class文件的原理机制 
       Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。  类装载方式,有两种 
          1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中,
          2.显式装载, 通过class.forname()等方法,显式加载需要的类 
        隐式加载与显式加载的区别:两者本质是一样?      Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是基类)完全加载到jvm中,至于其他类,则在需要的时候才加载。这当然就是为了节省内存开销。   Java的类加载器有三个,对应Java的三种类:(java中的类大致分为三种:   1.系统类   2.扩展类 3.由程序员自定义的类 )     Bootstrap Loader  // 负责加载系统类 (指的是内置类,像是String,对应于C#中的System类和C/C++标准库中的类)
                | 
              - - ExtClassLoader   // 负责加载扩展类(就是继承类和实现类)
                              | 
                          - - AppClassLoader   // 负责加载应用类(程序员自定义的类) 三个加载器各自完成自己的工作,但它们是如何协调工作呢?哪一个类该由哪个类加载器完成呢?为了解决这个问题,Java采用了委托模型机制。委托模型机制的工作原理很简单:当类加载器需要加载类的时候,先请示其Parent(即上一层加载器)在其搜索路径载入,如果找不到,才在自己的搜索路径搜索该类。这样的顺序其实就是加载器层次上自顶而下的搜索,因为加载器必须保证基础类的加载。之所以是这种机制,还有一个安全上的考虑:如果某人将一个恶意的基础类加载到jvm,委托模型机制会搜索其父类加载器,显然是不可能找到的,自然就不会将该类加载进来。2.sleep和wait的区别有:
      1,这两个方法来自不同的类分别是Thread和Object
      2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
      3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
        任何地方使用
       synchronized(x){
          x.notify()
         //或者wait()
       }
       4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常3.J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。4.jsp和servlet的区别和联系:
    1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
    2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
    3.Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到.
    Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
    联系:  JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。JSP编译后是“类servlet”。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑5.
    1、Configuration:配置hibernate,创建SessionFactory对象。
    2、SessionFactory:初始化hibernate,充当数据存储源的代理,创建Session对象。
    3、Session:负责保存,更新,删除。加载和查询对象。
    4、Transaction:管理事务。
    5、Query和Criteria:执行数据库的查询。6.
    一级缓存是session级别的,二级缓存和查询缓存都是sessionfactory级别的,查询缓存和二级缓存是一起来使用的
    剩余都可以在网上查询到,理解就好了