- Spring事务失效的常见场景
红云梦
springjava数据库
1事务1.1数据库事务作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行1.2事务的四大特性(ACID)原子性(Atomicity):要么成功,要么失败。一个事务内的所有SQL语句同步执行(依靠undo.log日志保证)一致性(Consistency):事务前后总量不变,数据库完整性约束没有被破坏隔离性(Isolation):一个事务执行不被其他事务干扰(锁+MVCC)持久性(Du
- 时序数据库QuestDB在Winform窗体应用
ryan68888
时序数据库
以下是QuestDB在Winform使用的代码://初始化privatevoidInit(){//创建数据库对象(用法和EFDappper一样通过new保证线程安全)SqlSugarClientDb=newSqlSugarClient(newConnectionConfig(){ConnectionString=“host=10.3.5.227;port=8812;username=admin;p
- 基于 MySQL 和 Spring Boot 的在线论坛管理系统设计与实现
城南|阿洋-计算机从小白到大神
mysqlspringboot数据库
markdownCopy✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、pyhton、机器学习技术领域和毕业项目实战✌哈喽兄弟们,好久不见哦~最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,想一想既然放在电脑里面也吃灰,那么还不如分享出去,没准还可以帮助到
- python 底层原理processpoolexecutor_Python 并发编程:PoolExecutor 篇
风投小虾
python
个人笔记,如有疏漏,还请指正。使用多线程(threading)和多进程(multiprocessing)完成常规的并发需求,在启动的时候start、join等步骤不能省,复杂的需要还要用1-2个队列。随着需求越来越复杂,如果没有良好的设计和抽象这部分的功能层次,代码量越多调试的难度就越大。对于需要并发执行、但是对实时性要求不高的任务,我们可以使用concurrent.futures包中的PoolE
- SQL自学:怎么创建视图
m0_74823471
面试学习路线阿里巴巴sql数据库
在SQL中,视图是一种虚拟表,它是基于一个或多个表的查询结果集。视图并不实际存储数据,而是在每次查询时动态生成结果。一、创建视图的语法(以MySQL为例)CREATEVIEWview_nameASSELECTcolumn1,column2,...FROMtable_nameWHEREcondition;view_name:是要创建的视图的名称。column1,column2,...:要在视图中显示
- SQL数据更新
小王Jacky
数据库学习sql数据库
1.插入数据**(1)插入单个元组**--向学生表S插入一条学生记录INSERTINTOS(SNO,SN,SEX,AGE,DEPT)VALUES('S001','张三','男',20,'计算机系');--向选课表SC插入一条选课记录INSERTINTOSC(SNO,CNO,SCORE)VALUES('S001','C001',85);**(2)插入多个元组**--向课程表C插入多条课程记录INSE
- pythontype函数使用_Python astype(np.float)函数使用方法解析
weixin_39870238
pythontype函数使用
Pythonastype(np.float)函数使用方法解析我的数据库如图结构我取了其中的nameagenr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是array阵列的元素全是str,不管数据库定义的是不是int型。那么问题来了,取出的数据代入公式进行计算的时候,就会类型不符,这是就用到astype(np.float)代码如下importpymysqlim
- 如何安全删除MySQL字段?从原理到实战的保姆级指南!
小丁学Java
产品资质管理系统安全mysql数据库
从MyISAM到InnoDB:解锁MySQL在线删除字段的终极指南真实案例:一次失败的DDL操作引发的思考场景复现:某业务表invite_codes需要删除invitor字段,执行以下命令时触发报错:ALTERTABLEinvite_codesDROPCOLUMNinvitor,ALGORITHM=INPLACE;--报错信息:ALGORITHM=INPLACEisnotsupportedfort
- Ubuntu-Server 设置多个ip和多个ipv6 笔记250320
kfepiza
#LinuxCentOSUbuntu等#控制台命令行Shell脚本shcmd等网络通讯传输协议物联ubuntutcp/ip笔记
Ubuntu-Server设置多个ip和多个ipv6在UbuntuServer上为同一网卡配置多个IPv4和IPv6地址,Ubuntu-server-16用的是/etc/network/interfaces配置的networkingUbuntu-server-17.10及更新版本默认用的是systemd-networkd+Netplan,用Netplan来管理systemd-networkd对于U
- mysql与mariadb版本对应_MySQL与MariaDB及各种版本杂谈
weixin_39616416
MySQL1.MySQLCommunityServer社区版本,开源免费,但不提供官方技术支持。(我们通常使用的MySQL版本)2.MySQLEnterpriseEdition企业版本,需付费,可以试用30天。3.MySQLCluster集群版,开源免费。可将几个MySQLServer封装成一个Server。4.MySQLClusterCGE高级集群版,需付费。5.MySQLWorkbench(G
- SQL 错误 [1064] [42000] You have an error in your SQL syntax; check the manual that corresponds to yo
web14786210723
sql数据库
在为用户指定数据的时候,报错了,SQL错误[1064][42000]:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyoGRANTALLPRIVILEGESONjeecg-boot.*TO'jeecgoot'@'%';ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkt
- nginx-部署Python网站项目
skyQAQLinux
pythonlinuxnginx服务器
一、部署Python网站项目实验要求配置Nginx使其可以将动态访问转交给uWSGI安装Python工具及依赖1)拷贝软件到proxy主机[root@server1~]#scp-r/linux-soft/s2/wk/python/192.168.99.5:/root2)安装python依赖软件[root@proxy~]#yum-yinstallgccmakepython3python3-devel
- 使用Docker部署Nacosv2.1.1
九思x
docker容器运维
第一步:拉取镜像dockerpullnacos/nacos-server:v2.1.1作用:从DockerHub拉取Nacos2.1.1官方镜像。第二步:启动容器dockerrun-d\-eMODE=standalone\#单机模式运行-p8848:8848\#HTTPAPI/UI端口-p9848:9848\#gRPC通信端口(客户端-服务端)-p9849:9849\#gRPC通信端口(集群间通信
- MariaDB 和 MySQL 版本关联
java我跟你拼了
数据库笔记mariadbmysql数据库数据库篇版本关联
MariaDB和MySQL是两个常用的关系型数据库管理系统(RDBMS),它们在很多方面非常相似,因为MariaDB是MySQL的一个分支。MariaDB和MySQL之间的版本关联可以通过以下几个方面来理解:1.历史背景MySQL:MySQL是一个开源的数据库管理系统,由MySQLAB开发,后来被SunMicrosystems收购,再之后被Oracle收购。MariaDB:MariaDB是MySQ
- AWS CLI with MinIO Server
库海无涯
aws云计算
1、InstallMinIOServerhttps://min.io/docs/minio/linux/index.htmlCreateAKandSKandrecordinformation.AK:ZYYMPcLi6dSPsDfr5QeWSK:Am3m2qtpkUk2wAgT5dPbpE4hGD2tX7a6RpjsbeEdAndcreateabucketnamedaswtest.2、Install
- 因为mysql 8新的认证插件导致主从复制的IO线程失败
库海无涯
mysql
1、错误信息Last_IO_Error:errorconnectingtomaster'
[email protected]:3306'-retry-time:60retries:1message:Authenticationplugin'caching_sha2_password'reportederror:Authenticationrequiressecureconnection.2、
- MySQL HA的全新篇章:Semisynchronous Replication迁移至InnoDB Cluster的实用指南
库海无涯
MySQLmysql
1、概述临时接了一个搭建InnoDBCluster的活儿,客户给我说是有数据的,我当时想这不是非常简单吗?干活儿的时候,才发现并没有这么简单,接手的时候发现是SemisynchronousReplication的环境,然后把从库切换成InnoDBCluster的primary。2、环境复现2.1、从库5.140信息采集mysql>showreplicastatus\G***************
- Windows Server 2025 使用 IIS 搭建 ASP.NET 3.5 网站
少湖说
编程实践asp.netwindows
开启远程桌面参考文章Windowsserver开启远程桌面教程打开服务管理器。ECS配置安全组,开启3389Telnet验证网络联通性telnetx.x.x.x338安装WindowsApp,登录验证安装ASP.NET3.51.参考文章WindowsServer2012安装.NETFramework3.5和WindowsServer2012上安装.NETFramework3.5打开服务器管理器,选
- 7种数据结构
就很对
数据结构windows
7种数据结构顺序表sqlite.hseqlite.c单链表linklist.clinklist.h双链表doulinklist.cdoulinklist.h链式栈linkstack.clinkstack.h队列SeqQueue.cSeqQueue.h树tree.c哈希表hash.c顺序表sqlite.h#ifndef__SEQLIST_H__#define__SEQLIST_H__typedefs
- docker 内容器访问另一个容器中的服务
docker容器网络
docker中有两个容器,分别名为mq和hyperf,想在hyperf中访问mq可以使用下面的方法1.创建网络dockernetworkcreatemynetwork2.将使用到的容器(如业务容器,mysql,redis,mq等容器)都加入到网络中dockernetworkconnectmynetworkhyperfdockernetworkconnectmynetworkmqdockernetw
- 使用Docker部署MySQL8.0.29
九思x
docker
第一步:拉取镜像dockerpullmysql:8.0.29作用:从DockerHub拉取MySQL8.0.29官方镜像。第二步:启动容器dockerrun--nameshare_mysql\--restart=always\-vmysql-data:/var/lib/mysql\-p3306:3306\-eMYSQL_ROOT_PASSWORD=root\-dmysql:8.0.29参数说明:-
- 在macOS上使用镜像文件制作安装系统U盘
YaeSaraki
macos
在macOS上制作安装系统U盘1:下载ISO文件确保您已经下载了所需的ISO文件。例如,文件名可能是ubuntu-22.04-live-server-amd64.iso。2:插入USB驱动器将您希望用来创建安装U盘的USB驱动器插入到您的macOS电脑中。3:找到USB驱动器的设备路径打开终端应用程序(您可以在Applications>Utilities中找到它)。运行以下命令以列出所有存储设备:
- 宝塔安装mayfly-go
mayans005
数据库
mayfly-go:web版linux(终端文件脚本进程)、数据库(mysqlpgsql)、redis(单机哨兵集群)、mongo统一管理操作平台。1、终端执行命令下载程序包wgethttps://gitee.com/objs/mayfly-go/releases/download/v1.3.0/mayfly-go-linux-amd64.zip2、在宝塔新建一个MySQL数据库,将下载程序包中的
- 开源项目推荐:Mayfly-go
周风队
开源项目推荐:Mayfly-gomayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-goMayfly-go是一个基于浏览器的统一管理操作平台,它支持多种数据库和系统管理功能。该项目主要使用Go语言和前端框架
- 推荐项目:Mayfly-Go - 高性能的时间序列数据库
齐游菊Rosemary
推荐项目:Mayfly-Go-高性能的时间序列数据库mayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-go项目简介是一款由Dromara团队开发的高性能、轻量级时间序列数据库(TimeSeriesData
- Mayfly-Go 开源项目教程
方蕾嫒Falcon
Mayfly-Go开源项目教程mayfly-goweb版linux(终端文件脚本进程)、数据库(mysqlpgsql高斯达梦)、redis(单机哨兵集群)、mongo统一管理操作平台。项目地址:https://gitcode.com/gh_mirrors/ma/mayfly-go项目介绍Mayfly-Go是一个基于Go语言开发的开源项目,旨在提供一个轻量级、高性能的微服务框架。该项目由Dromar
- 记录一次truncate导致MySQL夯住的故障
猿小喵
MySQL#故障诊断与恢复#备份恢复mysql数据库
目录环境信息:故障描述:处理过程:原理分析:showprocesslist结果中的systemlock含义:truncate原理:1.TRUNCATE的执行流程2、TRUNCATE表导致数据库夯住的原因3、TRUNCATE表导致数据库夯住的解决方案4、killTRUNCATE语句失败后,主从数据不一致的原因:5、为什么TRUNCATETABLEusers会影响其他表的SQL6、为什么KILL语句无
- 《MySQL 入门教程》第 30 篇 数据库索引
不剪发的Tony老师
MySQL入门教程mysql索引createindexdropindex
文章目录30.1创建索引30.2查看索引30.3修改索引30.4删除索引数据库索引(Index)就像书籍后面的关键字索引,按照关键字进行排序,并且提供了指向具体内容的页码。索引可以用于提高数据库的查询性能;但是索引需要占用额外的磁盘空间,修改数据时也需要进行索引的维护。了解并适当利用索引对于数据库的优化至关重要,本篇我们介绍MySQL索引的管理。关于B-树索引的原理以及利用索引优化SQL语句的详细
- Apache大数据旭哥优选大数据选题
Apache大数据旭
大数据定制选题javahadoopspark开发语言ideahive数据库架构
定制旭哥服务,一对一,无中介包安装+答疑+售后态度和技术都很重要定制按需求做要求不高就实惠一点定制需提前沟通好怎么做,这样才能避免不必要的麻烦python、flask、Django、mapreduce、mysqljava、springboot、vue、echarts、hadoop、spark、hive、hbase、flink、SparkStreaming、kafka、flume、sqoop分析+推
- 青少年编程与数学 02-011 MySQL数据库应用 10课题、记录的操作
明月看潮生
编程与数学第02阶段数据库青少年编程mysql编程与数学
青少年编程与数学02-011MySQL数据库应用10课题、记录的操作一、表的记录表的记录的组成示例插入记录查看记录记录的操作1.插入记录(INSERT)2.更新记录(UPDATE)3.删除记录(DELETE)4.查询记录(SELECT)记录的约束示例:带约束的表总结二、添加记录1.插入单条记录插入单条记录2.插入多条记录插入多条记录3.插入部分字段插入部分字段4.插入查询结果插入查询结果5.插入时
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D