So-called Mathematical Analysis problem ...
分类:
其他好文 时间:
2019-09-07 17:18:30
阅读次数:
123
减少上下文切换的方法有无锁并发编程、CAS算法、使用最少线程和使用协程。 无锁并发编程:多线程竞争锁时,会引起上下文切换,所以多线程处理数据时,可以用一些办法来避免使用锁,如将数据的ID按照Hash算法取模分段,不同的线程处理不同段的数据。 CAS算法:Java的Atomic包使用CAS算法来更新数 ...
分类:
其他好文 时间:
2019-09-06 00:57:22
阅读次数:
121
正常使用apt get install安装出现依赖冲突问题: 大概是这样: mi@ubuntu:~$ sudo apt get install gcc 5 base:i386 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 gcc 5 base:i386 已 ...
分类:
其他好文 时间:
2019-09-05 13:28:22
阅读次数:
285
在单机场景下,全局唯一的ID可以使用数据库的自增功能,分布式系统一般是高并发场景,那自然不适合。 ...
分类:
其他好文 时间:
2019-09-05 00:48:13
阅读次数:
77
前言 CAS,即 Compare And Swap(比较与交换),是一种无锁算法,基于硬件原语实现,能够在不使用锁的情况下实现多线程之间的变量同步。jdk中的java.util.concurrent.atomic包中的原子类就是通过CAS来实现了乐观锁。 CAS算法过程 算法涉及到三个操作数: 需要 ...
分类:
编程语言 时间:
2019-09-03 22:39:46
阅读次数:
118
本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的 ...
分类:
数据库 时间:
2019-09-02 11:48:26
阅读次数:
89
```java import java.util.concurrent.atomic.AtomicInteger; / 原子操作的类 atomic / public class VolatileDemo { static AtomicInteger i = new AtomicInteger(0); ...
分类:
其他好文 时间:
2019-09-01 16:57:58
阅读次数:
95
题目描述 建立三个线程A、B、C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。 5种方法 5.1 使用synchronized, wait和notifyAll 5.2 使用Lock->Reen ...
分类:
编程语言 时间:
2019-08-31 23:46:54
阅读次数:
198
Dubbo篇之(一):实现原理及架构详解 Dubbo的由来及解决的问题 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。 缺点:单一的系统架构,使得在开发过程中,占用的 ...
分类:
其他好文 时间:
2019-08-28 01:07:38
阅读次数:
75
多线程的实现方式(继承父类和实现接口)三种 1. 继承父类Thread,重写run()方法 【实现】 java1.5后 java.util.concurrent(concurrent:并发) atomic:原子 ,AtomicInteger:原子引用 1.volatile java虚拟机提供的轻量级 ...
分类:
编程语言 时间:
2019-08-27 01:01:02
阅读次数:
120