- 博客(22)
- 资源 (21)
- 收藏
- 关注
转载 常量池、字符串常量池的整理
由于之前研究了一下JVM的内存划分,对里面方法区的常量池一知半解,于是想要探究一下 先看这篇 写得比较清晰 https://blog.csdn.net/tophawk/article/details/78704074(jdk1.8版本) https://blog.csdn.net/youyou1543724847/article/details/52337257 以下内容有点儿乱,还未整理...
2019-09-26 12:56:36 208
转载 分布式事务[7]柔性事务:可靠消息最终一致性
柔性事务:可靠消息最终一致性 消息发送一致性:是指产生消息的业务动作与消息发送的一致。也就是说,如果业务操作成功,那么由这个业务操作所产生的消息一定要成功投递出去(一般是发送到kafka、rocketmq、rabbitmq等消息中间件中),否则就丢消息。 柔性事务、可靠消息最终一致性、异步确保性 下面用伪代码进行演示消息发送和投递的不可靠性: 1、先进行数据库操作,再发送消息 ...
2019-09-05 10:04:01 332
转载 分布式事务[6]柔性事务 :TCC两阶段补偿型
6.0 柔性事务 :TCC两阶段补偿型 2018-02-05 03:12:0422,77112 TCC方案是可能是目前最火的一种柔性事务方案了。关于TCC(Try-Confirm-Cancel)的概念,最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apostate’s Opinion》...
2019-09-05 10:03:13 468
转载 浅谈,分布式事务与解决方案
分布式事务与主流解决方案之理论篇 前言 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 产生原因 ...
2019-09-05 10:02:58 218
转载 分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择
这是一个开撕的话题,我经历过太多的关于分布式事务的需求:“有没有简单的方案,像使用数据库事务那样,解决分布式数据一致性的问题”。特别是微服务架构流行的今天,一次交易需要跨越多个“服务”、多个数据库来实现,传统的技术手段,已经无法应对和满足微服务情况下这些复杂的场景了。针对微服务下的交易业务如何保障数据一致性,本文尽量做到理论结合实践,将我们在实际产品中用到的分布式事务实现机制,和大家扒一扒,希望能...
2019-09-05 10:02:41 187
转载 Spring Cloud分布式事务终极解决方案探讨
开源项目 我们利用消息队列实现了分布式事务的最终一致性解决方案,请大家围观。可以参考GithubCoolMQ源码,项目支持网站:http://rabbitmq.org.cn,最新文章或实现会更新在上面 二 前言 阿里2017云栖大会《破解世界性技术难题!GTS让分布式事务简单高效》中,阿里声称提出了一种破解世界性难题之分布式事务的终极解决方案,无论是可靠性、还是处理速率都领先于市面上所有...
2019-09-05 10:01:48 1338
转载 详细解读 Github 上发布仅一个月就获得4k+ star 的分布式事务解决方案
导读:阿里分布式事务开源项目Fescar,自1月9日发布第一个版本以来,便受到了开发者的极大关注,目前收获的star数已超过4700,本文将详细解读这款分布式事务解决方案,希望对您有所帮助。 FESCAR on GitHub https://github.com/alibaba/fescar 更新: FESCAR 已更新为Seata 微服务倡导将复杂的单体应用拆分为若干...
2019-09-05 10:01:33 768
转载 源码阅读:全方位讲解LongAdder
高并发下计数功能最好的数据结构就是LongAdder与DoubleAdder,低并发下效率也非常优秀,这是我见过的java并发包中设计的最为巧妙的类,从软硬件方面将java并发累加操作优化到了极致,所以应该我们应该弄清楚它的每一行代码为什么要这样做,它俩的实现大同小异,下面以LongAdder类为例介绍下它的实现。 Striped64类 public class LongAdder extend...
2019-09-05 10:00:50 224
转载 jdk1.8 LongAdder源码学习
LongAdder是jdk8新增的用于并发环境的计数器,目的是为了在高并发情况下,代替AtomicLong/AtomicInt,成为一个用于高并发情况下的高效的通用计数器。 高并发下计数,一般最先想到的应该是AtomicLong/AtomicInt,AtmoicXXX使用硬件级别的指令 CAS 来更新计数器的值,这样可以避免加锁,机器直接支持的指令,效率也很高。但是AtomicXXX中的 CAS ...
2019-09-05 09:57:29 113
转载 Java中的Unsafe
Java和C++语言的一个重要区别就是Java中我们无法直接操作一块内存区域,不能像C++中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C++手动管理内存的能力。 Unsafe类,全限定名是sun.misc.Unsafe,从名字中我们可以看出来这个类对普通程序员来说是“危险”的,一般应用开发者不会用到这个类。 Unsafe类是"final"的,不允许继承。且构造函数...
2019-09-05 09:44:06 305
转载 分布式事务[4] 柔性事务:最大努力通知
5.0 柔性事务:最大努力通知 2018-02-05 02:51:055,9560 最大努力通知型( Best-effort delivery)是最简单的一种柔性事务,适用于一些最终一致性时间敏感度低的业务,且被动方处理结果 不影响主动方的处理结果。典型的使用场景:如银行通知、商户通知等。最大努力通知型的实现方案,一般符合以下特点: 1、不可靠消息:业务活动主动方,...
2019-09-04 16:21:40 511
转载 分布式事务[3]3.0 JTA规范
3.0 JTA规范 2018-02-05 02:31:404,9081 JTA规范下载地址:http://download.oracle.com/otn-pub/jcp/jta-1.1-spec-oth-JSpec/jta-1_1-spec.pdf JTA规范事务模型 Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS...
2019-09-04 16:19:21 191
转载 分布式事务[2]mysql 对XA事务的支持
2.0 mysql 对XA事务的支持 2018-02-05 02:20:504,9941 MySQL 从5.0.3开始支持XA分布式事务,且只有InnoDB存储引擎支持。MySQL Connector/J 从5.0.0版本之后开始直接提供对XA的支持。 需要注意的是,在DTP模型中,mysql属于资源管理器(RM)。而一个完整的分布式事务中,一般会存在多个RM...
2019-09-04 16:17:15 361
转载 分布式事务[1]分布式事务概述
1.0 分布式事务概述 2018-02-05 02:05:2617,3418 1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性(atomicity):个事务是...
2019-09-04 16:14:48 177
转载 CAP与BASE理论
1.经典的分布式系统理论-CAP 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。Brewer认为在设计一个大规模的分布式系统时会遇到三个特性:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance),而一个分布式系统最多只能满足其中的2项。2年后,麻省理工学院的Seth...
2019-09-04 16:12:31 175
转载 分布式事务-初步理解及解决方案
0Github 1 面试题 分布式事务了解吗?你们如何解决分布式事务问题的? 2 考点分析 只要聊到做了分布式系统,必问分布式事务,若你对分布式事务一无所知的话,确实很坑,起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。 现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配. 你做系统肯定要用事务,那你用事务的话,分布式系统之后肯定要用分布式事务. 先不...
2019-09-04 15:51:12 137
转载 分布式锁的三种实现方式及对比分析(代码实现细节)
一、问题介绍 日常工作中很多场景下需要用到分布式锁,例如:任务运行(多个节点同一时刻同一个任务只能在一个节点上运行(分片任务除外)),交易请求接收(前端交易请求发送时,可能由于两次提交,后端需要识别出这是一个交易)等,怎么样实现一个分布式锁呢?一般有:zookeeper、redis、database等三种实现方式。 二、分布式锁实现 2.1、zookeeper 2.1.1、原理 zook...
2019-09-04 15:23:06 421
转载 分布式锁解决并发的三种实现方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同 一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案: 分布式锁一般有三种实现方式:1. ...
2019-09-04 15:21:23 313
转载 Java8内存模型—永久代(PermGen)和元空间(Metaspace)
从jdk开始,就开始了永久代的转移工作,将譬如符号引用(Symbols)转移到了native heap;字面量(interned strings)转移到了java heap;类的静态变量(class statics)转移到了java heap。但是永久在还存在于JDK7中,直到JDK8,永久代才完全消失,转而使用元空间。而元空间是直接存在内存中,不在java虚拟机中的,因此元空间依赖于内存大小。当...
2019-09-04 09:48:16 179
转载 JDK8 JVM内存模型
正文 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行 JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行 不同的JVM对于内存的划分方式和管理机制存在着部分差异 结合JVM虚拟机规范,来探讨经典的JVM内存布局 运行时内存: 1 Program Counter Register (程序计数寄存...
2019-09-04 08:52:53 5486 1
转载 Reactive Programming 带来哪些显著的编程变化
前言 作为一名 Java 开发人员,尤其是 Java 服务端工程师,对于 Reactive Programming 的概念似乎相对陌生。随着 Java 9 以及 Spring Framework 5 的相继发布,Reactive 技术逐渐开始被广大从业人员所注意,我作为其中一员,更渴望如何理解 Reactive Programming,以及它所带来的哪些显著的编程变化,更为重要的是,怎么将其用于...
2019-09-03 14:21:12 199
转载 Dubbo 3.0 预览版的新特性和新功能
Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。更多用户信息,可以访问: https://github.com/apache/incubator-dubbo/issues/1012 自去年 12 月开始,Dubbo 3.0 便已正式进入开发阶段,并备受社区和广大 Dubbo ...
2019-09-03 14:15:45 1174
博客下载工具
2017-06-22
Java调用C#com方法
2013-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人