原文:https://www.cnblogs.com/fengzheng/p/9070268.html 并发的三个特性 首先说我们如果要使用 volatile 了,那肯定是在多线程并发的环境下。我们常说的并发场景下有三个重要特性:原子性、可见性、有序性。只有在满足了这三个特性,才能保证并发程序正确执 Read More
原文:https://zhuanlan.zhihu.com/p/101974130 作者:阿茂 什么是分布式事务 说到事务,我们不得不又说到传统关系型数据库的事务,一个标准的事务应该具备四个特性:原子性、一致性、隔离性、持久性,就是我们经常说到的ACID。我们来看下维基百科上是怎么定义的: 原子性( Read More
原文:https://blog.csdn.net/weixin_43234960/article/details/101368542 IDEA修改代码后不用重新启动即可刷新 1.File——Settings——Build,Execution,Deplyment——Compiler,选中打勾 “Bui Read More
原文:https://morty.blog.csdn.net/article/details/83820511 作者:圣斗士Morty 引言不论在工作中,亦或是求职面试,Spring Boot已经成为我们必知必会的技能项。除了某些老旧的政府项目或金融项目持有观望态度外,如今的各行各业都在飞速的拥抱这 Read More
add by zhj: 注解在Java内部其实就是一个接口,对于每个注解都会生成一个动态代理类,准确的说只有通过反射获取到注解时,Java才会生成这个动态代理类,对于每个使用的地方,会使用化该动态代理类。 文中其实不仅提到了注解的实现方式,还提到了如何将动态代理类class输出到.class文件,利 Read More
add by zhj: @Import的作用是创建Spring bean,具体有四种用法 1. 导入普通类,即将普通类变为Spring bean 2. 导入@Configuration,即将该注解生效,具体来说就是:将其注解的类成为Spring bean,该类中的@Bean注解的方法也变为Sprin Read More
原文: https://www.iteye.com/blog/wzhw2008-1723136 https://www.cnblogs.com/grasp/p/11362118.html 我们知道在编写自定义注解时,可以通过指定@Inherited注解,指明自定义注解是否可以被继承,接口的处理方式是 Read More
add by zhj: 我理解,注册中心其实对A的要求要高于C,所以应该实现的是AP,而不是CP。注册中心的各个节点上,即使数据不一致其实也没关系,比如节点1上保存的服务提供列表是A, B, C,节点2保存的是A, D,E,这对服务消费者来说影响很小,只会导致服务提供者的负载并不那么平均。但无论是节 Read More
add by zhj: 关系型数据库有Schema,修改Schema的时间比较长,一般都要秒级和分钟级。主备延迟有相同的数量级,对于不支持Inplace方式的DDL,只能用Copy方式,Copy方式在执行DDL时,整个表不可读写, 影响非常大。不过,对于MySQL5.6(尤其是MySQL5.7),绝 Read More
add by zhj:文章写得非常好,之前我以为用zookeeper实现分布式锁的方案跟Redis差不多,就是并发创建一个Znode节点,如果成功就获取锁,失败,就监听这个Znode节点的删除操作,当主动删除或因session断开而删除该Znode时,等待的机器节点再去获取锁。 但这样做有一个问题: Read More