- 【OpenCV】官方文档学习,库的命名冲突处理办法【声明命名空间】
深耕AI
opencv学习人工智能
原文:SomeofthecurrentorfutureOpenCVexternalnamesmayconflictwithSTLorotherlibraries.Inthiscase,useexplicitnamespacespecifierstoresolvethenameconflicts:Mata(100,100,CV_32F);randu(a,Scalar::all(1),Scalar::
- Java 入门指南:Java 并发编程 —— 同步工具类 Semephore(信号量)
ZachOn1y
Javajava开发语言intellij-idea个人开发团队开发java-ee
文章目录同步工具类Semephore核心功能限制并发访问量公平与非公平策略灵活性与适应性常用方法使用示例同步工具类JUC(Java.util.concurrent)是Java提供的用于并发编程的工具类库,其中包含了一些通信工具类,用于在多个线程之间进行协调和通信,特别是在多线程和网络通信方面。这些工具类提供了丰富的功能,帮助开发者高效地实现复杂的并发控制和网络通信需求。SemephoreSemap
- Java 入门指南:Java 并发编程 —— 同步工具类 CountDownLatch(倒计时门闩)
ZachOn1y
Javajava后端个人开发java-ee团队开发
文章目录同步工具类CountDownLatch常用方法使用步骤适用场景使用示例同步工具类JUC(Java.util.concurrent)是Java提供的用于并发编程的工具类库,其中包含了一些通信工具类,用于在多个线程之间进行协调和通信,特别是在多线程和网络通信方面。这些工具类提供了丰富的功能,帮助开发者高效地实现复杂的并发控制和网络通信需求。CountDownLatchCountDownLatc
- 北海的ScalersTalk第六轮新概念朗读持续力训练Day 50 20210219
北海逍遙
练习材料L18-1:Electriccurrentsinmodernart/ɪˈlɛktrɪk//ˈkʌrənts//ɪn//ˈmɒdən//ɑːt/Modernsculpturerarelysurprisesusanymore.Theideathat/ˈmɒdən//ˈskʌlpʧə//ˈreəli//səˈpraɪzɪz//ʌs//ˈɛni//mɔː.//ði//aɪˈdɪə//ðæt/mod
- Go gin使用命令安装失败原因,及解决方法
大龄Python青年
golanggin开发语言
Gogin使用命令安装失败明明使用的是golang中的web框架gin文档中的命令来安装gin的,而且是直接复制的,可是为什么会安装失败,并且会提示go:go.modfilenotfoundincurrentdirectoryoranyparentdirectory.这是什么意思呢?大概意思是在当前的工作目录或任一上一级的目录中都没有go.mod文件。goget-ugithub.com/gin-g
- uniapp媒体
小汤猿人类
uni-app媒体
uni.previewImage实现图片放大预览//图片预览函数functiononPreview(index){//收集所有图片的urlvarurls=pets.value.data.map(item=>item.url)//预览图片uni.previewImage({current:index,//当前预览的图片索引urls:urls//所有图片的url数组})}
- IBM MQ 通道状态
yangkei
通道MQMQIBMMQ
通道可以随时处于多种状态之一。一些状态也有子状态。通道可以从给定状态移动到其他状态。下图显示了所有可能的通道状态的层次结构以及适用于每个通道状态的子状态。Figure1通道状态之间的流动Figure2CurrentandactiveAchanneliscurrentifitisinanystateotherthaninactive.Acurrentchannelisactiveunlessitis
- 个人笔记--python代码--储存数据
pdc31czy
个人笔记Pythonpython笔记
1.存储Error(txt文件)importnumpyasnp#Errorerror_u=np.linalg.norm(exact_u_current-predict_np_u,2)/np.linalg.norm(exact_u_current,2)error_v=np.linalg.norm(exact_v_current-predict_np_v,2)/np.linalg.norm(exact
- android 下载txt,Android 下载文件(使用OKHttp)
weixin_39942492
android下载txt
finallongstartTime=System.currentTimeMillis();OkHttpClientokHttpClient=newOkHttpClient();Requestrequest=newRequest.Builder().url(url).addHeader("Connection","close").build();okHttpClient.newCall(reque
- XCode里的Run,Test,Profile,Analyze
_compass
点击XCode中左上角三角符号,此符号的作用是:Buildandthenrunthecurrentscheme.Run,Test,Profile,Analyze的区别是:•Runwillbuildandrunthetargetontheselecteddeviceorsimulator.•Testwillbuildyourtargetandrunitsunittests(YourTargetNam
- log4j 1.x 日志输出线程以唯一ID的形式配置
&loopy&
log4j单元测试
在Log4j1.x中,直接以线程ID(如Java中的Thread.currentThread().getId()返回的ID)的形式记录日志是可行的,但Log4j1.x本身并不直接提供一个内建的、自动将每个线程ID转换为“同一时间段内唯一ID”的机制。线程ID本身在JVM的上下文中就是唯一的(直到它被回收并重用,但这种情况在大多数应用中很罕见),但它不是跨JVM或跨系统唯一的。如果你的需求是确保即使
- 微信小程序简易弹幕组件(uniapp)
Vivqst
微信小程序uni-appjavascript
最终效果图如下:1.弹幕从弹幕区域外的右边滚动到左边,那么每条弹幕的实际滚动路径长度为当前弹幕的实际宽度+整个弹幕区域的宽度组件代码如下:{{item.text}}{{currentBullet}}2.本例中弹幕区域的宽度为当前屏幕的宽度。弹幕的滚动效果使用css3的animation实现,使用translateX来实现水平位移的变化。弹幕使用绝对定位初始时在屏幕的最左边(left:0),动画开始
- web文件下载,路径或文件名中文乱码
yuanliyin
webjava
/***附件下载*@paramdlPath文件绝对路径*@throwsException*/publicvoiddl(StringdlFilePath)throwsException{FacesContextcontext=FacesContext.getCurrentInstance();HttpServletResponseresponse=(HttpServletResponse)conte
- python如何加速计算密集型任务?
老歌老听老掉牙
python计算
问题描述:在python中,有一个函数,其功能是进行某种计算,需要传入一些参数,计算完成后传回结果,调用其一次大概要1s的时间,现在需要通过for循环调用其350次,保存每次调用结果(可能是合并成一个列表),这个过程大概需要半小时左右,如何加速该代码?方法:为了加速在Python中重复调用一个计算密集型函数的过程,可以采用以下策略:多线程或多进程:使用concurrent.futures模块中的T
- 微信小程序获取上一个页面的参数
烂笔头儿@
小程序微信小程序
使用wx.navigateBack设置上一页面参数letpages=getCurrentPages();//获取当前页面js里面的pages里的所有信息。letprevPage=pages[pages.length-2];//prevPage是获取上一个页面的js里面的pages的所有信息。-2是上一个页面,-3是上上个页面以此类推。prevPage.setData({//将我们想要传递的参数在这
- Java面试题--JVM大厂篇之高并发Java应用的秘密武器:深入剖析GC优化实战案例
青云交
Java大厂面试题Java虚拟机(JVM)专栏Javajavajvm不同场景中优化CMSGC高并发Java应用的秘密武器CMSGC电商实战优化案例CMSGC大数据优化案例CMSGC金融系统优化案例
引言:晚上好,Java开发者们!在高并发的现代应用中,垃圾回收器(GC)是Java性能优化的重要环节。尤其在CMS(ConcurrentMark-Sweep)GC曾经担任主角的日子里,适当的调优和优化措施至关重要。本篇文章将通过三个实际案例,探讨如何在不同场景中优化CMSGC,为你揭示Java性能调优的秘密。vQingYunJiao,无论你是新手还是资深工程师,希望这篇文章能为你提供实践中的宝贵经
- 使用CountDownLatch线程同步工具等待其它线程执行完毕之后再执行
CodeMaster_37714848
java
CountDownLatch是Java中的一个线程同步工具,它属于java.util.concurrent包。它用于在一个或多个线程等待其他线程完成一组操作的场景中。常见的使用场景包括:在主线程中等待多个工作线程完成某些初始化操作在多个线程之间协调某些操作的顺序CountDownLatch的工作原理如下:初始化:在创建CountDownLatch对象时,指定一个初始计数值。等待:一个或多个线程调用
- Qt 框架中的一个容器小部件QStackedWidget的基本使用
暴躁茹
qt进阶编程qt开发语言
QStackedWidget是Qt框架中的一个容器小部件,它允许你将多个子小部件(通常是QWidget对象)堆叠起来,但是每次只能显示其中一个。它类似于一个标签页式的界面,用户可以通过点击不同的标签来切换显示不同的内容。1.基本概念以下是一些关于QStackedWidget的关键点:属性currentIndex:当前显示的子小部件的索引。count:QStackedWidget中包含的子小部件的数
- JedisUtils 对jedis的封装 and RedisCacheManager 管理多个连接池
潘多编程
Redisredis
RedisCacheManagerimportjava.util.concurrent.ConcurrentHashMap;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Service;importredis.clients.jedis.Jedis;impo
- Android 面试题——如何徒手写一个非阻塞线程安全队列 ConcurrentLinkedQueue?_android concurrentlinkedqueue
2401_84265972
程序员android安全
队列容器设计若用数组作为队列的容器,就必须得加锁,因为数组是一块连续内存地址,多线程场景下,读写同一块内存地址不得不互斥地访问。链式结构链式结构就没有这个烦恼。链的每个结点都对应不同的内存地址,在多线程场景下,取头结点和插尾结点就不存在并发问题。(至少是降低了并发问题产生的概率)通用的队列应该可存放任何类型的元素。综上,就得声明一个带泛型的链结点://结点privatestaticclassNod
- Element-ui设置table 选中某行高亮自定义背景色
iOS_MingXing
uielementui
Element-ui设置table选中某行高亮自定义背景色在el-table标签中添加单选highlight-current-row在style中设置颜色/*设置当前页面element全局table选中某行时的背景色*/.el-table__bodytr.current-row>td{background-color:#69A8EA!important;color:#fff;}
- Java集合中fail-fast和fail-safe机制详解
橡 皮 人
Java集合java集合的fail机制
在使用集合时候,大家应该都遇到过或听过并发修改异常(ConcurrentModificationException),这其实是Java集合中的一种fail-fast机制,为了避免触发fail-fast机制,Java中还提供了一些采用fail-safe机制设计的集合类,本篇文章就系统的介绍一下这两种机制。一、fail-fast机制1.1什么是fail-fast机制简单的说,这就是系统设计的一种理念,
- 达梦数据库:获取建表SQL、创建索引SQL、DBMS_METADATA.GET_DDL
天黑请闭眼
第三方对接数据库
目录简介SQL简介对接达梦数据库,程序需要根据日期自动创建数据库表,本篇记录自动创建表需要用到的相关SQLSQL取建表SQLSELECTDBMS_METADATA.GET_DDL('Table','表名',SYS_CONTEXT('userenv','current_schema'))FROMDUAL;取表索引列表selectINDEX_NAME,INDEX_TYPE,TABLE_NAMEfrom
- 学习大数据DAY14 PLSQL基础语法3
工科小石头
大数据培训学习sql大数据oracle
目录二重循环三种循环随便嵌套exitcontinuereturn作业数据提取游标隐式游标显示游标动态游标游标使用流程游标属性游标配合循环使用示例作业2参数游标currentof语句作业3PLSQL基础语法(三)二重循环三种循环随便嵌套beginfornin1..10loopdbms_output.put_line(n);forjin1..5loopdbms_output.put('*');endl
- 2024春招面试题:Java并发相关知识_threadlocal经典的应 场景就是连接管理
2401_84182824
程序员java面试jvm
//程序运行时,有主线程和垃圾回收线程也在运行。如果超过2个线程在运行,那就说明上面的20个线程还有没执行完的,就需要等待while(Thread.activeCount()>2){Thread.currentThread().getThreadGroup().activeCount();Thread.yield();//交出CPU执行权}System.out.println("number值加了
- Linux脚本实现自动化运维:系统自动备份、资源监控
人生在勤,不索何获-白大侠
运维linux自动化
1、系统自动备份目的:将重要应用备份到别的机器上脚本实例:#!/bin/bash#定义变量app_user=待备份应用的服务器用户名app_passwd=待备份应用的服务器密码app_ip=待备份应用的服务器IPBASE_PATH='/data/inspur_bak'TODAY_DATE=`date+\%Y\%m\%d`CURRENT_PATH=${BASE_PATH}/${TODAY_DATE}
- Unity协程和C#迭代器的关系
qq_39260270
unityunityc#游戏引擎
从本质上来说Unity中的协程就是利用了C#中迭代器的特性IEnumeratorIEnumerator定义了一个适用于任何集合的迭代方式。也就是说只要一个集合实现了IEnumerator,那么就可以通过IEnumerator迭代其中的元素。IEnumerator的定义如下:publicinterfaceIEnumerator{objectCurrent{get;}boolMoveNext();vo
- java高并发程序设计-锁的优化
fantasyYan2
java高并发程序设计javajvmjava多线程锁优化CAS
如何提高锁的性能减少锁持有时间即对类似如下的方法publicsynchronizedvoidsync(){a();//其实只有b需要同步处理b();c();}改进为publicvoidsync(){a();synchronized(this){b();}c();}从而减少锁的持有时间减少锁粒度如ConcurrentHashMap内部分成若干个小的HashMap,每个HashMap加不同的锁读写分离
- synchronized和Lock有什么区别?用新的Lock有什么好处?
Shaw_Young
原始构成synchronized是关键字属于JVM层面monitorenter(底层是通过monitor对象来完成的)monitorexitLock是具体类(java.util.current.locks.Lock)是api层面的锁使用方法synchronized不需要用户去手动释放锁,当synchronized代码执行完后系统会自动让线程释放对锁的占用ReentrantLock则需要用户去手动释
- CloudCompare操作(某一指定要素按照PointSourceID分类)
喵喵不爱吃鱼
工具使用
CloudCompare操作(指定强度值点云按照PointSourceID分类)以实标线为例:强度值31、首先将点云按照Intensity显示Properties->Active:IntensityCurrent:Blue->Green…2、截取实标线菜单栏:Edit->Scalarfields->FilterByValue:3-43、截取的实标线点云按照PointSourceID显示,再使用Po
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数