- 在Spring Boot项目中使用Redisson实现延迟执行
田猿笔记
springbootspringbootjava
提供一个完整的示例,演示如何在SpringBoot项目中使用Redisson实现延迟执行。1.添加Redisson依赖:在你的`pom.xml`文件中添加Redisson的依赖: org.redisson redisson-spring-boot-starter 3.16.42.配置Redisson:在`application.properties`或`application.yml`文件中配置R
- 每日一题之(多态 )三 学习java
座山雕~
学习java
重要的几句话:(1)一个对象的编译类型和运行类型可以不一致如:Dog类是Anlimal的子类,Animalanimal=newDog();(2)编译类型在定义对象时,就确定了,不能改变。如:一旦创建,Animal就是编译类型,不会在改变Animalanimal=newDog();(3)运行类型是可以改变的如:此时,编译类型仍然是Animal,运行类型就从Dog变成Cat。Animalanimal=
- 2025年计算机工程与大数据应用国际会议(CEBDA 2025)
Yangxshy
EI会议大数据
2025年计算机工程与大数据应用国际会议2025InternationalConferenceonComputerEngineeringandBigDataApplications大会信息会议名称:2025年计算机工程与大数据应用国际会议会议简称:CEBDA2025收录检索:提交EiCompendex,CPCI,CNKI,GoogleScholar等大会地点:中国·北京审稿通知:投稿后2-3日内通
- 【YashanDB 知识库】jdbc 查询 st_geometry 类型的数据时 异常
数据库
问题现象某客户的业务在通过YashanDBjdbc驱动查询含有st_geometry列的数据时,报如下异常:YAS-00101cannotallocate0bytesforanlHeapMalloc问题的风险及影响影响客户的正常业务运行问题影响的版本所有的YashanDB版本问题发生原因数据库用户没有对st_geometry类型的execute权限。解决方法及规避方式为数据库用户赋权:grante
- Vue3+ts 封装一个 tab标签页组件
阿丽塔~
vue.js前端javascript
前言:在写项目的时候,用到了element-plus,在这个项目中需要使用tabs组件,但是使用element-plus的tab组件来满足项目中的tab样式,有的时候会有点麻烦,且自己也想动手试试封装一个tab组件,于是,开干!!最终效果图:这里面的选中下横线用的是绝对定位.indicator{position:absolute;bottom:0;height:2px;background-col
- Vue3 文件下载方法
深度视觉机器
NodeJS语言javascriptvue.js前端
文件下载方式1.window.location.href方式注意:文件名称为中文时要使用encodeURI转码;下载文件格式为图片或txt时文件会直接打开;下文中${url}表示接口地址根据文件名下载:window.location.href=`${url}/文件名.xlsx`;文件名有中文:window.location.href=`${url}/${encodeURI("文件名.xlsx")}
- mysql的常用内置函数
一个人在码代码的章鱼
mysqlmysql数据库
目录字符串函数:数值函数:日期和时间函数:流程控制函数:字符串函数:CONCAT(s1,s2,s3....):用于将多个字符串连接成一个字符串。示例:SELECTCONCAT('Hello','','World');会返回HelloWorld。SUBSTRING(str,start,length):从字符串str中提取子字符串,start表示起始位置,length表示要提取的长度(可选)。示例:S
- 采用TypeHandler对隐私数据自动加解密
皮克斯的进化之路
tomcatjava开发语言
前言当我们写项目的时候,要对隐私数据进行加密和解密操作,可以不用每次都手动去写加密解密的代码,可以用Mybatis的TypeHandler来解决。TypeHandler具体意思就是,当我们处理某些特定字段时,可以在这个类里面实现一些方法,让Mybatis遇到这些特定字段可以自动运行处理。(不过使用之前要在application.properties文件里面加一个配置:mybatis.type-ha
- 渗透小记--Docker Registry未授权访问
瘾大侠
web安全
在俺的日常工作中,发现了一处有意思的漏洞,所以在此做一个记录。但是我不想泄露公司秘密,不想吃牢饭,所以只能以比较抽象的方式来记录过程了,望各位见谅。自动操作手法nmap就能很好的发现,但是俺是通过ffuf到的。1.nmap扫描端口DockerRegistry(API:2.02.尝试访问http://:/v2/_catalog,如果你没有被401拒绝,那么恭喜他,他中招了。3.使用drg.py获取所
- Mac上传Oss命令
看起来不那么蠢的昵称
macos
-k,--access-key-secret=访问oss使用的AccessKeySecret(该选项值会覆盖配置文件中的相应设置)。--item=表示命令的功能类型,取值为LOCATION、PROGRESS等--bigfile-threshold=开启大文件断点续传的文件大小阈值,默认值:100M,取值范围:0B-9223372036854775807B-j,--jobs=多文件操作时的并发任务数
- centos 7 安装python3 及pycharm远程连接方法
MindMaster User
日常记录centospycharmpython
安装openssl使用pip3安装virtualenv的时候会提示WARNING:pipisconfiguredwithlocationsthatrequireTLS/SSL,howeverthesslmoduleinPythonisnotavailable.这是因为缺少openssl2.0以上版本解决办法:一、先确认版本opensslversion二、安装依赖如果已有,这步可以忽略yuminst
- Linux新手入门必备------基本指令
是北欢吆
Linux操作系统linux运维服务器
目录一、获取帮助信息1、man指令2、help指令3、常用快捷键二、文件目录类1、pwd显示当前工作目录的绝对路径2、ls列出目录的内容3、cd切换目录4、mkdir创建一个新文件目录5、touch创建空文件6、cp复制文件或目录7、rm/rmdir删除文件或目录8、mv移动文件与目录或重命名9、cat查看文件内容10、more文件内容分屏查看器11、less分屏显示文件内容12、head显示文件
- 计算机毕业设计(附源码)python学习互助平台网站
杰记计算机程序源码
python学习django
项目运行环境配置:Pychram社区版+python3.7.7+Mysql5.7+HBuilderX+listpip+Navicat11+Django+nodejs。项目技术:django+python+Vue等等组成,B/S模式+pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。
- Spring Boot嵌入式服务器深度解析:从配置到调优的全方位指南
珠峰日记
springboot服务器后端
文章目录引言一、嵌入式服务器核心原理1.1架构设计特点1.2主流服务器对比二、嵌入式服务器配置实战2.1基础配置模板2.2HTTPS安全配置三、高级调优策略3.1线程池优化(Tomcat示例)3.2响应压缩配置3.3访问日志配置四、服务器切换实战4.1切换至Undertow服务器4.2Undertow性能优化配置五、容器健康监控5.1Actuator端点监控5.2可视化监控方案六、生产环境最佳实践
- springboot单机支持1w并发,需要做哪些优化
坚定信念,勇往无前
javaspringboot后端java
SpringBoot单机如何支持1万并发,需要做哪些优化。首先,我得回想一下SpringBoot处理高并发的关键点在哪里。可能涉及到多个层面,比如Web服务器配置、数据库优化、代码层面的调整,还有JVM调优之类的。首先,用户可能用的是内嵌的Tomcat,默认配置可能不够,比如最大线程数、连接数这些参数需要调整。Tomcat的线程池配置默认可能只有200左右,显然不够。所以需要增大maxThread
- Python的子线程与主线程之间的通信并通知主线程更新UI
银河护卫队长
python开发语言
新建PLC类PLC.pyimportjsonimporttimefromthreadingimportThreadfromHslCommunicationimportSiemensS7Net,SiemensPLCSfromPySide6.QtCoreimportQThread,Signal,QObjectfromtdm.MsgTypeimportMSG_TYPE_LOG,MSG_TYPE_MSGB
- 【Docker】部署tomcat
灭虚陌疯
dockerdockertomcat容器
docker部署tomcat准备阶段1、检查Docker环境2、检查网络连接下载tomcat镜像1、搜索Tomcat镜像(可选)2、拉取Tomcat镜像创建并运行Tomcat容器1、创建数据目录(可选)2、运行Tomcat容器访问Tomcat1、打开浏览器2、查看Tomcat页面部署web应用1、将web应用部署到tomcat:2、重新加载或重启Tomcat(如有必要):准备阶段1、检查Docke
- 勇敢尝鲜之Springboot3大坑-集成Mybatisplus报错:ddlApplicationRunner
青花锁
项目实战Java微服务ddlAppRunnerSpringbootmybatisplus
作者主页:青花锁简介:Java领域优质创作者、Java微服务架构公号作者简历模板、学习资料、面试题库、技术互助文末获取联系方式往期热门专栏回顾专栏描述Java项目实战介绍Java组件安装、使用;手写框架等Aws服务器实战AwsLinux服务器上操作nginx、git、JDK、VueJava微服务实战
- docker容器配置tomcat并部署项目
虹猫大侠
dockerubuntudockertomcatubuntu
1、搜索镜像并拉取,就选第一个tomcat,看起来用的比较多1、搜索镜像:dockersearchtomcat2、拉取镜像:dockerpulltomcatroot@ivan-virtual-machine:/home/tomcat#dockersearchtomcatNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDtomcatApacheTomcatisanopenso
- Python数据处理掌握Pandas.to_datetime函数时间序列(参数解析与实战)
步入烟尘
Python超入门指南全册pythonpandas开发语言时间函数参数解析
本文已收录于《Python超入门指南全册》本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从基础到精通不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/mrdeam/category_12647587.html优点:订阅限时19.9付费专栏,私信博主还可进入全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以
- Oracle:这些查询结果不可更新,请包括 ROWID 或使用 SELECT ... FOR UPDATE 获得可更新结果。
TTc_
oracle数据库
1、报错场景SELECTID,KWBM,KWMC,CJID,SJID,BMNBBH,0ASJB,''ASCKLXFROMYK_KWXXWHERE1=1andbmnbbh='2202'很多只使用过MySQL的朋友们,应该都使用过SQLYog和Navicat直接查询数据后修改。但是这在Oracle数据库的PLSQL中有所差别2.修改后可直接查询修改数据SELECTYK_KWXX.rowid,ID,KW
- 使用java的spring-boot-starter-mail模块实现发送邮件功能
sinat_26668989
java
使用java的spring-boot-starter-mail模块实现发送邮件功能文章目录使用java的spring-boot-starter-mail模块实现发送邮件功能@[TOC](文章目录)一、注入配置二、引入依赖三、实现层一、注入配置在application.properties文件中,新增spring.mail.host=smtp.qq.comspring.mail.port=587sp
- 多模块Spring-boot项目如何打包成指定名字的war包?
傲娇的小小云
mavenspringbootidea学习其他
如果不知道如何创建多模块项目,可以参考???还没写呢,写了再加上连接照着以下步骤一步一步做就可以:父亲pom需要设置packaging为pompom2.核心代码模块,也就是启动类(application)所在的模块,需要引入插件org.springframework.bootspring-boot-maven-plugin3.设置核心代码模块的打包方式为war,war其他依赖模块如有需要,可以设置
- DPVS_dpvs: DPVS架构图 介绍 DPVS是基于DPDK的高性能第4层负载均衡器
weixin_39878247
DPVS
DPVSIntroductionDPVSisahighperformanceLayer-4loadbalancerbasedonDPDK.It'sderivedfromLinuxLVSandit'smodificationalibaba/LVS.thenameDPVScomesfrom"DPDK-LVS".Differenttechniquesareappliedforhighperformanc
- c语言函数声明及变量定义,C语言 函数定义 函数声明 区别?
汉周读书
c语言函数声明及变量定义
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用(往往可以通过内联汇编语言或与汇编语言目标文件一起连接。对于任何一种操作系统环境,C函数的ABI(ApplicationBinaryInterface)与汇编语言的子过程(routine/procedu
- Linux题库100道(附答案)
是谁谁谁
一起学Linuxlinux运维服务器安全centos
1.cron后台常驻程序(daemon)用于:A.负责文件在网络中的共享B.管理打印子系统C.跟踪管理系统信息和错误D.管理系统日常任务的调度2.在大多数Linux发行版本中,以下哪个属于块设备(blockdevices)?A.串行口B.硬盘C.虚拟终端D.打印机3.下面哪个Linux命令可以一次显示一页内容?A.pauseB.catC.moreD.grep4.怎样了解您在当前目录下还有多大空间?
- AcWing 3691:有向树形态 ← 卡特兰数 + 复旦大学考研机试题
hnjzsyjyj
信息学竞赛#模拟算法与基础语法卡特兰数
【题目来源】https://www.acwing.com/problem/content/3694/【题目描述】求N个相同结点能够组成的二叉树的个数。【输入格式】一个整数N。【输出格式】输出能组成的二叉树的个数。【数据范围】1≤N≤20【输入样例】3【输出样例】5【算法分析】●卡特兰数(Catalannumber)是组合数学中一个常出现在各种计数问题中的数列。若从第0项开始,则卡特兰数列h[n]为
- C#OPC(下)
C6666888
C#专栏c#开发语言
安装OPCUASDK通过NuGet包管理器,在VisualStudio中右键单击项目名称,选择“管理NuGet程序包”,在搜索框中输入“OPCFoundation.NetStandard.Opc.Ua”,找到对应的OPCUASDK包后点击“安装”,将其集成到C#项目中。它和OPC安装流程一样。配置OPCUA客户端应用程序创建一个ApplicationConfiguration对象,用于配置OPCU
- Simulink Design Assignment
后端
UniversityofEdinburghElectricalEngineeringDataConverterDesigninSimulinkSimulinkDesignAssignmentDesignanaudiobandADCwiththefollowingspecificationsover20Hz-20kHz:[1]Maximumstableinputamplitude(MSA)atlea
- Python使用pip安装Caused by SSLError:certificate verify failed
风一样的树懒
人工智能python
最近公司电脑受限,安装conda好像有点问题,不让安装。只能pip硬装了:使用pip安装的时候一直报错:“CouldnotfetchURLhttps://pypi.org/simple/pyplot/:Therewasaproblemconfirmingthesslcertificate:HTTPSConnectionPool(host='pypi.org',port=443):Maxretrie
- 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