- 博客(9)
- 收藏
- 关注
原创 分布式锁_基本理解
分布式锁 简介 锁:在编程中锁(lock)或互斥(mutual)同步机制,用于在多线程(或进程)中对资源的访问限制。锁主要作用是互斥排他、并发控制策略。 分布式锁的实现: 基于数据库实现,基于缓存(Redis)实现,基于Zookeeper实现。 第三方开源实现:curator(基于Zookeeper实现),redission(基于Redis实现) 数据库分布式锁 利用数据库的行锁实现。 支持行锁的数据库:MySql的InnerDB引擎支持行锁, PostgreSQL支持行锁,Oracle等。 例如有个表:
2021-07-30 09:19:27
229
原创 分布式锁_Redis分布式锁实践
分布式锁_Redis分布式锁实践 环境说明 Ubuntu: 20.04 Redis: 5.0.7 JDK: 1.8 JAVA代码开发 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sch
2021-07-30 09:17:05
237
原创 分布式锁_数据库分布式锁实践
分布式锁_数据库分布式锁实践 环境说明 ubuntu: 20.04 jdk: 1.8 postgresql: 12 mybatis: 3.5.7 数据库 sudo apt install postgresql 创建数据库用户"myuser" sudo su postgres -c "createuser -D -A -P myuser" # 这里需要输入密码,我这里使用"myuser" 创建数据库**“mydb”** 分配权限给"myuser" sudo su postgres -c "created
2021-07-30 09:15:17
518
原创 分布式锁_Zookeeper分布式锁实践
分布式锁_Zookeeper分布式锁实践 环境说明 Ubuntu: 20.04 Zookeeper: 3.7.0 JDK: 1.8 Zookeeper wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz tar xf apache-zookeeper-3.7.0-bin.tar.gz mv apache-zookeeper-3.7.0-bin zook
2021-07-30 09:10:54
189
转载 ZooKeeper_基础知识
ZooKeeper_基础知识基础知识存储结构监听机制zk集群:高性能,高可用,强一致性(CP)应用场景分布式锁集群管理与master选举其他zkCli.shClusteredAdminServer 本文ZooKeeper版本3.7.0 基础知识 存储结构 使用树形存储节点信息,类似Linux文件系统。 每一个存储节点对应一个Znode节点,每个Znode节点默认存储1MB数据。 Znode包含ACL权限控制,修改/访问时间,最后一次操作的事物ID等等。 对Znode节点修改保证顺序和原子性。 节点分类
2021-07-21 09:57:18
396
原创 Android Lib层打印log之------bionic库打印log
1. 前提: android系统把标准输出stdout, stderr,从定向到/dev/null 中,所以使用printf(),就使用logcat中查看到log信息。 2. 实际操作: # includeprivate/logc_logging.h> //也可以是 #include "private/libc_logging.h" xxx_func() { /**
2016-08-17 11:58:04
3179
1
原创 Android Java层,Native层,Lib层打印Log简介
说明: 这里我根据个人工作情况说明在各个层打印log。如有问题欢迎拍砖。1. Java层打印log。 这个比较简单Android有封装好的Log.java, 可以使用。 例如:Log.d(String Tag, String msg); 个人习惯: 单独写一个类包装一下:MLog.java:import android.util.Log;public class MLog { public
2016-08-16 21:05:56
4534
原创 Create android source branch (创建安装源码分支)
Create Android Source Code Branch 使用Gerrit管理Android Source Code: 创建AOSP Branch: export rls_branch_name=”android-xxxxxxxxx” export base_branch=”android-xxxxxxxxxx” repo forall -c “git branch $rls_branc
2016-07-25 19:04:42
864
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