首页 Java

Java

  • 模拟电子钱包账户并发转账环境产生的脏数据及改进办法(java+mysql)

    模拟电子钱包账户并发转账环境产生的脏数据及改进办法(java+mysql)

    一、场景简述假设用户A线上消费,其账户内有余额100元,现在他给B商户付款99元,写成最简单的业务逻辑大概是这样的:数据库查询(SELECT)A账户余额(100)判断A账户余额是否够支付抵扣(100 - 99 >= 0)如果够抵扣,数据库执行扣款操作(UPDATE),商户B加款(A->Banance -= 99, B->Banance += 99)如果不够抵扣,不执行操作这是一个典型的单线程消费模式,显然如果每次都执行这一个操作,这个算法是正确无误的,下面进行一个稍微复杂的操作,假设A线上消费,A...

    Java 2019-06-07 239 0
  • Disruptor并发框架

    Disruptor并发框架

    一、Disruptor框架介绍极高性能、并发、无锁的编程框架 - Disruptor建立在JVM平台上每秒可处理6百万订单[官方自述]运行在内存中采用事件源驱动方式无锁的Queue(高并发无锁队列事件)[RingBuffer]是Disruptor的核心RingBuffer采用数组实现,无首尾指针Quene:RingBuffer是一个环形队列,起到缓存的效果=>随着不停的填充RingBuffer,序号会一直增长,直到超过这个环的最大长度(会覆盖旧的序号)如何计算序号指向的元素?采用mod运算,序号%长度=索引,...

    Java 2019-05-26 213 0
  • Java - jdbc 驱动对MySql增删改查

    Java - jdbc 驱动对MySql增删改查

    编译器:eclipse步骤:1、导入jdbc驱动包,jar包见文章结尾2、一个数据库的简单操作流程大致分为以下几个操作    a. 设置数据库连接参数    b. 加载数据库驱动(捕捉错误)    c. 连接数据库(捕捉错误)    d. 构造sql语句    e. 执行sql语句(捕捉错误)  &...

    Java 2018-09-11 427 0
1

运行

«   2019年10月   »
123456
78910111213
14151617181920
21222324252627
28293031

WebPro统计

Top