- 博客(56)
- 收藏
- 关注
原创 mongoShake数据迁移
https://github.com/alibaba/MongoShakehttps://gitee.com/alibaba/MongoShakeMongoShake——基于MongoDB的跨数据中心的数据复制平MongoDB数据同步工具之 MongoShakeMongoShake最佳实践perf test 常见问题&FAQ第一次使用,如何进行配置?
2025-03-21 15:15:43
203
原创 mongodb 索引,事务,分片
一. 概览插件式存储引擎, MongoDB 3.0引入了插件式存储引擎API,为第三方的存储引擎厂商加入MongoDB提供了方便目前除了早期的MMAP存储引擎外,WiredTiger和RocksDB 均 已完成了对MongoDB的支持,1.1 compare MMAPv1 and WiredTiger ; 以及WiredTiger 新特性文档级别并发控制多个客户端请求同时更新一个集合内存的多个文档,再也不需要在排队等待 库级别的写锁。Snapshot Checkpoints(快照和检查点):m
2021-11-04 13:32:25
511
原创 java -> reentrantlock & AQS
参考文章图文并茂:AQS 是怎么运行的?1. AQS (AbstractQueuedSynchronizer) 抽象类的队列式同步器AQS 是一个用于构建锁和同步器的框架,许多同步器都可以通过AQS很容易并且高效的构造出来。抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。AbstractQueuedSynchronizer,这个类也是在java.u
2021-09-16 16:52:24
276
原创 java voliate
定义volatile变量规则:对volatile变量的写入操作必须在对该变量的读操作之前执行。volatile变量规则只是一种标准,要求JVM实现保证volatile变量的偏序语义。结合程序顺序规则、传递性,该偏序语义通常表现为两个作用:保持可见性禁用重排序(读操作禁止重排序之后的操作,写操作禁止重排序之前的操作)补充:程序顺序规则:如果程序中操作A在操作B之前,那么在线程中操作A将在操作B之前执行。传递性:如果操作A在操作B之前执行,并且操作B在操作C之前执行,那么操作A必须在操作C之
2021-09-16 14:32:17
688
原创 java 单例模式的写法
饱汉模式饱汉是变种最多的单例模式。我们从饱汉出发,通过其变种逐渐了解实现单例模式时需要关注的问题。基础的饱汉饱汉,即已经吃饱,不着急再吃,饿的时候再吃。所以他就先不初始化单例,等第一次使用的时候再初始化,即·“懒加载”·。// 饱汉// UnThreadSafepublic class Singleton1 { private static Singleton1 singleton = null; private Singleton1() { } public static Si
2021-09-16 14:14:06
128
原创 java中的锁
1. Java 锁可中断锁:在等待获取锁过程中可中断。synchronized就不是可中断锁,而Lock是可中断锁。读写锁:对资源读取和写入的时候拆分为2部分处理,一个读锁和一个写锁。读的时候可以多线程一起读,写的时候必须同步地写。ReadWriteLock就是读写锁,它是一个接口,ReentrantReadWriteLock实现了这个接口。可以通过readLock()获取读锁,通过writeLock()获取写锁。乐观锁: (冲突检测和数据更新)很乐观,每次去拿数据的时候都认为别人不会修改,所
2021-09-16 13:15:48
240
原创 java面试
1. Java中有哪些锁 ? CAS 使用场景。2. synchronized 和 reentranlock 区别。 AQS .3. 线程生命周期, Java线程和linux线程的关系?4. 线程调度算法,有没有了解过CFS算法。5. linux常用命令。再怎么在linux 运行项目 (shell 脚本)6. 使用过的java 集合类7. hashmap的put流程,concurrentHashmap 为什么是线程安全的。8. jvm内存结构,程序计数器的作用?9. 堆外内存? 直接内存
2021-09-15 17:09:53
92
原创 opencv 练习
OpenCV中的绘图功能import cv2 as cvimport numpy as np# 创建黑色的图像img = np.zeros((512, 512, 3), np.uint8)# 绘制一条厚度为5的蓝色对角线cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)cv.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)cv.circle(img, (447, 63), 63, (0
2021-09-10 15:49:06
129
原创 centos/windows --> python,python-opencv
install python$ sudo yum install python38 -y# 从SCL中使用python3,你需要一行命令来启用Python3:$ scl enable python38 <command># 您还可以使用Python编译器来调用一个bash shell:$ scl enable python38 bash# prepare pip3 install scikit-build pip3 install cmake ln -s /usr/bi
2021-09-10 14:38:03
121
原创 ubuntu opencv
install pythonsudo apt install python3.8python3.8 --version# install pipapt install python3-pipinstall python-opencv# prepare pip3 install scikit-build pip3 install cmake ln -s /usr/bin/ninja /usr/bin/ninja-build# install opencvpip3 install
2021-09-10 14:05:48
97
原创 ubuntu python
在ubuntu上安装Python有两种方法以root用户或具有sudo访问权限的用户身份运行以下命令,以更新软件包列表并安装必备组件:sudo apt updatesudo apt install software-properties-common将Deadsnakes PPA添加到系统的来源列表中:sudo add-apt-repository ppa:deadsnakes/ppa启用存储库后,请使用以下命令安装Python 3.8:sudo apt install pyt
2021-09-10 13:32:44
135
原创 wsl常用命令
ref: https://docs.microsoft.com/zh-cn/windows/wsl/reference设置默认版本wsl --set-default-version 2检查分配给每个已安装的 Linux 分发版的 WSL 版本wsl -l -vwsl --list --verbose将分发版设置为受某一 WSL 版本支持wsl --set-version <distribution name> <versionNumber>用于运行 Linux 命令的
2021-09-10 10:15:32
1968
原创 Ubuntu 安装git及git命令
1、检查git是否已经安装,输入git version命令即可,如果没有显示版本号表示没有安装git2、安装gitsudo apt-get install git3、配置git全局环境git config --global user.name "用户名"git config --global user.email "邮箱地址"4、生成ssh密钥ssh-keygen -C 'you email address@gmail.com' -t rsa会在用户目录~/.ssh/下建立相应的密钥文件。
2021-09-09 15:55:24
12181
原创 wsl centos
ref: https://zhuanlan.zhihu.com/p/347461016install centosWindows的应用商店中有一些不错的linux发行版,包括很多同学都很喜欢的ubuntu,但是个人比较熟悉使用centos,而应用商店中的centos是要收费的,不过好在github上面有CENTOS官方开源的安装包,我们这里使用github上的安装包进行安装。如果使用应用商店中的发行版直接点击安装即可。随后便可以跳过下面的centos的安装部分。首先我们去centos的GitHub页
2021-09-09 14:46:51
400
原创 spring事务
事务的传播机制事务的传播性一般用在事务嵌套的场景,比如一个事务方法里面调用了另外一个事务方法,那么两个方法是各自作为独立的方法提交还是内层的事务合并到外层的事务一起提交,这就是需要事务传播机制的配置来确定怎么样执行。常用的事务传播机制如下:PROPAGATION_REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务Spring默认的传播机制。如果外层有事务,则当前事务加入到外层事务,一块提交,一块回滚。如果外层没有事务,新建一个事务执行explain:ServiceA {
2021-09-08 14:58:51
559
原创 数据库事务
本文转载自: https://www.cnblogs.com/limuzi1994/p/9684083.html事务四大属性1、原子性(Atomicity)事务包含的所有操作要么全部成功,要么全部失败回滚2、一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账、转几次账,事务结束后两个用户的钱相加起来应该还得是10
2021-09-08 14:28:18
479
原创 windows bat
startServer.bat@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%t
2021-09-06 16:58:17
105
原创 spring ioc
bean --- spring bean --- 完成spring bean 生命周期的 java 对象java对象 -- 对象 java对象不一定是spring bean,没有经过spring bean 的生命周期。spring bean 生命周期spring的bean生命周期其实最核心的分为4个步骤,实例化和初始化的区别:实例化是在jvm的堆中创建了这个对象实例,此时它只是一个空的对象,所有的属性为null。而初始化的过程就是讲对象依赖的一些属性进行赋值之后,调用某些方法来开启一些默认加载
2021-07-08 10:28:52
107
原创 reactive
https://www.programcreek.com/java-api-examples/ , 搜 reactivehttps://piotrminkowski.com/2019/11/04/using-reactive-webclient-with-spring-webflux/https://developer.ibm.com/?q=reactivehttp://reactivex.io/RxJava/javadoc/rx/Observable.html#concatWith-rx.Obser
2021-06-10 13:56:27
102
原创 docker-ubuntu-ssh
docker-compose.yamlversion: '3'services: ubuntu: image: luochunhai/myubuntu:v2 hostname: summer.ubuntu container_name: ubuntu restart: always tty: true ports: - "6789:22"install sshref: https://www.cnblogs.com/mengw/p/
2021-05-27 18:08:56
134
原创 docker compose->flink
docker-compose.yamlversion: "3.7"services: jobmanager: image: flink container_name: jobmanager hostname: jobmanager expose: - "6123" ports: - "8081:8081" command: jobmanager environment: - JOB_MANAGER_RPC_.
2021-05-27 14:06:18
144
原创 windows->dockerdesktop install
prepare在BIOS设置中启用BIOS级硬件虚拟化支持。搜索并打开“启用或关闭 Windows 功能”,然后选择必须启用Hyper-V和Containers Windows功能。也可以通过命令来启用 Hyper-V ,请右键开始菜单并以管理员身份运行 PowerShell,执行以下命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All"适用于Linux的Windows子系统”复选框。
2021-05-27 10:21:24
124
原创 windows bat
@echo off:beginset SERVER_RUN_FLAG='':start echo %SERVER_RUN_FLAG% if %SERVER_RUN_FLAG%=="true" ( echo result is true del /s /q /f C:\Users\user\server_status.txt exit /b 0 ) else ( TIMEOUT /T 3 cd C:\Us
2021-05-25 16:11:51
60
原创 windows->wsl&ubuntu config
1. 修改 默认的源cp /etc/apt/sources.list /etc/apt/sourses.list.bak更换默认源为阿里源, 使用 sudo vim /etc/apt/sources.list 命令编辑,删除原来的内容,添加下面的阿里源信息deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bioni
2021-05-24 23:34:28
637
原创 windows 开机启动
开机启动 Server service. sc.exe config LanmanServer start=autosc start LanmanServer2 . 开机启动 wslref: https://blog.youkuaiyun.com/fuyuande/article/details/905102501. 创建启动脚本,脚本内容自定义sudo vi /etc/init.wsl #!/bin/sh/etc/init.d/smbd start 2. 添加执行权限sudo chm.
2021-05-24 16:47:17
519
原创 bind header to controller
import javax.servlet.http.HttpServletRequest;import org.springframework.core.MethodParameter;import org.springframework.web.bind.support.WebDataBinderFactory;import org.springframework.web.context.request.NativeWebRequest;import org.springframework.w.
2021-03-25 13:06:25
265
2
原创 多端统一开发解决方案
Fluttergooglehttps://flutter.dev/docshttps://www.oschina.net/p/flutter?hmsr=aladdin1e1https://github.com/flutter/flutterhttps://gitee.com/mirrors/Flutter?utm_source=alading&utm_campaign=repouni-appuni-apptaro京东https://taro-docs.jd.com/taro
2021-02-10 08:27:35
579
原创 Electron-vue
http://www.electronjs.org/docs/tutorial/quick-startBrowserWindowElectron+vue的使用: https://www.jianshu.com/p/839362c64bdb
2021-02-09 17:35:17
111
原创 python & anaconda & django instal
1. install anacondahttps://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ref: https://www.jianshu.com/p/edaa744ea47dconfig:conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirro
2021-01-30 22:02:45
105
原创 go beego bee
官网: https://golang.google.cn/ 1.install gohttps://golang.google.cn/doc/installconfiggo env查看 go 环境gopath:go命令依赖一个重要的环境变量:$GOPATHGOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号;当有多个GOPATH时默认将go get获取的包存放在第一个目录下goroot: golang 的安装路径gobin : ${goroot
2021-01-30 19:05:49
241
原创 python -- turtle1
ref: https://www.icourse163.org/learn/BIT-268001?tid=1461953449#/learn/content?type=detail&id=1238742641&cid=1259496075&replay=trueimport turtleturtle.setup(650, 350, 200, 200)turtle.penup()turtle.fd(-250)turtle.pendown()turtle.pensize(
2021-01-27 14:05:33
123
原创 Front end development
一个前端 框架( vue ,react , angular)的学习, 需要做到那几点 ?搭建环境 hello world用户交互,组件消息传递router 路由store 状态管理应用 UI 框架 antd vant element element-plus适配 移动端 weex ; react-native....
2021-01-25 11:26:54
212
原创 vue mixin
官网: https://v3.cn.vuejs.org/guide/mixins.html#%E5%9F%BA%E7%A1%80ref: https://www.cnblogs.com/dengyao-blogs/p/11589962.htmlref: https://www.jianshu.com/p/1bfd582da93e
2021-01-21 15:13:37
62
原创 docker- mysql
创建docker 容器sudo docker run --name webserver_mysql -v /home/lch/data/mysql/webserver:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=luochunhai2431. -e MYSQL_DATABASE=user -d -p 3066:3066 mysql进入docker 容器sudo docker exec -it webserver_mysql /bin/bash...
2020-07-02 17:33:59
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人