04 2021 档案
摘要:Spring两大功能,IOC(控制反转)、AOP(面向切面)。 IOC Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java 开发中,Ioc 意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。 AOP Spring AOP代理对象
阅读全文
摘要:MQ的主要特点为解耦、异步、削峰。或者说 1、系统解耦 2、流量削峰 3、异步分发 用于减少数据库压力的业务场景,其中RocketMQ的核心组件概念如下: Producer:生产发送消息 Broker:存储Producer发送过来的消息 Consumer:从Broker拉取消息并进行消费 NameS
阅读全文
摘要:1、API 网关 在微服务架构中,UI 通常连接多个微服务。如果微服务是细粒度的(FaaS) ,那么客户端可能需要连接非常多的微服务,这将变得繁杂和具有挑战性。此外,这些服务包括它们的 API 还将不断进化。大型企业还希望能有其他横切关注点(SSL 终止、身份验证、授权、节流、日志记录等)。 一个解
阅读全文
摘要:Java运行时数据区(jvm内存分配) 1、程序计数器或者叫PC寄存器(Program Counter Register),记录程序让出CPU时运行位置。 2、虚拟机栈(JVM Stacks),局部变量表,操作数栈,动态链接,方法返回地址,附加信息。 3、本地方法栈本地方法接口(Native Met
阅读全文
摘要:Hystrix是Netflix开源的一个限流熔断的项目、主要有以下功能: 服务降级:限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。 优雅的降级机制:超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。 熔断:当失败率达到阀值自动触发降级(如因网
阅读全文
摘要:redis一个命令setnx SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写 将 key 的值设为 value ,当且仅当 key 不存在. 返回值: 设置成功,返回 1 。 设置失败,返回 0 。 如下思路是设置一个过期锁。但是实际开发中这个过期时间很难判断,
阅读全文
摘要:1、什么是CAS? CAS:Compare and Swap,即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的,这是
阅读全文
摘要:操作同一共享变量时,存在线程安全问题,JMM java内存模型,当多线程操作同一共享变量,先进行主线程的变量加载到本地线程一个副本,然后回写到主线程。这样就会存在,多个线程加载变量相同,非可见性。 java并发编程三大特性:原子性 可见性 有序性 volatile 解决 可见性 有序性 线程对共享变
阅读全文
摘要:实际数据库数据,业务修改费率表,但是要获取当时订单数据对应的费率,这时候需要获取订单时间大于费率表创建时间(保单过犹日期),并且是费率表所有小于此订单时间的最大时间的费率。 用not exists SELECT a.NewRate FROM SDBaoguCommissionRateLog a WH
阅读全文
摘要:1、程序计数器或者叫PC寄存器(Program Counter Register) 2、虚拟机栈(JVM Stacks),局部变量表,操作数栈,动态链接,方法返回地址,附加信息。 3、本地方法栈本地方法接口(Native Method)java调用非java的接口。 4、堆空间(Heap)包括伊甸园
阅读全文