输出结果是???(欢迎你们各抒己见,说出本身的看法)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。