随笔分类 - interview
面试时一些小总结吧
spring为什么默认单例模式
摘要:单例bean的优势 由于不会每次都新创建新对象所以有一下几个性能上的优势。 1、减少了新生成实例的消耗 新生成实例消耗包括两方面,第一,spring会通过反射或者cglib来生成bean实例这都是耗性能的操作,其次给对象分配内存也会涉及复杂算法。 2、减少jvm垃圾回收 由于不会给每个请求都新生成b
阅读全文
微服务与单体框架
摘要:单体应用有如下优点: 开发简单直接,集中式管理, 基本不会重复开发 功能都在本地,没有分布式的管理开销和调用开销。 它的缺点也非常明显,特别对于互联网公司来说: 开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断 代码维护难:代码功能耦合在一起,新人不知道何从下手 部署不灵活:构
阅读全文
equals与==的区别
摘要:本质:== 是运算符,equals是方法 == 对基本数据类型是比较内容值,而引用数据类型是比较引用值。 看代码 1 Object类的equals方法 public boolean equals(Object obj) { return (this == obj); } 可见Object下equal
阅读全文
两种动态代理的区别
摘要:JDK动态代理实现接口,Cglib动态代理继承思想 JDK动态代理(目标对象存在接口时)执行效率高于Ciglib 如果目标对象有接口实现,选择JDK代理,如果没有接口实现选择Cglib代理。 静态代理用的是封装的思想。
阅读全文
mybatis插入批量数据
摘要:1 for循环重复调用dao,消耗大 2 sql语句编写插入多条,只用于少数 3 mybatis的batch插入 @Test public void testInsertBatch2() throws Exception { long start = System.currentTimeMillis
阅读全文
事务的特性
摘要:事务: 是指做事情的一个整体,这个整体由一系列的步骤构成,这些步骤要么全部成功,要么全部失败。由一个或者多个dml(insert,delete,update)语句组成。 事务的特性:ACID 1 原子性(atomicity) 事务包含的所有操作要么全部成功,要不全部回滚。操作成功就必须要完全应用到数
阅读全文
消息幂等性
摘要:保证幂等策略 幂等需要通过唯一的业务单号来保证。也就是说相同的业务单号,认为是同一笔业务。使用这个唯一的业务单号来确保,后面多次的相同的业务单号的处理逻辑和执行效果是一致的。 下面以支付为例,在不考虑并发的情况下,实现幂等很简单:①先查询一下订单是否已经支付过,②如果已经支付过,则返回支付成功;如果
阅读全文