首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
zhong0316
掘友等级
后端
|
腾讯
喜欢打篮球和看NBA
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
MQ消费端的幂等
MQ消费端在接收到MQ消息之后按照业务key(uuid)进行防重,达到消费的幂等性。 用户在使用白条优惠劵打白条支付订单后,如果用户整单退款,需要给用户补发优惠劵。白条异步处理系统监听白条退款MQ消息进行整单退退劵操作。对于一笔订单,整单退之后,用户的优惠劵只能补发一次。因此需…
浅谈Disruptor
Disruptor是一个低延迟(low-latency),高吞吐量(high-throughput)的事件发布订阅框架。通过Disruptor,可以在一个JVM中发布事件,和订阅事件。相对于Java中的阻塞队列(ArrayBlockingQueue,LinkedBlocking…
单例模式和DCL
上面的方法实现简单,在单线程环境下没有问题,但是在多线程环境下就会有并发安全问题。如果两个线程同时进入if (singleton == null)这里,就会同时去实例化,这样就达不到单例的目的。 加锁能够保证并发环境下的数据安全性。下面是并发版本的单例模式: 加锁虽然保证了线程…
JVM指令集
可以看到:i开头的指令操作数类型是integer类型,l开头的指令操作数类型是long类型,f开头的指令操作数类型是float类型,d开头的指令操作数类型是double,a开头的指令操作数类型是引用类型(reference)。 JVM指令主要分为:本地变量表到操作数栈类指令、操…
Java final关键字及其内存语义
final是Java中的一个关键字,final可用于修饰类、方法、参数和变量(包括实例变量和类变量)。 final修饰的类具有不可继承性,也就是如果一个类是final类型的,则这个类不允许有子类。首先我们顶一个final类: 编译器提示我们:cannot extend fina…
Spring AOP动态代理
IOC和AOP是Spring中最重要的两个概念,而AOP最核心的部分在于动态代理。Spring AOP中的拦截功能都是通过动态代理来生成的。 那么什么是动态代理呢?所谓动态代理是指代理类是在JVM运行时动态生成的,与之相对的是静态代理。静态代理中代理类是在编译期生成的,静态代理…
Java中的静态代理和动态代理
Java中的代理按照代理类生成时机不同又分为静态代理和动态代理。静态代理代理类在编译期就生成,而动态代理代理类则是在Java运行时动态生成。 Java中的静态代理要求代理类(ProxySubject)和委托类(RealSubject)都实现同一个接口(Subject)。静态代理…
CAS原子操作以及其在Java中的应用
CAS(Compare And Swap)意为比较并且交换,CAS它是一个原子操作。CAS操作涉及到三个值:当前内存中的值V,逾期内存中的值E和待更新的值U。如果当前内存中的值V等于预期值E,则将内存中的值更新为U,CAS操作成功。否则不更新CAS操作失败。 CAS在JUC中有…
Java中的Unsafe
Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。 Unsafe类,全限定名是sun.misc.Unsafe,从名字中我们可以看出来这个…
Reactor线程模型及其在Netty中的应用
单线程模型中,server端使用一个线程来处理所有的请求,所有的请求必须串行化处理,效率低下。 多线程模型中,server端会为每个请求分配一个线程去处理请求,相对单线程模型而言多线程模型效率更高,但是多线程模型的缺点也很明显:server端为每个请求都开辟一个线程来处理请求,…
下一页
个人成就
文章被点赞
296
文章被阅读
94,443
掘力值
2,172
关注了
80
关注者
140
收藏集
1
关注标签
32
加入于
2019-02-24