- scala kotlin比较_追随 Kotlin/Scala,看 Java 12-15 的现代语言特性
weixin_39605296
scalakotlin比较scalalist接受javastring
本文原发于我的个人博客:https://hltj.me/java/2020/06/14/java-12-15-lang-features.html。本副本只用于知乎,禁止第三方转载。Java14发布已经过去了三个月,Java15目前也已经到了“RampdownPhaseOne”阶段,其新特性均已敲定。由于12-15都是短期版本,无需考虑也不应该将其用于生产环境。但可以提前了解新特性,以免在下一个L
- java 协程 scala_追随 Kotlin/Scala,看 Java 12-15 的现代语言特性
小田linda
java协程scala
Java14发布已经过去了三个月,Java15目前也已经到了“RampdownPhaseOne”阶段,其新特性均已敲定。由于12-15都是短期版本,无需考虑也不应该将其用于生产环境。但可以提前了解新特性,以免在下一个LTS(Java17)正式发布时毫无心理准备。Java12-15引入了一系列改进,本文只讨论语言层面的新特性,它们看起来似曾相识——没错,这些特性让人感觉Java在沿Kotlin/Sc
- 云计算服务中的“无缝扩展”是什么意思
云上的阿七
云计算
“无缝扩展”(SeamlessScalability)是云计算服务中的一个重要概念,指的是云平台能够根据需求变化自动、平滑地扩展或缩减资源,而不影响系统的正常运行或用户体验。简单来说,就是云服务可以在负载增加或减少时,灵活地调整计算资源、存储容量或网络带宽,且这一过程对用户来说是透明的,没有明显的中断或影响。为什么“无缝扩展”很重要?在现代的云计算环境中,应用和服务的负载会随着时间、流量或业务需求
- timescaladb时序数据库高可用docker镜像使用
handsomestWei
数据库时序数据库docker数据库timescaladbpostgresql
timescaladb时序数据库高可用docker镜像使用timescaladb时序数据库高可用,基于bitnami/postgresql-repmgrdocker镜像制作,实现数据同步和故障自动转移主备切换。使用示例参考,附dockercompose配置例。pg-0:image:wjy2020/timescaledb-repmgr:pg14.15-ts2.17.2container_name:"
- keepalived+timescaladb主备切换高可用方案
handsomestWei
数据库keepalivedtimescaladbpostgresql数据库高可用
keepalived+timescaladb主备切换高可用方案环境和组件依赖ubuntu22.04,docker引擎keepalivedv2.2.4timescaledbdocker镜像wjy2020/timescaledb-repmgr:pg14.15-ts2.17.2,镜像使用参考方案思路在双机分别部署这两个组件,keepalived定时检测timescaladb数据库的主备状态,当数据库状态
- 大数据开发语言Scala入门
编程小郭
scala开发语言
大数据开发语言Scala的详解一、引言在大数据和云计算时代,数据的处理和分析变得尤为重要。为了有效地处理和分析这些数据,需要一种强大的编程语言。Scala作为一种多范式的编程语言,结合了面向对象编程和函数式编程的优点,为大数据开发提供了强大的支持。本文将详细介绍Scala及其优缺点、应用场景等。二、Scala概述Scala是由MartinOdersky教授于2003年开发的编程语言,旨在集成面向对
- 使用Scala进行Web开发:构建你的第一个Web应用
帅气而伟大
scala开发语言后端
在Java领域中,Spring框架以其全面的功能和灵活的配置赢得了广泛的应用。然而,当遇见Scala这一兼具函数式编程和面向对象特性的强大语言时,一个新的世界被开启——这就是SpringScala。虽然VMware,Inc.不再对其进行主动维护,但庆幸的是,社区的力量让这个项目得以延续,由PaulSnively接棒,在http://hub.darcs.net/psnively/spring-sca
- Scala语言的系统运维
韦慕霖
包罗万象golang开发语言后端
Scala语言的系统运维引言在今天的科技发展时代,软件系统的复杂性和规模不断增加,因此系统运维的管理和监控显得尤为重要。在众多编程语言中,Scala因其高度的表达力和强大的性能而受到越来越多开发者和运维人员的青睐。本文将探讨Scala语言在系统运维中的应用,涵盖其优势、常用工具及最佳实践等方面,旨在为读者提供一个全面的了解。1.Scala语言概述Scala(可伸缩语言)是运行在Java虚拟机(JV
- Scala语言的循环实现
赵旖琅
包罗万象golang开发语言后端
Scala语言中的循环实现Scala是一种现代编程语言,它结合了面向对象和函数式编程的特点,广泛应用于大数据处理、分布式计算和Web开发等领域。循环是程序设计中不可或缺的一部分,在Scala中也有多种方式来实现循环。这篇文章将深入探讨Scala中的循环实现,包括基本的循环结构、函数式循环、递归以及一些最佳实践。1.基本的循环结构在Scala中,最基本的循环结构是for循环和while循环。虽然Sc
- 3.1初识Flink-wordcount
orange大数据技术探索者
flink废弃已迁移走flink
pom要注意scala版本和你的本地的scala的版本对不上可能会出问题<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-in
- Flink_CEP关于订单超时事件处理
weixin_43003792
Flink
packagecomimportjava.utilimportorg.apache.flink.cep.{PatternSelectFunction,PatternTimeoutFunction}importorg.apache.flink.cep.scala.{CEP,PatternStream}importorg.apache.flink.cep.scala.pattern.Patternim
- Flink--初识 DataStream Connector Kafka
XK&RM
Flinkflinkkafkascala
目录1.增加POM文件2.使用Kafka作为Source2.1创建Topic2.2Code3.使用Kafka作为Sink3.1CodeFlink作为比较适合流式处理的计算框架,在流式处理当中,比较搭配的消息中间件为Kafka本次使用的Kafka版本为2.1.0-cdh6.2.0Flink版本为1.11.2,Scala版本为2.12.10官网FlinkprovidesanApacheKafkacon
- ASP.NET Core SignalR身份验证
AAA猪饲料批发李师傅
.NETASP.NETCoreSignalRWebSocketVue
在需要登录才能访问的集线器类上或者方法上添加[Authorize]。也支持角色等设置,可以设置到Hub或者方法上。配置好User、Role、MyDbContext、JWTSettings、IdentityHelperProgram.csusingSignaIR的基本使用;usingScalar.AspNetCore;usingIdentity框架;usingMicrosoft.EntityFram
- kafka简单使用
zeroLinked
博学谷学习记录kafkajava分布式
kafka简单介绍kafka是apache旗下的一款开源免费的消息队列中间件,最早由LinkedIn开发,后面贡献给Apache,目前是Apache旗下顶级开源项目(http://www.kafka.apache.org),该中间件采用Scala语言进行开发。kafka的特点:可靠性:分布式、分区、复制和容错可拓展性:kafka消息传递系统轻松缩放,无需停机耐用性:kafka使用分布式提交日志,消
- Scala语言的区块链
华梦岚
包罗万象golang开发语言后端
以Scala语言的区块链随着数字货币和去中心化应用的兴起,区块链技术逐渐成为计算机科学与金融科技领域中的一颗耀眼明星。区块链以其去中心化、不可篡改、透明可信等特性,吸引了无数开发者与企业的关注。在众多编程语言中,Scala凭借其独特的功能特性,逐渐在区块链开发领域中脱颖而出。本文将系统性地探讨Scala语言的特点、在区块链开发中的应用,以及如何利用Scala构建区块链应用。一、Scala语言简介S
- Scala语言的数据结构
段慕华
包罗万象golang开发语言后端
Scala语言中的数据结构Scala是一种结合了面向对象编程和函数式编程特性的编程语言,它在Java虚拟机(JVM)上运行,并与Java无缝集成。作为一种现代编程语言,Scala提供了丰富的数据结构,使得开发者能够灵活地处理各种数据。本文将深入探讨Scala中的数据结构,包括其基本特性、使用场景以及实际应用。1.数据结构的分类Scala中的数据结构可以大致分为以下几类:线性数据结构:如数组、列表、
- Scala 文件 I/O
晚夜微雨问海棠呀
scala大数据开发语言
在Scala中,文件I/O操作可以通过多种方式实现。以下是几种常见的方法:1.使用scala.io.Source读取文件scala.io.Source提供了一种简单的方式来读取文件内容。以下是一个示例,展示了如何读取文件并打印每一行:importscala.io.SourceobjectFileReadExampleextendsApp{valfilename="example.txt"try{v
- php 闭包 foreach,PHP闭包函数
谷臻故事工场
php闭包foreach
一.什么是闭包?先看看百度百科的介绍:闭包包含自由(未绑定到特定对象)变量,这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。“闭包”一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)。在PHP、Scala、Scheme、CommonLisp、Sma
- The Concepts and Elements of Sui
smilejiasmile
区块链从1.0到3.0的技术分享锦集及讲解rust区块链Suinarval
ConceptsSuiBackgroundThistraditionalblockchainnetworkarchitecturehasalimitationinthatsuchalinearmechanismofthesystembecomesthemainbottleneckforachievinghightransactionvolumescalability.Suiblockchainpu
- OpenAI Scala Client: 功能强大的 Scala 语言 OpenAI API 客户端库
m0_75126181
scala开发语言后端
OpenAIScalaClient:功能强大的Scala语言OpenAIAPI客户端库OpenAIScalaClient是一个专为Scala开发者设计的OpenAIAPI客户端库。它提供了一种简洁而强大的方式来与OpenAI的人工智能模型进行交互。这个库支持OpenAI的所有API端点和参数,包括流式传输、最新的聊天补全、视觉和语音功能等。主要特性全面的API支持:OpenAIScalaClien
- 深度解读Kafka数据可靠性
程序の之道
kafkahiveyarnsparkhadoop
Kafka起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、ApacheStorm、Spark等都支持与Kafka集成。1概述Kafka与传统消息系统相比,有以下不同:•它被设计为一个分布式系统,易于向外扩展;•它同时为发布和订阅提供高吞吐量;•它支持多订
- PySpark学习笔记5-SparkSQL
兔子宇航员0301
数据开发小白成长笔记学习笔记
sparkSql的数据抽象有两种。一类是dataset适用于java和Scala一类是dataframe适用于java,Scala,python将rdd转换为dataframe#方式一df=spark.createDataFrame(rdd,schema=['name','age'])#方式二schema=Structtype().add('id',integertype(),nullable=F
- Apache MXNet:灵活高效的深度学习库
零 度°
python深度学习apachemxnet
ApacheMXNet是一个开源的深度学习框架,适用于灵活的研究原型设计和生产。它提供了一个混合前端,可以无缝地在Gluon(动态图)和Symbolic(静态图)模式之间转换,以提供灵活性和速度。MXNet支持多种语言绑定,包括Python、Scala、Julia、Clojure、Java、C++、R和Perl,并且拥有一个活跃的工具和库生态系统,可以扩展MXNet的功能,支持计算机视觉、自然语言
- Apache MXNet 深度学习框架教程
娄妃元Kacey
ApacheMXNet深度学习框架教程mxnetLightweight,Portable,FlexibleDistributed/MobileDeepLearningwithDynamic,Mutation-awareDataflowDepScheduler;forPython,R,Julia,Scala,Go,Javascriptandmore项目地址:https://gitcode.com/g
- MXNet深度学习框架:高效与灵活性的结合
原机小子
深度学习mxnet人工智能
标题:MXNet深度学习框架:高效与灵活性的结合MXNet是一个由Apache软件基金会支持的开源深度学习框架,以其高效性能和灵活性而闻名。它最初由亚马逊团队开发,并于2015年开源,迅速成为深度学习领域的一个重要工具。MXNet支持多种编程语言,包括Python、Java、Scala、R、C++等,能够运行在CPU、GPU和云平台上,满足不同场景下的需求。1.MXNet的核心特性MXNet的主要
- 弹性文件服务(SFS)的使用场景
九河云
人工智能华为云服务器
华为云弹性文件服务(ScalableFileService,简称SFS)是一种高性能、高可用、弹性伸缩的文件存储服务,广泛应用于多种场景,包括高性能计算、媒体处理、企业办公、AI训练等。以下是九河云总结的SFS的典型使用场景:1.高性能计算(HPC)在高性能计算场景中,如仿真实验、基因测序、图像处理、气象预报等,SFS能够为大规模计算任务提供高带宽、低延迟的存储支持。其高性能文件系统(如SFSTu
- 可扩展应用架构指南
沈宝彤
可扩展应用架构指南scalable_app_architectureThisisamodularapparchitecturethatcanbescalableasthetimepasses.IwillbeusingtheBLoCstate-managementpackage.项目地址:https://gitcode.com/gh_mirrors/sc/scalable_app_architect
- ScalaTest测试框架
一片
ScalaAkka开发学习PlayFramework
ScalaTest是一个开源测试框架,旨在令测试更加高效。其开发者是BillVenners(Artima主编)。BillVenners这样描述ScalaTest:ScalaTest是比JUnit和TestNG更加高阶的测试编写工具,这个Scala应用在JVM上运行,可以测试Scala以及Java代码。除了与JUnit和TestNG的深层集成外,还支持Ant任务,与maven集成,并包括了流行的Ja
- Scala语言的安全开发
萧月霖
包罗万象golang开发语言后端
Scala语言的安全开发引言在现代软件开发中,安全性是一个不可忽视的重要因素。特别是在处理敏感数据和用户信息时,确保代码的安全性尤为重要。Scala语言以其强大的功能和灵活性,在大数据处理和并发编程中受到了广泛的关注与应用。然而,Scala虽然在设计上考虑了类型安全和并发编程的特性,但程序员在开发中仍需要注意各种安全问题,以防止潜在的安全漏洞。本文将深入探讨在Scala语言开发中如何实现安全性保障
- MongoDB
青衫天子
后端mongodb后端
MongoDB非关系型数据库应用场景Highperformance-对数据库高并发读写的需求。HugeStorage-对海量数据的高效率存储和访问的需求。HighScalability&&HighAvailability-对数据库的高可扩展性和高可用性的需求。启动&部署直接启动mongod--dbpath=…\data\db配置启动bin/conf/mongod.confstorage:dbPat
- 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