什么是序列化–面试题
把java对象转换二进制过程
什么情况下使用序列化
1、在网络中直接传输一个java对象。
2、在数据库的Blob(二进制)字段(列)中,直接存一个java对象会出问题
3、当前,需要把java对象放入内存(本地的临时文件)中
java.io.ObjectInputStream
java.io.ObjectOutputStream
4.HttpSession里面存放对象,tomcat的内存不足(500M)的时候,钝化到硬盘
面试题 : Jpa缓存
jpa 一级缓存 和二级缓存 是什么?
jpa 一级缓存: 属于entityManager级别缓存,jpa自带的,不用做任何配置, 命中条件
同一个entityManageFactory ,同一个EntityManager 同一个OID
二级缓存: 属于entityManagerFactory级别缓存,不是自带 ,需要做相应配置才行
命中条件
同一个entityManageFactory ,不同一个EntityManager 同一个OID
面试题 : jdbc和mybatis优缺点?
jdbc和mybatis优缺点?
(1)jdbc操作步骤比较繁琐,比较执行贾琏欲执事 而mybatis不用 消除这个代码
(2)jdbc需要自己手动设置 参数 以及处理返回结果集 --而mybatis 不需要
(3)mybatis 可以采用 xml 和 注解 来写sql …jdbc 把sql 写到代码里面, 可以提高维护性
(4)jdbc 它是操作数据库最底层的代码,mybatis也是从jdbc上面封装出来框架 mybatis支持缓存