自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

转载 LeetCode 217. 存在重复元素(转载)

题目给定一个整数数组,判断是否存在重复元素。如果任意一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true12示例 2:输入: [1,2,3,4]输出: false12示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true12来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-dupli

2020-09-05 13:21:29 193

转载 Linux常用系统管理命令总结(转载)

对于文章中出现的任何错误请大家批评指出,会及时做出修改!有任何想要讨论和学习的问题可联系我:cittaksana@qq.comLinux常用系统管理命令总结一、目录指令1、创建目录make directory2、移动目录 move3、修改文件名4、复制 copy5、删除 remove二、文件指令1、查看文件内容2、创建文件3、给文件追加内容三、用户指令1、创建用户user add2、修改用户 usermodify3、删除用户 userdelete4、给用户设置密码,使其登录

2020-09-05 09:30:45 295

转载 SpringBoot实战(十八):签到奖励实现方案(转载)

前言最近在做社交业务,用户进入APP后有签到功能,签到成功后获取相应的奖励:项目状况:前期尝试业务阶段;特点:快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营用户签到:用户在每次启动时查询签到记录(规则:连续7日签到从0开始,签到过程中有断签从0开始)如果今日未签到则提示用户可以进行签到用户签到获取相应的奖励提到签到,脑海中首先浮现特点:需要记录每位用户每天的签到情况查询时根据规则进行签到记录情况需求&流程设计&技术实现方案需求原型图查询签到记录

2020-09-04 13:24:42 560

转载 SpringBoot实战(十七):Redis Pipeline 轻松实现百倍性能提升(续)(转载)

前言最近在做业务的时候,需要批量操作Redis,虽然Redis的速度非常快,但是for循环操作Redis还是会有问题,在之前的基础上又对批量操作Redis进行了汇总;批量操作Redis:批量Set批量Get批量Set且设置过期时间批量Delete批量操作效果&技术实现方案之前本地测试操作100个Key值,批量操作是单个操作的快122倍(《SpringBoot实战(六):Redis Pipeline 轻松实现百倍性能提升》)技术实现方案SpringBootRedis代码实现完

2020-09-04 10:05:42 178

转载 MySQL InnoDB表空间加密(转载)

从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 。此功能为物理表空间数据文件提供静态加密。该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加密,加密用的是AES算法,而其解密是在从文件读到内存中时进行。1 配置加密插件1.1 修改配置文件在mysql配置文件【mysqld】x项中添加如下内容plugin_dir=/usr/local/mysql5.7/lib/mysql/plugin   # 插件路径,根据实际情况修改early-

2020-09-03 13:59:44 236

转载 linux基础笔试刷题知识点小结1-30(转载)

1.vi编辑器中,dd删除一整行,yy复制一整行,pp黏贴2.ctrl-c:发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序;ctrl-z:发送 SIGTSTP信号给前台进程组中的所有进程,常用于挂起一个进程;ctrl-d:不是发送信号,而是表示一个特殊的二进制值,表示 EOF,作用相当于在终端中输入exit后回车;ctrl-\:发送 SIGQUIT 信号给前台进程组中的所有进程,终止前台进程并生成 core 文件;ctrl-s:中断控制台输出;ctrl-q:恢复控制台

2020-09-03 09:46:53 362

原创 Prometheus监控神器-Alertmanager篇(1)(转载)

警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件Alertmanager ,经过 Alertmanager r对警报的信息处理后,最终通过接收器发送给指定用户,另外在 Alertmanager 中没有通知组的概念,只能自己对软件重新Coding,或者使用第三方插件来实现。注意,这个通知组不是Alertmanager中的group概念,下面会详细讲 Group ,不要混淆哦。

2020-09-02 13:34:17 725

转载 PostgreSQL基础:容器启动错误No space left on device对应方法(转载)

环境说明操作系统版本信息liumiaocn:~ liumiao$ sw_versProductName: Mac OS XProductVersion: 10.15.6BuildVersion: 19G73liumiaocn:~ liumiao$12345Docker版本信息liumiaocn:~ liumiao$ docker versionClient: Docker Engine - CommunityVersion: 19.03.5API vers

