- 博客(7)
- 收藏
- 关注
原创 技术选型:RocketMQ or Kafka
当业务需要系统间调用解耦时,MQ 是一个很好的方案,目前选择最多的当属Kafka和阿里的RocketMQ, 两种中间件都可以使用,都是备选方案,摆在面前,怎么选择?一.方法论-评估和选择备选方案的方法按优先级选择,即架构师综合当前的业务发展情况、团队人员规模和技能、业务发展预测等因素,将质量属性按照优先级排序,首先挑选满足第一优先级的,如果方案都满足,那就再看第二优先级……以此类推。二.RocketMQ和Kafka到底有什么区别1、适用场景kafka适合做日志处理rocketmq适.
2021-10-15 12:00:33
870
转载 MySQL加锁处理分析
MySQL 加锁处理分析转载自:http://hedengcheng.com/?p=7711 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level...
2018-10-16 14:43:08
562
转载 ConcurrentHashMap和HashMap
本次 Chat 内容包括:Hashmap 在 1.8 后有哪些变化,性能如何进行了大幅度提升? 红黑树和链表在哪些情况会相互转化? ConcurrentHashMap 在 1.8 后有哪些变化? 什么是 CAS,锁同步消耗资源和无锁算法究竟哪个更合适? 仿照 ConcurrentHashMap 源码,我们可以借鉴哪些并发编程思维? 面试中常问到问题汇总--->独家经验半年前写...
2018-09-20 16:36:36
151
转载 乐观锁和悲观锁
乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 version方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取versi...
2018-09-20 16:36:00
200
转载 JVM运行原理
1.JVM简析: 作为一名Java使用者,掌握JVM的体系结构也是很有必要的。 说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示: Java平台由Java虚拟机和Java应用程序接口搭建,Java...
2018-09-20 16:35:22
172
转载 MySQL索引背后的数据结构及算法原理
http://blog.jobbole.com/24006/本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全...
2018-09-20 16:34:10
105
转载 Java面试题
来源于:https://blog.youkuaiyun.com/dd864140130/article/details/55833087相关概念面向对象的三个特征封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象。多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用)。主要有以下优点: 可替换性:多态...
2018-09-20 16:33:17
2253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人