摘要: 我们知道创建一个String类型的变量一般有以下两种方法: 那么为什么会存在这两种创建方式呢,它们在内存中的表现形式各有什么区别? 方法1: 解析:用""创建的a,b两个字符串,==和equals比较返回都为true,这是因为a,b都指向了方法区的同一个字符串。所以,当同样的一个字符串用""重复创建 阅读全文
posted @ 2018-10-01 19:45 如.若 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 什么是幂等性? 一般在服务调用时,读服务如果调用失败了,会自动按配置次数转移到别的服务上去请求。而写服务就不能重复请求,如果因为超时或者网络故障等原因被调用服务并没有返回成功的响应,服务调用方就认为是失败了,但很有可能的是已经成功了,如果继续重复请求写服务,如转账类的服务,可能会造成严重的后果。所以 阅读全文
posted @ 2018-10-01 13:33 如.若 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 分布式事务 分布式事务场景如何设计系统架构及解决数据一致性问题,个人理解最终方案把握以下原则就可以了,那就是:大事务=小事务(原子事务)+异步(消息通知),解决分布式事务的最好办法其实就是不考虑分布式事务,将一个大的业务进行拆分,整个大的业务流程,转化成若干个小的业务流程,然后通过设计补偿流程从而考 阅读全文
posted @ 2018-10-01 13:24 如.若 阅读(15143) 评论(3) 推荐(0) 编辑
摘要: 动态代理在我们工作当中应用相当广泛,如Srping AOP就是动态代理的在开源框架的比较出名的应用。动态代理有两种试:一是通过JDK自带的API实现动态代理,二是通过别的字节码框架实现,如cglib。需要注意的是JDK只能针对接口实现动态代理,不能代理普通类,使用具有局限性。而cglib可以代理接口 阅读全文
posted @ 2018-10-01 00:27 如.若 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展 阅读全文
posted @ 2018-10-01 00:09 如.若 阅读(232) 评论(0) 推荐(0) 编辑