热文微服务哪些框架

是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm 捐赠给 Apa...

热文如何解决跨域

跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制。

热文前后端分离是如何做的

在前后端分离架构中,后端只需要负责按照约定的数据格式向前端提供可调用的 API 服务即可。前后端之间通过 HTTP 请求进行交互,前端获取到数据后,进行页面的组装和渲染,...

热文集群与负载均衡的算法与实现

什么是负载均衡呢?用户输入的流量通过负载均衡器按照某种负载均衡算法把流量均匀的分散到后端的多个服务器上,接收到请求的服务器可以独立的响应请求,达到负载分担的目的。从应用场...

热文分布式事务

在分布式系统中,为了保证数据的高可用,通常,我们会将数据保留多个副本(replica),这些副本会放置在不同的物理的机器上。为了对用户提供正确的 CRUD 等语义,我们需...

热文谈谈业务中使用分布式的场景

应用服务层:随着用户量的增加,并发量增加,单项目难以承受如此大的并发请求导致的性能瓶颈。 底层数据库层:随着业务的发展,数据库压力越来越大,导致的性能瓶颈。

热文Spring MVC 运行流程

Spring MVC 将所有的请求都提交给 `DispatcherServlet`,它会委托应用系统的其他模块负责对请求进行真正的处理工作。 - `DispatcherS...

热文如何自定义注解实现功能

1. 创建自定义注解和创建一个接口相似,但是注解的 `interface` 关键字需要以 `@` 符号开头。 2. 注解方法不能带有参数; 3. 注解方法返回值类型限定为...

热文Spring 事务底层原理

由于 Spring 解决的问题是对单个数据库进行局部事务处理的,具体的实现首相用 Spring 中的 IOC 划分了事务处理单元。并且将对事务的各种配置放到了 IOC 容...

热文Spring 事务实现方式

声明式事务管理又有两种实现方式: - 基于 xml 配置文件的方式; - 另一个实在业务方法上进行 `@Transaction` 注解,将事务规则应用到业务逻辑中;

热文动态代理(CGLIB 与 JDK)

JDK 动态代理类和委托类需要都实现同一个接口。也就是说只有实现了某个接口的类可以使用 Java 动态代理机制。但是,事实上使用中并不是遇到的所有类都会给你实现一个接口。...

热文Spring AOP 实现原理

Spring AOP 中的动态代理主要有两种方式,**JDK 动态代理** 和 **CGLIB 动态代理**。JDK 动态代理通过反射来接收被代理的类,并且要求被代理的类...

热文谈谈Java Spring AOP

面向切面编程,在我们的应用中,经常需要做一些事情,但是这些事情与核心业务无关,比如,要记录所有 update 方法的执行时间时间,操作人等等信息,记录到日志, 通过 Sp...

热文Spring Bean 的生命周期

Spring Bean 的生命周期简单易懂。在一个 bean 实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个 bean 不在被调用时需要进行相...

热文Java 乐观锁的业务场景及实现方式

每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线程修改,则不进行数据更...

热文Java ABA 问题

CAS 会导致“ABA问题”。 CAS 算法实现一个重要前提需要取出内存中某时刻的数据,而在下时刻比较并替换,那么在这个时间差类会导致数据的变化。 比如说一个线程 o...

热文Java CAS 乐观锁

CAS 是项乐观锁技术,当多个线程尝试使用 CAS 同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失...

热文Java volatile 实现原理

在 JVM 底层 volatile 是采用“内存屏障”来实现的 缓存一致性协议(MESI协议)它确保每个缓存中使用的共享变量的副本是一致的。其核心思想如下:当某个 CPU...

热文Java 讲讲线程池的实现原理

线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程。

热文Java ThreadLocal 原理分析

ThreadLocal 提供了线程本地变量,它可以保证访问到的变量属于当前线程,每个线程都保存有一个变量副本,每个线程的变量都不同。ThreadLocal 相当于提供了一...

热文谈谈Java中 Exchanger 原理

当一个线程到达 exchange 调用点时,如果它的伙伴线程此前已经调用了此方法,那么它的伙伴会被调度唤醒并与之进行对象交换,然后各自返回。如果它的伙伴还没到达交换点,那...