聊一聊

输出结果是???(欢迎你们各抒己见,说出本身的看法)spring

public class Test{   
    public static void main(String[] args) {       
        int a[] = {2,3,45,6};
        System.out.println(Arrays.asList(a).contains(2));
   }
}

1, Hibernate中get和load方法的区别数据库

hibernate对于load方法认为该数据在数据库中必定存在,能够放心的使用代理来延迟加载,若是在使用过程当中发现了问题,只能抛异常;

    hibernate对于get方法,hibernate必定要获取到真实的数据,不然返回null。

具体介绍:编程

1. 对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,而后在二级缓存中查找,尚未就查询数据库,数据库中没有就返回null。

    2.  load方法加载实体对象的时候,根据映射文件上类级别的lazy属性的配置(默认为true)。

分状况讨论:缓存

(1)若为true,则首先在Session缓存中查找,看看该id对应的对象是否存在,不存在则使用延迟加载,返回实体的代理类对象(该代理类为实体类的子类,由CGLIB动态生成)。等到具体使用该对象(除获取OID之外)的时候,再查询二级缓存和数据库,若仍没发现符合条件的记录,则会抛出一个ObjectNotFoundException。

    (2)若为false,就跟get方法查找顺序同样,只是最终若没发现符合条件的记录,则会抛出一个ObjectNotFoundException。

2, 列举一下你知道的实现spring事务的几种方式markdown

(1),编程式事务管理:须要手动编写代码,在实际开发中不多使用,

    (2),基于TransactionProxyFactoryBean的声明式事务管理,须要为每一个进行事务管理的类作相应配置

    (3),基于AspectJ的XML的声明式事务管理,不须要改动类,在XML文件中配置好便可

    (4),基于注解的声明式事务管理,配置简单,须要在业务层类中添加注解

3,Java中equals和contains的区别session

equals是判断字符串的是否是相等。

    例如:"abc".equals("abc"),返回结果是Boolean类型的true;

               "abc".equals("ab")返回结果是Boolean类型的false。

    contains是包含的意思。

    例如:"abc".contains("a"),返回结果是Boolean类型的true;

              "abc".contains("d"),返回结果是Boolean类型的false。
相关文章
相关标签/搜索