2020-09-02 10:04:43 2503

转载 Postgresql定时任务工具(转载)

PostgreSQL 没有内置的定时任务函数,如果想要定期执行一些脚本,需要需要配合其他工具执行。1.第一种方法crontab,这个就不多说了,linux系统自带的定时任务,可以运行命令脚本。crontab -e打开文件,添加如下格式的命令如:每天的00:00执行my.sql脚本0 0 * * * psql -U username -d database < my.sql1每个星期一的2:00执行pg_dump备份0 2 * * 1 pg_dump --no-password -U u

2020-09-01 15:32:08 856

转载 哇,ElasticSearch多字段权重排序居然可以这么玩(转载)

背景读者提问:ES 的权重排序有没有示列,参考参考?刚好之前也稍微接触过,于是写了这篇文章,可以简单参考下。在很多复杂的业务场景下,排序的规则会比较复杂,单一的降序,升序无法满足日常需求。不过 ES 中提供了给文档加权重的方式来排序,还是挺好用的。首先初始化三条测试数据,方便查看效果:{id: 1,title: “Java怎么学”,type: 3,userId: 1,tags: [“java”],textContent: “我要学Java”,status: 1,heat: 80

2020-09-01 10:39:20 880

转载 MySQL中float、double、decimal三个浮点类型的区别与总结!(转载)

下表中规划了每个浮点类型的存储大小和范围:类型 大小 范围(有符号) 范围(无符号) 用途float 4 bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度 浮点数值double 8 bytes (-1.797 693 134 862 315 7 E+308,-2.225073

2020-08-31 14:26:09 577

转载 mysql数据库基础操作命令大全(转载)

SQL数据库语言1.数据定义语言(CREATE,ALTER,DROP,DECLARE)2.数据操纵语言(SELECT,DELETE,UPDATE,INSERT)3.数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)创建数据库create database my-database1删除数据库drop database my-database1创建新表create table my_table(col1 type1 [not null] [primary key],c

2020-08-31 09:47:59 193

转载 史上最全的Uboot常用命令汇总(超全面!超详细!)收藏这一篇就够了(转载)

Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NOR FLASH, SD, MMC 等)拷贝到 DDR 中,最后启动 Linux 内核。当然了, bootloader 的实际工作要复杂的多,但是它最主要的工作就是启动 Linux 内核, bootloader 和 Linux 内核的关系就跟 PC 上的 BIOS 和 Windows 的关系.

2020-08-28 13:52:49 920

转载 mapbox的初次笔记——wsdchong(转载)

mapbox的基本概念文章目录mapbox的基本概念map的组成style:Source:vectorrasterraster-demgeojsonimagevideoLayer:backgroundfilllinesymbolrasterAPImapbox官网例子styles:显示一个地图layers:用3D形式呈现建筑物、可视化人口密度sources:将本地json数据与矢量切片图形链接;添加实时数据、添加栅格切片数据源、添加一个第三方矢量切片数据源CSDN

2020-08-28 10:49:40 743

转载 如何简洁优雅地部署PostgreSQL和Pgweb?(转载)

介绍PostgreSQL和PgwebPostgreSQL是一款以可靠性和性能为人所熟知的开源数据库。它在很多行业和应用程序中都有应用,尤其是web开发人员的最爱。从node.js到Django再到Rails和Spring,所有主流web框架均原生支持PostgreSQL,所以其适应性在整个互联网的网站后台系统中是相当广泛的。与任何数据库一样,开发人员需要工具来使用它们。Pgweb是一个开源的、基于web的PostgreSQL客户端。它有一个非常简洁的界面,让你可以连接到任何PostgreSQL实例来浏览

2020-08-27 13:43:11 844

转载 测试开发之Python核心笔记(20): 内置高级方法(转载)

当我们定义了一个类之后,Python会自动为我们提供一些方法,这些方法大部分是从object类或者type类继承来的。我们可以覆盖这些方法实现特定的操作。20.1 让对象打印出来更易读用print()打印对象,会展示__str__()函数的内容,直接运行实例的时候,打印的对象,会展示__repr__()函数的内容。因此可以通过实现__str__()和__repr__()这两方法,让对象打印出来更符合人类阅读。比如class Student:def init(self, name, age):sel

2020-08-27 09:50:04 121

转载 腾讯云API接口鉴权v3 鉴权失败问题 AuthFailure.SignatureFailure(转载)

最近我开发的CRM项目正好在做营销短信的功能,这个功能需要对接腾讯云的第三方短信接口。众所周知,对接接口最难的就是鉴权部分了,毕竟为了安全嘛。云API鉴权一直是比较晦涩难懂的,建议大家还是去github下载安装SDK,可以免去鉴权这一步,非常方便。但是既然发这篇文章,我最终还是选择了使用API的方式。下面简单说一下我在鉴权遇到的坑:{“Response”:{“Error”:{“Code”:“AuthFailure.SignatureFailure”,“Message”:“The provided cre

2020-08-26 14:21:54 3597 1

转载 面向对象编程,你知道Java有哪些创建对象的方式吗?(转载)

写博客即是为了记录自己的学习历程,也希望能够遇到志同道合的朋友一起学习。文章在撰写过程中难免有疏漏和错误,欢迎指出文章的不足之处;更多内容请点进????爱敲代码的小游子????查看。临渊羡鱼,不如退而结网。一起加油!1、用new关键字创建对象,需要使用构造器。//1、使用关键字new创建对象(没有参数调用无参构造、传入参数调用带参构造)Girlfriend girlfriend01 = new Girlfriend();Girlfriend girlfriend02 = new Girlfrien

2020-08-26 10:15:39 122

转载 python爬虫 - 翻页url不变网页的爬虫探究(转载)

python爬虫-翻页url不变网页的爬虫探究url随着翻页改变的爬虫已经有非常多教程啦,这里主要记录一下我对翻页url不变网页的探究过程。学术菜鸡第一次写CSDN,请大家多多包容~ 如果对你有一点点帮助,请帮我点个赞吧!翻页url不变 与 翻页url改变 有什么区别?url其实就是链接,翻页url改变的链接就是翻页请求在url中体现的链接,比方说很多爬虫初学者的第一个爬虫实例:爬取豆瓣电影top250的信息。注意看这个网站的链接!!豆瓣电影url实例这里可以看到控制页数的参数start直接在

2020-08-25 13:37:29 3557

翻译 解析漏洞——中间件(转载)

目录解析漏洞简介解析漏洞1、IIS 5.x/6.0解析漏洞文件1.htmlaa.asp11.cer利用方法2、IIS 6.01.目录解析2.文件解析3、IIS 7.0/IIS 7.5/nginx0.8.3解析漏洞bb.jpg4、Nginx <0.8.03 空字节代码执行漏洞5、apache解析漏洞解析漏洞简介解析漏洞是指web服务器因对http请求处理不当导致将非可执行的脚本,文件等当做可执行的脚本,文件等执行。该漏洞一般配合服务器的文件上传功能使用,以获取服务器的

2020-08-25 09:36:21 972

转载 你应该知道的这些Mybatis-Plus使用技巧(转载)

最近在用 Mybatis-Plus,嗯,真香!!!今天就来说说 Mybatis-Plus 的那些使用技巧1、条件查询(QueryWrapper)如果说,我们需要查询的 SQL 语句如下:SELECT * FROM user_info WHERE 1=1 AND age = 201那么对应的代码可以为:QueryWrapper queryWrapper = new QueryWrapper<>();queryWrapper.eq(“age”, 20);List list = use

2020-08-24 14:37:52 744

转载 如何将一个现有的Vue网页项目封装成electron桌面应用(转载)

简介需求缘由基础步骤总结参考内容需求缘由开发了很久的网页项目,领导突然想变成桌面应用,又要重写代码?no,no,no。不可能的。重写代码吃力不讨好,浪费时间,浪费精力。那么我们该怎么办呢?幸好,electron是如此神奇,它提供了一种能让你将任何前端代码的网站页面封装成桌面应用。无论是vue,react 还是 angular等现有的框架都能实现。基础学习该内容需要基本的 javascript 语法基础,以及 node.js 基础。步骤1,安装electron依赖包(局部安装,只安装开

2020-08-24 11:16:55 1683

转载 kaniko-在k8s集群中构建容器镜像(转载)

前言通常情况下,我们在使用dockerfile构建镜像的时候要与Docker后台进程交互访问,也就是需要本机root权限。如果是在Docker后台进程无法暴露的场景下,生成容器镜像就变得很困难。kaniko是Google开源的一个工具,可以帮助开发及运维人员从容器或Kubernetes集群内的Dockerfile构建容器镜像,而无需访问Docker守护程序。这样,您可以在容器内执行构建作业,而无需授予对主机文件系统的任何访问权限,你只需要将构建清单创建为Kubernetes批处理作业,然后使用你选择的任何

2020-08-21 13:51:08 1075

转载 用netcat,SSH构建IP层Tunnel(转载)

2017/05/06【关于题外话在最后】写作本文主要基于两点,首先是因为我前段时间写了几篇关于XXN的新解,收到了很多的邮件反馈,我也思考了很多,另一个方面是因为很多人问我怎么用QQ,P2P搭建一个IP层的Tunnel,我的回答是“我也不知道”。我确实不知道,根本就没有试过,只是有个这样那样的想法…我主要是没有动力和能力去Hack这些非Linux上的东西…所以说,我写这篇文章,用UNIX的方法 “将多个小工具结合起来” 实现我的那些没有实现的想法,抛砖引玉一下。声明:本文没有技术含量,甚至不会有什么

2020-08-21 10:20:23 269

转载 Linux环境部署kafka_2.11-0.11.0.0和zookeeper-3.4.10(转载)

Linux环境下安装部署zookeeper、kafka目录zookeeper和kafka压缩包_linux安装zookeeper解压修改zookeeper配置文件启动zookeeper关闭zookeeper安装akfka解压修改kafka配置文件启动kafka关闭kafkaKafka常用命令行创建主题:查看主题:查看主题详情:生产消息:消费消息:zookeeper和kafka压缩包_linuxkafka需要依赖zookeeper,kafka内部自带的也有zookeepe

2020-08-20 15:32:44 523

转载 Flink Sql on Zeppelin(7)——Hive Streaming Sink之合并小文件(转载)

概述之前和大家聊Hive Streaming Sink的时候说过,可以通过指定参数sink.partition-commit.policy.kind,来决定在提交分区时要做的事,比如合并小文件本身Hive Streaming Sink是基于FileSystem Streaming Sink,FileSystem Streaming Sink其实已经做了保护,减少小文件的产生。主要是这两个参数sink.rolling-policy.file-size:文件超过多大会切分sink.rolling-pol

2020-08-20 14:20:31 544

转载 oracle和mysql实现分页查询(转载)

oracle实现分页查询使用伪劣rownum实现分页查询//可以运行select rownum from emp where rownum<6;//不可以运行select rownum from emp where rownum>6;//不可以运行,无结果select rownum from emp where rownum<6 and rownum>3;//例题 假设每页显示3条,查询出第二页查不出select * from (select emp.,rown

2020-08-19 15:13:27 177

转载 MySQL数据库考测试试题(答案)(转载)

Mysql 测试题 (总分150分,时间2个小时)一、单项选择题( 1分1个,共100分)1.以下聚合函数求数据总和的是( )A.MAXB.SUMC.COUNTD.AVG答案:B2.可以用( )来声明游标A.CREATE CURSORB.ALTER CURSORC.SET CURSORD.DECLARE CURSOR答案:D3.SELECT语句的完整语法较复杂,但至少包括的部分是( )A.仅SELECTB.SELECT,FROMC.SELECT

2020-08-19 09:51:09 7365

转载 GitLab数据恢复时的问题对应和常见技巧(转载)

这篇文章整理一下GitLab数据恢复时的一些常见问题对应方法。环境与版本容器化方式部署、运行在Kubernetes中版本:GitLab-CE 12.10.5数据卷挂载gitlab的数据文件分成如下三类,使用容器化方式,一般会做成本地卷,则对此卷进行归档操作(比如tar命令)即可进行备份。备份目录 说明/var/log/gitlab 日志文件/etc/gitlab 设定文件/var/opt/gitlab 数据文件恢复方式恢复方式1:全卷使用上述三个卷全部使用,重做GitLab容器,重启

2020-08-18 13:55:39 1955

转载 国标GB28181无插件直播视频平台EasyGBS两种运行方式的区别——关闭篇(转载)

上次我们讲了Easy系列产品的启动方式(EasyNVR两种运行方式的区别——启动篇),是拿EasyNVR举例,这次我们具体再说下他们对应的关闭方式,为什么特地要介绍这块,因为我们产品不是常规的关闭模式,这期我们以EasyGBS windows版本为例来讲,关闭同样分成两种:进程(调试台)关闭和服务关闭。进程关闭在用进程启动的方式之后,EasyGBS会在进程里面运行三个程序,包括EasyGBS.exe和两个nginx.exe,我们点击调试台窗口后,同时按住键盘“Ctrl+C”键,稍等一会窗口就会关闭掉,保

2020-08-18 10:10:27 186

转载 【小技巧】【XShell】【Xftp】Windows桌面与Linux虚拟机互传文件(转载)

第一步:搭环境首先,虚拟机要有,建议安装Centos,其实手感跟Ubuntu、Fedora也差不多,不过在我见过的场景里,Centos的出镜率是比较高的。去官网下:CentOS-8.2.2004-x86_64-dvd1.iso,下这个,大概8G。然后,下载一个XShell,XShell6,找个信得过的软件下载商店,我是用360软件管家,官网嘛,一直卡着没法下。Xftp也顺便下载好,反正早晚要下。安装过程啥的就不说了,如果出现虚拟机连不上网,淡定,司空见惯了。虚拟机又连不上网了?一招鲜吃遍天!怎

2020-08-17 13:24:48 253

转载 基于CentOS的OpenStack环境部署(OpenStack安装)

基于CentOS的OpenStack环境部署此课程基于51CTO学院的《openstack零基础入门+企业实战》课程整理而得,课程链接:https://edu.51cto.com/course/20724.html效果展示:在这里插入图片描述在这里插入图片描述环境准备controller节点:6GB4H60GB/30GB/30GBcompute节点6GB4H60G/60Gadmin节点(ceph admin管理节点)2GB4H60GB/6GBOpenStack简介Ope

2020-08-17 09:54:54 351

转载 如何使用Linux系统查看文件的全部内容、修改文件内容以及改变目录(转载)

上一篇文章主要是对文件进行一些管理,本篇主要对文件里面的一些内容进行操作。一、查看文件内容首先使用图形界面,创建一个记事本。并写入大量内容。/root/1.txt1、查看文件里面的全部内容命令:cat 文件名2、翻页查看文件的全部内容命令:more 文件名(小技巧:按空格键整体翻了一页,按回车键一次只增加一行)3、查看文件的头部命令:head 文件名(一般显示头部的前10行。ps:由于我输入的文字较少所以全部显示出来了)命令:head -?(数字) 文件名(数字为几就显示前几行)4、

2020-08-14 13:59:08 439

转载 操作系统形式化验证实践教程(7) - C代码的自动验证(转载)

操作系统形式化验证实践教程(7) - C代码的自动验证上一节教程不知道大家看晕了没有,其实虽然细节很多还没有讲清楚,但是从结构上大家可以看到,其实是很模式化的工作。那么能不能让这个模式化的工作自动化起来,也能降低一点入门的学习门槛?这时就该AutoCorres工具出马了。AutoCorres既然回到人间,不用再看着一排的simp, vcg之类的,咱们的难度又回到第一讲加减法的时代。先实现一个C语言实现加法的函数:unsigned int plus(unsigned int a, unsigned

2020-08-14 10:29:39 447

转载 Vue + Spring Boot 项目实战(二十):前端优化实战(转载)

重要链接:「系列文章目录」「项目源码(GitHub)」前言为什么要写代码?没有钱了,肯定要做啊,不做没有钱用。那你不会更新文章吗,有手有脚的。更新是不可能更新的,这辈子都不可能更新的。文章又不会写,就是用搜索引擎,东拼西凑糊弄一篇这样子。那你觉得加班改需求苦逼还是写文章苦逼?打开 IDE 就像打游戏一样,大年三十都在撸代码,就平时实在拖不下去感觉要凉了,我才勉强写一篇这样子。撸代码的感觉,比写文章好多了!为什么?写文章一个人很无聊,又找不到友仔,友女玩。源码里处处都是绝活儿,注释又好看

2020-08-13 13:21:28 469

转载 FlinkSQL怎么查找到要执行的代码(转载)

写在前面:我是「且听风吟」,目前是一名大数据开发工程师,热爱大数据开源技术,喜欢分享自己的所学所悟,现阶段正在从头梳理大数据体系的知识,以后将会把时间重点放在Spark和Flink上面。如果你也对大数据感兴趣,希望在这个行业一展拳脚。欢迎关注我,我们一起努力,一起学习。博客地址:https://ropledata.blog.csdn.net博客的名字来源于:且听风吟,静待花开。也符合我对技术的看法,想要真正掌握一门技术就需要厚积薄发的毅力,同时保持乐观的心态。你只管努力,剩下的交给时间!在这里插入图

2020-08-13 09:10:29 330

转载 docker安装及环境部署(转载)

关于docker及环境配置一、关于docker二、docker安装三、安装nacos四、安装rabbitmq五、关于容器打包镜像的迁移一、关于docker简介说明:docker官网.镜像网站:docker hub以上的关系有点像maven+mvnrepository的关系。这里为什么使用docker呢?一是在之前的单体应用开发时,只需要关注一个包,其中包含整个系统的服务,而在向分布式看齐后可能会出现N个包管理N个服务的情况发生;第二就是在开发环境的配置到实际的生产环境再去配置一遍真的会很烦

2020-08-12 16:28:02 168

转载 Sentinel与OpenFeign整合实现熔断降级源码分析(转载)

关注 “Java艺术” 我们一起成长!Sentinel无论是实现限流还是熔断降级,其实都是通过适配模块去实现拦截方法的执行,在方法执行之前调用所有ProcessorSlot的entry方法,在方法执行之后所有ProcessorSlot的exit方法,使用责任链模式调用。由StatisticSlot这个ProcessorSlot统计请求信息,由DegradeSlot检查当前请求是否需要熔断,由FlowSlot检查当前请求是否需要限流。StatisticSlot的entry方法将资源当前时间窗口的Bucke

2020-08-12 10:12:11 736

转载 初识spring-boot异步编程@async(转载)

开始首先 spring的官网给出了详细的教程,但是对于比较爱国的大家(以及我)可能看的模模糊糊 官网:spring-async异步编程。优秀的异步编程能使我们系统的响应速度加快用户体验更好比如某宝网的查看商品详情会出现销量数库存数量评价数量…— 开始之前你得已经熟悉了spring-boot开发的流程。第一步:新建一个配置类@EnableAsync // 启用 @Async@Configurationpublic class ExecutorConfig {@Beanpublic Thread

2020-08-11 15:03:54 136

转载 多线程——这些锁策略(乐观悲观锁、读写锁、轻量级重量级锁、公平非公平锁、可重入锁)你知道吗?(转载)

各种锁策略1、乐观锁VS悲观锁2、读写锁3、重量级锁vs轻量级锁.4、挂起等待锁VS自旋锁5、公平锁Vs非公平锁6、可重入锁7、死锁的典型场景8、针对sychronized1、乐观锁VS悲观锁乐观锁: 世界大概率是和平的,多个线程竞争一 把锁的概率会很低.(效率高)悲观锁: 世界大概率是出问题的,多个线程竞争一 把锁的概率会很高,会付出更多的成本来进行锁冲突的处理(更安全)两种想法没有优劣之分,要根据具体场景来进行使用.2、读写锁把加锁操作分成了两种.a)读锁b)写锁读锁和

2020-08-11 13:31:15 132

空空如也

空空如也

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

TA关注的人

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