- 博客(235)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 常见的软件设计原则
戳蓝字「TopCoder」关注我们哦!设计模式就是软件设计中沉淀出的一些代码设计经验,设计模式主要是基于OOP角度来总结的。软件设计原则的目的是 代码复用性、代码可扩展性、代码可维护性。常...
2021-07-02 23:00:00 303
原创 Java读写锁浅析
Java读写锁,也就是ReentrantReadWriteLock,其包含了读锁和写锁,其中读锁是可以多线程共享的,即共享锁,而写锁是排他锁,在更改时候不允许其他线程操作。读写锁底层是同一...
2021-05-09 22:41:57 432
原创 Java并发组件浅析
戳蓝字「TopCoder」关注我们哦!Java并发相关组件或者技术包括:线程、线程池、阻塞队列、Future/FutureTask、Lock/Condition、Lock、AQS(队列同步...
2021-04-25 23:00:00 398
原创 Lock Condition的那些事儿
Lock/Condition是Java中提供的等待通知机制,使用Condition的await和signal,类似于基于synchronized的wait和notify,二者都可以实现等待...
2021-04-10 22:24:00 228
原创 AQS是如何控制线程的
戳蓝字「TopCoder」关注我们哦!Java中AQS(AbstractQueuedSynchronizer,队列同步器)是构建JUC中锁和其他同步组件的基础组件,我们在日常开发中一般不会...
2021-03-28 23:40:00 389
原创 浅谈synchronized与Object.wait/notify原理
synchronized是Java中常用的锁机制,synchronized+Object.wait/notify是常用的等待唤醒机制,那它们的实现原理是什么呢?本文就synchronize...
2021-03-21 22:24:00 520
原创 Java线程的那些状态们
Java线程(或者说计算机线程),是有一些状态来表示当前线程运行信息的,可以通过jsatck命令来查看Java进程中线程函数栈信息,其中就包括了Java线程状态。在分析Java线程状态之前...
2021-03-20 10:24:00 160
原创 如何优雅的让3个线程打印ABC
戳蓝字「TopCoder」关注我们哦!让3个线程依次打印ABC,是一个常见的问题,这是阿里和华为都有考过的面试题。比如题目描述如下:编写一个程序,开启三个线程,这三个线程按照顺序依次打印A...
2021-03-16 23:17:29 218
原创 DDD的领域概念们
最近几年DDD(领域驱动设计 domain-driven design)概念很火,它以统一的语言来表述业务流程和技术架构,方便领域专家、技术开发交流达成共识,不失为一个复杂业务的解决之道。...
2021-03-13 22:24:00 635
原创 如何解决大分页查询问题?
在分析如何解决大分页问题之前,首先要明确什么是大分页?大分页也就是分页查询场景中,分页page比较靠后的查询,这往往会带来性能问题,也就是常说的大分页问题,比如常见的SQL SELECT ...
2021-03-12 22:24:00 375
原创 从侵入式服务治理到Service Mesh
戳蓝字「TopCoder」关注我们哦!目前service mesh技术在互联网公司中越来越流行,那么之前分布式系统是如何服务治理的呢,又是如何一步步发展成service mesh的呢?侵...
2021-02-03 21:00:00 219
原创 啥 啥 啥,服务治理是个啥
戳蓝字「TopCoder」关注我们哦!首先,先说下服务治理的边界,本质上任何能提升服务可用性,性能,让服务更稳定等等,只要是能让服务运行的更好,都属于服务治理的范畴。服务治理比较常见的...
2021-02-01 23:10:02 190
原创 令牌桶、漏斗、冷启动限流在sentinel的应用
分布式系统为了保证系统稳定性,在服务治理的限流中会根据不同场景进行限流操作,常见的限流算法有:令牌桶:可容忍一定突发流量的速率的限流,令牌桶算法的原理是系统以恒定的速率产生令牌,然后把令...
2021-01-30 21:00:00 1022 2
原创 seata RM源码分析
戳蓝字「TopCoder」关注我们哦!Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和...
2021-01-28 09:00:00 300 2
原创 seata TM源码分析
戳蓝字「TopCoder」关注我们哦!Seata 是阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 X...
2021-01-25 08:52:00 325
原创 seata TC 请求处理流程
戳蓝字「TopCoder」关注我们哦!Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和...
2021-01-19 22:24:00 345
转载 seata TC 模块分析
戳蓝字「TopCoder」关注我们哦!Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和...
2021-01-17 18:00:00 1342
原创 seata TC启动流程分析
戳蓝字「TopCoder」关注我们哦!编者注:Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SA...
2021-01-15 21:40:00 403 3
原创 seata AT模式流程
戳蓝字「TopCoder」关注我们哦!Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和...
2021-01-13 21:40:00 707
原创 seata 事务提交流程
Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布...
2021-01-11 18:00:00 655
原创 seata 是什么
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解...
2021-01-10 18:00:00 1031
原创 mysql update语句和原数据一样会更新么
戳蓝字「TopCoder」关注我们哦!平常使用 mysql ,必不可少的会用到 update 语句,不知道小伙伴有没有这样的疑问?如果 update 语句和原数据一样会更新么?更具体的...
2021-01-01 21:40:00 1032
原创 CompletableFuture 原理浅析
戳蓝字「TopCoder」关注我们哦!Java8新增了CompletableFuture 提供对异步计算的支持,可以通过回调的方式处理计算结果,CompletableFuture 类实...
2020-11-22 21:40:00 3930 4
原创 CompletableFuture 应用实践
戳蓝字「TopCoder」关注我们哦!Java8之前,如果要对计算结果进行异步化处理不是很方便,需要借助于Future,并且需要当前线程主动执行Future.get获取运行结果。因此J...
2020-11-21 23:40:00 555
原创 Java线程池实现原理
Java中的线程池是运用场景最多的并发组件,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来至少以下几个好处:降低资源消耗、提高响应速度、提高...
2020-11-07 08:40:00 143
原创 深入理解Java线程池
编者注:Java中的线程池是运用场景最多的并发组件,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来至少以下几个好处。降低资源消耗:通过重复利...
2020-11-05 21:40:00 122
原创 JMM Java内存模型
JMM规定了线程的工作内存和主内存之间的交互关系,以及线程之间的可见性和程序的执行顺序。一方面,要为程序员提供足够强的内存可见性保证;另一方面,对编译器和处理器的限制要尽可能地放松。JM...
2020-11-04 21:40:00 158
原创 happens-before那些事儿
happens-before是一些规则,规定了某个线程修改的变量何时对其他线程可见。从JDK 5 开始,JMM就使用happens-before的概念来阐述多线程之间的内存可见性。在JM...
2020-11-01 21:40:00 153
原创 为什么说LockSupport是Java并发的基石?
戳蓝字「TopCoder」关注我们哦!编者注:当需要阻塞或唤醒一个线程的时候,JVM都会使用LockSupport工具类来完成相应工作。LockSupport定义了一组的公共静态方法,这...
2020-10-31 21:40:00 100
原创 FutureTask 原理剖析
戳蓝字「TopCoder」关注我们哦!编者注:FutureTask用于在异步操作场景中,FutureTask作为生产者(执行FutureTask的线程)和消费者(获取FutureTask...
2020-10-28 21:40:00 1050
原创 你的ThreadLocal线程安全么
戳蓝字「TopCoder」关注我们哦!编者注:想必很多小伙伴们对ThreadLocal并不陌生,ThreadLocal叫做线程本地变量,也就是ThreadLocal为变量在每个线程中都...
2020-10-26 08:40:00 1554
原创 深入浅出 Thread.interrupt
戳蓝字「TopCoder」关注我们哦!编者注:Thread.interrupt的出现提供了一个让线程run方法主动退出的机制,因为强制的让一个线程被动的退出是很不安全的,内部的数据不一致...
2020-10-24 09:00:00 261
原创 同学别走,聊聊Lock与Synchronized吧
戳蓝字「TopCoder」关注我们哦!编者注:Lock与Synchronized是面试中经常涉及到的一个Java知识点,关于二者的异同还是需要我们熟记的。锁是用来控制多个线程访问共享资源...
2020-10-22 08:40:00 144
原创 Synchronized的锁升级之路
读完本文,可以知道Java Synchronized锁都有哪几种状态,以及这几种状态的锁升级流程细节,这很有可能就解决了下次面试中的问题呦 :)关于Java中Synchronized,几...
2020-10-20 08:51:09 97
原创 阿里数据库内核月报导航
数据库内核月报是阿里云RDS-数据库内核组维护的一个关于数据库的技术博客,上面的文章质量是有保证的。不过有一点不太友好的是,这个网站首页非常简洁,只是按照时间月份来归档文章,并没有按照...
2020-09-27 08:40:00 1259 1
原创 toString如何转json
戳蓝字「TopCoder」关注我们哦!试想一个问题:如果我们已知Java对象的toString格式,想要获取其json格式或者其Java对象,该如何做呢?注意:Java对象的toStr...
2020-09-26 10:00:08 7057 4
原创 Dubbo RPC在Provider端是如何跑起来的
戳蓝字「TopCoder」关注我们哦!dubbo RCP请求到达provider后,首先经过数据接收、解码(NettyWokerThread/NioEventLoop),然后传递到RP...
2020-07-13 22:24:00 206
原创 Dubbo Provider Filter链是如何构建的
戳蓝字「TopCoder」关注我们哦!provider端的Filter链构建是在初始化流程中构建的,我们知道初始化流程肯定会走到方法org.apache.dubbo.remoting....
2020-07-13 22:24:00 853
原创 dubbo provider是如何启动的
戳蓝字「TopCoder」关注我们哦!Netty支持多种服务端的server实例,包括mina、netty等,如下所示:由于开发者目前使用dubbo几乎都是基于Netty4的,因此下面...
2020-07-11 22:24:00 783
原创 关于dubbo连通性的一些思考
戳蓝字「TopCoder」关注我们哦!关于dubbo连通性,也就是dubbo各组件之间通信、privider和consumer连接、以及通信方式这些功能点。话不多说,让我们一起揭开du...
2020-07-09 22:24:00 252
ftplib-4.0
2015-07-07
vfork函数与父进程共享空间问题
2014-12-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人