自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lch_blog

lch的博客

  • 博客(55)
  • 收藏
  • 关注

原创 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 415

原创 java -> reentrantlock & AQS

参考文章图文并茂:AQS 是怎么运行的?1. AQS (AbstractQueuedSynchronizer) 抽象类的队列式同步器AQS 是一个用于构建锁和同步器的框架,许多同步器都可以通过AQS很容易并且高效的构造出来。抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。AbstractQueuedSynchronizer,这个类也是在java.u

2021-09-16 16:52:24 213

原创 java voliate

定义volatile变量规则:对volatile变量的写入操作必须在对该变量的读操作之前执行。volatile变量规则只是一种标准,要求JVM实现保证volatile变量的偏序语义。结合程序顺序规则、传递性,该偏序语义通常表现为两个作用:保持可见性禁用重排序(读操作禁止重排序之后的操作,写操作禁止重排序之前的操作)补充:程序顺序规则:如果程序中操作A在操作B之前,那么在线程中操作A将在操作B之前执行。传递性:如果操作A在操作B之前执行,并且操作B在操作C之前执行,那么操作A必须在操作C之

2021-09-16 14:32:17 608

原创 java 单例模式的写法

饱汉模式饱汉是变种最多的单例模式。我们从饱汉出发,通过其变种逐渐了解实现单例模式时需要关注的问题。基础的饱汉饱汉,即已经吃饱,不着急再吃,饿的时候再吃。所以他就先不初始化单例,等第一次使用的时候再初始化,即·“懒加载”·。// 饱汉// UnThreadSafepublic class Singleton1 { private static Singleton1 singleton = null; private Singleton1() { } public static Si

2021-09-16 14:14:06 89

原创 java中的锁

1. Java 锁可中断锁:在等待获取锁过程中可中断。synchronized就不是可中断锁,而Lock是可中断锁。读写锁:对资源读取和写入的时候拆分为2部分处理,一个读锁和一个写锁。读的时候可以多线程一起读,写的时候必须同步地写。ReadWriteLock就是读写锁,它是一个接口,ReentrantReadWriteLock实现了这个接口。可以通过readLock()获取读锁,通过writeLock()获取写锁。乐观锁: (冲突检测和数据更新)很乐观,每次去拿数据的时候都认为别人不会修改,所

2021-09-16 13:15:48 175

原创 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 68

原创 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 75

原创 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 73

原创 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 63

原创 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 77

原创 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 1775

原创 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 [email protected]' -t rsa会在用户目录~/.ssh/下建立相应的密钥文件。

2021-09-09 15:55:24 6798

原创 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 320

原创 spring事务

事务的传播机制事务的传播性一般用在事务嵌套的场景,比如一个事务方法里面调用了另外一个事务方法,那么两个方法是各自作为独立的方法提交还是内层的事务合并到外层的事务一起提交,这就是需要事务传播机制的配置来确定怎么样执行。常用的事务传播机制如下:PROPAGATION_REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务Spring默认的传播机制。如果外层有事务,则当前事务加入到外层事务,一块提交,一块回滚。如果外层没有事务,新建一个事务执行explain:ServiceA {

2021-09-08 14:58:51 441

原创 数据库事务

本文转载自: https://www.cnblogs.com/limuzi1994/p/9684083.html事务四大属性1、原子性(Atomicity)事务包含的所有操作要么全部成功,要么全部失败回滚2、一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账、转几次账,事务结束后两个用户的钱相加起来应该还得是10

2021-09-08 14:28:18 268

原创 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 53

原创 linux常用命令

## docker

2021-09-03 11:12:03 92

原创 java多线程那点事|提升java能力

java多线程那点事|提升java能力

2021-07-26 15:48:43 83

原创 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 66

原创 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 60

原创 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 74

原创 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 92

原创 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 70

原创 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 39

原创 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 496

原创 windows 开机启动

开机启动 Server service. sc.exe config LanmanServer start=autosc start LanmanServer2 . 开机启动 wslref: https://blog.csdn.net/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 316

原创 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 161 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 491

原创 Electron-vue

http://www.electronjs.org/docs/tutorial/quick-startBrowserWindowElectron+vue的使用: https://www.jianshu.com/p/839362c64bdb

2021-02-09 17:35:17 76

原创 chrome 插件开发

官方文档谷歌(Chrome)浏览器插件开发教程脚手架的地址 extension-boilerplate Funds

2021-02-08 11:03:07 132

原创 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 69

原创 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 173

原创 python -字符串

mooc data

2021-01-27 18:36:21 33

原创 python -- turtle2

方向控制函数只改变海龟行进方向, 并不实际在绘图上让海龟行动。运动控制函数,让海龟走直线/曲线。

2021-01-27 14:51:45 94

原创 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 89

原创 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 151

原创 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 44

原创 redux

Redux 中文文档 https://www.redux.org.cn/

2021-01-19 18:21:51 36

原创 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 78

原创 vue 项目案例 慕课 - vue-cli全集 [https://www.imooc.com/learn/1173]

1. 页面布局 及 引入图片2.

2020-07-02 16:36:58 499

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除