- Maven匹配机制和仓库库设置
堕落年代
Mavenmavenjava
Maven镜像匹配机制解析在Maven的settings.xml配置中,镜像()的访问顺序不直接由配置文件中的书写顺序决定,而是遵循以下规则:一、镜像匹配优先级规则精确匹配优先Maven优先选择范围最小的镜像。例如:aliyuncentralhttps://maven.aliyun.com/repository/publicall*http://backup-repo.com当请求central仓
- oracle rman 00571,rman备份报RMAN-00571、RMAN-00569、RMAN-03009
weixin_39864571
oraclerman00571
rman备份时报错信息:RMAN-03009:failureofbackupcommandonORA_DISK_1channelat07/03/201210:35:17ORA-19809:limitexceededforrecoveryfilesORA-19804:cannotreclaim52428800bytesdiskspacefrom2147483648limitRMAN-00571:==
- RMAN备份数据库_使用RMAN备份归档redo日志
数语数行
Oracle备份与恢复Oracle数据库archivelogrmanbackup归档日志
归档redo日志是成功进行介质恢复的关键,应该定期备份它们。本节主要是介绍非CDB(noncontainerdatabase)也即是非容器数据库的归档redo日志备份。容器数据库的归档redo日志备份请参考官方手册。1.关于非CDB的归档redo日志备份RMAN备份的几个特性是归档redo日志特有的。例如,可以使用BACKUP…DELETE在备份到备份集之后从磁盘中删除一个或所有归档redo日志拷
- 关于STP、RSTP、MSTP协议的常见面试问题
他不爱吃香菜
网络协议网络面试解答面试职场和发展
1.STP、RSTP、MSTP的主要区别是什么?STP(802.1D):功能:防二层环路,收敛慢(30-50秒)。端口状态:5种(Blocking、Listening、Learning、Forwarding等)。负载均衡:不支持,所有VLAN共享一棵树。RSTP(802.1w):改进点:收敛时间缩短至1-3秒。端口角色:新增Alternate/Backup端口。状态简化:3种状态(Discardi
- Linux 服务器日常维护清单,运维必备!
linux运维
Linux服务器作为众多应用程序和服务的主干,需要定期维护以保证其安全性、效率和寿命。对于系统管理员来说,这看起来就像一项艰巨的任务。本文介绍了一个全面的检查表,以指导系统管理员有效地维护Linux服务器。LinuxServerMaintenanceChecklist:(1)Backups确保自动备份正常运行验证备份数据完整性通过在测试环境中还原备份来定期测试备份(2)UpdatesandPatc
- 基于AT89C52单片机的停车场车位管理系统
七月小卖铺
单片机单片机嵌入式硬件
点击链接获取Keil源码与ProjectBackups仿真图:https://download.csdn.net/download/qq_64505944/90441636?spm=1001.2014.3001.5501C+18部分参考设计如下:摘要随着科技的快速发展,交通工具的普及程度和汽车保有量的急剧增加,停车难题已经成为全球范围内的共同挑战。特别是在城市化进程不断加快的背景下,传统的人工停车
- 经典SQL查询语句大全
小崔不闹
数据库sqloracle
一、基础1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEp
- Elasticsearch 集群快照的定期备份设置指南
碧水澜庭
运维管理类工具elasticsearch运维
Elasticsearch集群快照的定期备份设置指南概述快照:在给定时刻对整个集群或者单个索引进行备份,以便在之后出现故障时可以基于之前备份的快照进行快速恢复。前提条件:准备一个备份存储盘,本指南采用的是AWSEFS文件系统做为备份盘一、挂载集群备份存储路径在Elasticsearch集群的每一个节点上,执行以下操作创建基础目录:mkdir/es-backup-warehouse此目录将作为挂载点
- NAKIVO Backup & Replication任意文件读取漏洞(CVE-2024-48248)
iSee857
漏洞复现安全web安全
免责申明:本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。0x01产品描述:NAKIVOBackup&Replication是一款快速、经济实惠且一流的备份和灾难恢复解决方案,适用于VMwarevSphere
- SpringBoot备份神通数据库
松岛的枫叶
springboot数据库后端
SpringBoot备份神通数据库····直接上代码···publicStringbackupOsrdb(){//构建命令Listcommand=newArrayList<>();command.add("osrexp");command.add("-u");command.add("SYSDBA"+"/"+"szoscar55");//用户名/密码command.add("-d");comman
- 2025 MENC加密系统源码 V2.4.0
会说源码
数据库
MENC加密系统V2.4.0更新日志本次更新全面优化功能与性能,为您提供更加高效、安全的加密服务体验:此版本为无限加密授权版本,可修改数据库进行数据更改,功能正常使用,后门未详仅用于测试未对授权进行破解。1.新增SQL一键备份功能数据备份更高效,操作更便捷,显著提升管理体验。使用方法:访问站点域名/sql/backup?key=密钥,密钥可在系统目录根目录的.env文件中设置。备份文件默认存储在系
- 【YashanDB 知识库】YCP 高可用部署离线升级 -rpc 升级详细步骤
数据库rpc
以23.2.4.100版本升级到23.2.11.100版本为例升级前先对YCP主备节点执行备份1、主节点执行/opt/ycm/ycm/scripts/backup.sh-nycm-i/opt/ycm/ycm-cyashandb-y/data1/dugg/yasdb_home/yashandb/23.2.2.100--cata-log/data1/dugg/yasdb_home/yashandb/2
- mysql innodb数据页损坏Database page corruption on disk or a failed file read of page
Alex_z0897
数据库mysql
mysql_1|2025-01-16T08:43:10.095490Z25[ERROR]InnoDB:Databasepagecorruptionondiskorafailedfilereadofpage[pageid:space=174,pagenumber=5238].Youmayhavetorecoverfromabackup.mysql_1|2025-01-16T08:43:10.0955
- 亲测centos7安装docker可用
a4132447
云原生dockerlinux运维
1.配置yum下载源为aliyun源yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo备份当前的yum源mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup下载新的Ce
- ospfdr选举规则_OSPF中DR和BDR的选举原则和注意事项
等我想好名字先
ospfdr选举规则
DR和BDR的选举原则:1、广播网络或NBMA类型的网络需要选举指定路由器DR(DesignatedRouter)和备份指定路由器BDR(BackupDesignatedRouter);2、路由器接口的优先级Priority将影响接口在选举DR时所具有的资格。优先级为0的路由器不会被选举为DR或BDR;3、DR由本网段中所有路由器共同选举。Priority大于0的路由器都可作为“候选者”,选票就是
- RK3588 ubuntu20.04 换源 aarch64源
苏三福
ubuntu
备份sudocp/etc/apt/sources.list/etc/apt/sources.list.backup编辑sudovim/etc/apt/sources.list拷贝一下:debhttps://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/focalmainrestricteduniversemultiversedeb-srchttps://mir
- SQL 语句大全
m0_74823827
sql数据库
1.基础1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSE?masterEXECsp_addumpdevice?'disk',?'testBack',?'c:mssql7backupMyNwind_1.dat'---开始备份BACKUP?DATABA
- 推荐开源备份神器:BackupPC,企业级数据守护者
徐耘馨
推荐开源备份神器:BackupPC,企业级数据守护者项目地址:https://gitcode.com/gh_mirrors/ba/backuppc在数字时代,数据如同企业的生命线,重要性不言而喻。为了保障这份“生命线”的安全,今天我们来探讨一个高效且成熟的备份解决方案——BackupPC。项目介绍BackupPC是一款基于Perl编写的高性价比企业级备份系统,专为Linux、Windows和Mac
- PC端微信的文件夹都是些什么
宇宙第一小趴菜
Windows使用技巧微信
目录Windows微信文件wxid_xxxxxxxxxxxx(账号数据)AllUsers(头像和登录信息)Applet(小程序文件)FileStorage(聊天文件)Msg(数据存储文件)ResUpdateV2(压缩包)config(配置文件)BackupFiles(手机微信备份)Backup(一般为空)Applet(小程序数据)Cache(小程序、公众号、视频号图片缓存)CustomEmotio
- Java实现SQLite数据库克隆
行云斡
Java实战演练数据库javasqlite
Java实现SQLite数据库克隆题目要求过程整理分步实现完整代码改进空间转载请注明出处题目要求Writeaprogram(inJavaandusingJDBC)thatclonesaSQLitedatabaseandproducesatextual“backup”ofthecontents.ThistextualbackupshouldconsistofSQLstatementsthatwill
- android最佳分区方案,高通Android分区表详解
Android 2012
android最佳分区方案
ModemPartitionformodemFscCookiepartitiontostoreModemFileSystem’scookies.SsdPartitionforssddiagmodule.storestheencryptedRSAkeysSbl1PartitionforsecondarybootloaderSbl1bakBackupPartitionforsecondarybootl
- gitblit如何迁移入gitlab合并迁移_最新gitlab备份迁移方案
虫啊啊
起因由于服务器到期需要迁移git服务器到另外的一台上。方案使用官方迁移方案解决(一个很深的坑,网上有写方案是只是用低版本的,大家最好去官方获取最新的迁移方式。)步骤(我用的是docker)迁移文档在gitlab地址https://..**/help/raketasks/backup_restore.md1.备份dockerexec-tgitlab-backupcreate输出样例2020-10-1
- centos7.6 挂载镜像配置本地yum源
抹泪写bug的小蜗牛
测试centoslinuxdocker服务器运维
镜像下载http://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/配置本地yum源1、安装Centos后默认的Yum源如下[root@localhost~]#ll/etc/yum.repos.d/#查看当前yum源2、备份YUM源文件(可选)[root@localhost~]#mkdir/opt/backup#创建backup目录[ro
- 【oracle 学习路线图】
Larry Chow
Oracle数据库入门
【oracle学习路线图】来源:https://www.cnblogs.com/tango-dg/p/3771768.html初级阶段:可以从OCP教材开始,还有文档中的Administrator'sGuide、Concepts、PerformanceTuningGuide、BackupandRecoveryAdvancedUser'sGuide、BackupandRecoveryBasics。特
- pgBackRest 是专为 PostgreSQL 设计的开源备份与恢复工具,以其高性能、可靠性和灵活性著称
zxrhhm
postgresql开源数据库
pgBackRest是专为PostgreSQL设计的开源备份与恢复工具,以其高性能、可靠性和灵活性著称。它支持全量备份、增量备份、并行备份/恢复和加密等特性,适用于大规模数据库和关键业务场景。以下是其核心功能及操作指南:一、pgBackRest核心特性多种备份类型全量备份(FullBackup):完整备份数据库集群。差异备份(DifferentialBackup):仅备份自上次全量备份后的变化。增
- Chapter 3-2. Detecting Congestion in Fibre Channel Fabrics
mounter625
Linuxkernel网络tcp/ip网络协议服务器运维
TimeofCongestionEventsDetectingthetimeofcongestionhelpsincorrelatingitwithothereventssuchasascheduledbackupjobonavirtualizedserver,increasedactivityduringpeakbusinesshours,orchangestoapplicationbehavi
- Linux防护与群集第七到九章
琴剑诗酒
linux
一、keepalive作用1.支持故障自动切换2.支持健康检查3.专为lvs和ha设计的健康检查工具二.vrrp:虚拟路由冗余协议1.hsrp:cisco私有2.vrrp:公有工作在网路层三、keepalived配置1.主从:除router_id、state、priority其余都一样2.主:master备用:backuppost与get区别get:1.内容直接附着在url中2.适合传输表单内容少
- 解决centos8安装后不能使用yum的问题
AquaPluto
centoslinux
安装了centos8之后,使用yum命令安装软件时时,系统会提示Error:Failedtodownloadmetadataforrepo‘AppStream’…原因是CentOS8将不再从官方CentOS项目获得开发资源。需要更改镜像资源,有两种解决方法如下第一种方法:1.创建一个备份目录mkdir/etc/yum.repos.d/backup2.将/etc/yum.repos.d下所有的文件转
- MySQL面试题----如何进行 MySQL 数据库备份与恢复
指尖下的技术
Java面试题mysql
MySQL数据库备份1.使用mysqldump工具(逻辑备份)全量数据库备份该方式会备份指定数据库中的所有数据和表结构。在命令行中输入以下命令,将username替换为你的MySQL用户名,password替换为对应的密码,database_name替换为要备份的数据库名,backup.sql为备份文件的名称。mysqldump-uusername-ppassworddatabase_name>b
- 系统管理员资源大全
lwx2615
运维工具
备份备份软件Amanda-客户端-服务器模型备份工具Bacula-另一个客户端-服务器模型备份工具Backupninja-轻量级,可扩展的元数据备份系统Backuppc-客户端-服务器模型备份工具和文件共享方案。Burp-网络备份和还原程序Duplicity-使用rsync算法加密的带宽-效率备份Lsyncd-监控一个本地目录树的变化,然后产生一个进程去同步变化。默认使用rsync。Rsnapsh
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,