- 二、Spring框架中容器基本用法详解
探索java
Spring源码springjava后端
1.Spring框架简介Spring是一个开源的轻量级Java开发框架,最早由RodJohnson在2002年创建,旨在解决企业级开发中的复杂性问题。Spring通过IoC(控制反转)和AOP(面向切面编程)两大核心思想,帮助开发者更容易地构建解耦、可测试、易维护的Java应用程序。1.1Spring的核心特性IoC容器:统一管理Java对象生命周期与依赖关系。AOP支持:支持事务管理、日志记录、
- 接口测试工具:Postman的高级用法详解
测试1998
自动化测试测试工具软件测试postmanpython测试用例接口测试
点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快Postman是一款功能强大的API开发和测试工具,以下是一些高级用法的详细介绍和操作步骤。一、环境和全局变量环境变量允许你设置特定于环境(如开发、测试、生产)的变量,全局变量则在所有环境中都能访问。操作步骤:1.转到左侧的侧边栏,点击"Environments"。2.点击"Add"按钮创建一个新环境。3.输入环境名称。4.添加变量名和对
- OkHttp工具类Kotlin版
柒叶沃若
kotlinandroidjava
前言:最近用java学完安卓之后,时间很充裕,觉得java写安卓代码量相对多,于是转学kotlin了OkHttp是一个优秀的网络请求框架,相对于HttpUrlConnection好用多了,并且还支持多线程高并发,所以作为一个安卓开发者非常有必要学习一下,下面开始讲解OKHttp的使用第一步、导入依赖implementation'com.squareup.okhttp3:okhttp:3.14.+'
- Java Thread 类基础用法详解
共行跬步
java开发语言
一、什么是线程?为什么需要多线程?在计算机编程中,线程是程序执行的最小单元。一个进程可以包含多个线程,它们共享进程的内存空间,但拥有各自的执行路径。想象一下,如果你只有一个线程处理任务,就像一个人同时只能做一件事;而多线程则像一个团队分工合作,能显著提高程序效率。多线程的应用场景非常广泛:后台任务处理(如文件下载)并发请求处理(如Web服务器)复杂计算的并行处理界面响应与后台操作分离二、Threa
- JavaScript $.ajax() 最新用法详解
一、基础语法与核心参数$.ajax({url:"https://api.example.com/data",method:"GET",//推荐使用method替代typedata:{key:"value"},dataType:"json",headers:{"Authorization":"Bearertoken"},success:function(response){},error:funct
- python常见语法总结-打印函数
程正发
python开发语言
1.\n换行print(’‘)打印函数print('\n'.join(['\t'.join([f"{j}×{i}={i*j}"forjinrange(1,i+1)])foriinrange(1,10)]))Python打印函数用法详解1.基本打印python复制print("Hello,World!")输出:复制Hello,World!2.打印多个变量(默认用空格分隔)python复制name="
- C++ STL教程-vector用法详解
yhwang-hub
C++
目录C++STL基本组成(6大组件+13个头文件)C++STLvector容器迭代器用法详解vector容器迭代器的基本用法vector容器迭代器的独特之处C++STLvector容器访问元素的几种方式访问vector容器中多个元素C++STLvector添加元素(push_back()和emplace_back())详解C++STLvector插入元素(insert()和emplace())详解
- C++ STL教程-set
yhwang-hub
C++
目录C++STLset容器完全攻略(超级详细)C++STLset容器包含的成员方法C++STLset容器迭代器用法详解C++STLsetinsert()方法详解C++STLsetemplace()和emplace_hint()方法详解C++STLset删除数据:erase()和clear()方法C++STLset容器完全攻略(超级详细)前面章节讲解了map容器和multimap容器的用法,类似地,
- JAVA API (三):从基础爬虫构建到带条件数据提取 —— 详解 URL、正则与爬取策略
钮祜禄.爱因斯晨
JAVA学习笔记java爬虫开发语言
个人主页-爱因斯晨文章专栏-Java学习相关文章:API(一)相关文章:API(二)持续努力中,感谢支持一、爬虫基础(一)爬虫的基本概念定义:爬虫是按照一定规则自动抓取网络信息的程序,在Java环境下,可借助URL、HttpURLConnection等API来实现。应用场景:广泛应用于数据采集,如电商平台的价格监控、各类新闻的聚合;还可用于信息分析,如舆情监测等。(二)Java实现简单爬虫的步骤建
- Python中win32com的用法详解:自动化办公与COM交互的利器
detayun
Pythonpython自动化交互win32
在Python自动化办公场景中,win32com模块凭借其与WindowsCOM(ComponentObjectModel)的深度集成能力,成为操控MicrosoftOffice、工业设备甚至第三方软件的核心工具。本文将通过实战案例、技术细节和避坑指南,系统解析这一模块的核心用法。一、核心功能与安装配置1.1模块定位与优势win32com是pywin32扩展包的核心组件,其核心价值在于:跨软件交互
- Java 中 Consumer 与 Provider 的用法详解
前言在Java编程中,Consumer和Provider是两个非常重要的函数式接口,它们在函数式编程和依赖注入等场景中被广泛使用。本文将详细讲解这两个接口的定义、使用场景以及实际示例,帮助你更好地理解和应用它们。一、Consumer接口1.1Consumer接口的定义Consumer是Java8引入的一个函数式接口,位于java.util.function包中。它表示一个接受单个输入参数并且无返回
- Spring MVC中@PathVariable的用法详解
@PathVariable是SpringMVC框架中的一个注解,主要用于从请求URI的模板变量中提取值,并将其绑定到控制器方法的参数上。它是构建RESTfulWeb服务和动态URL的关键工具。核心作用与工作原理定义URI模板:在控制器方法的@RequestMapping(或其变体如@GetMapping,@PostMapping等)注解中,使用花括号{}定义占位符。@GetMapping("/us
- OKHttp3源码分析——学习笔记
Sincerity_
源码相关Okhttp源码解析读书笔记httpclientcache
文章目录1.HttpClient与HttpUrlConnection的区别2.OKHttp源码分析使用步骤:dispatcher任务调度器,(后面有详细说明)Request请求RealCallAsyncCall3.OKHttp架构分析1.异步请求线程池,Dispather2.连接池清理线程池-ConnectionPool3.缓存整理线程池DisLruCache4.Http2异步事务线程池,http
- Go 延迟调用 defer 用法详解
sun007700
golang开发语言后端
Go延迟调用defer用法详解-CSDN博客defer(延迟调用)是Go语言中的一个关键字,一般用于释放资源和连接、关闭文件、释放锁等。和defer类似的有java的finally和C++的析构函数,这些语句一般是一定会执行的(某些特殊情况后文会提到),不过析构函数析构的是对象,而defer后面一般跟函数或方法。packagecounterimport("log""sync")typeCounte
- Go 语言泛型用法详解
本文将带你从零开始,理解Go泛型的概念、语法、使用方式,并配有示例代码,帮助你快速上手。文章目录什么是泛型?1.泛型函数示例:一个求长度的泛型函数2.泛型结构体示例:一个通用的盒子3.泛型集合(Set)示例:一个通用的集合4.泛型通道(Channel)示例:一个通用的通道5.泛型方法示例:一个通用的栈6.泛型迭代器示例:一个通用的迭代器7.泛型工厂函数示例:一个通用的对象工厂8.Go1.24新特性
- [SystemVerilog] Clocking
S&Z3463
SystemVerilogfpga开发
SystemVerilogClocking用法详解SystemVerilog的clocking块(ClockingBlock)是一种专门用于定义信号时序行为的构造,主要用于验证环境(如UVM)中,以精确控制信号的采样和驱动时序。clocking块通过将信号与特定时钟关联,简化了测试环境中对时序敏感信号的处理,减少了手动时序管理的复杂性。本文将详细介绍SystemVerilog中clocking块的
- 【Tailwind CSS】bg-red-50 和 bg-blue-50 的用法详解
文章目录一、TailwindCSS中的颜色背景类1.背景颜色的命名规则2.bg-red-50和bg-blue-50的颜色特点二、bg-red-50和bg-blue-50的基本用法示例三、bg-red-50和bg-blue-50的设计理念1.bg-red-50的使用场景2.bg-blue-50的使用场景四、实际应用场景解析1.信息提示框的使用2.页面分区的背景色3.使用交替背景色提升阅读性五、配合其
- Java 中 Optional 的用法详解
超级小忍
Javajava开发语言
前言在Java开发中,空指针异常(NullPointerException)是开发者最常遇到的问题之一。为了解决这一问题并提高代码的可读性和安全性,Java8引入了Optional类。Optional是一个容器对象,用于表示一个可能为null的值。通过使用Optional,我们可以更清晰地表达变量可能为空的情况,并强制开发者去检查和处理空值。本篇文章将详细讲解Optional的用法、常用方法及其最
- 安卓之service常用用法详解
安卓一直是半吊子水平,在写一个小东西时,发现自己对service的理解还不够,特总结如下:service的创建publicclassMinaServiceextendsService{privateConnectionThreadthread;@OverridepublicvoidonCreate(){super.onCreate();thread=newConnectionThread("min
- Vue2中的keep-alive:组件状态缓存与性能优化实战指南
编程随想▿
Vue前端javascript开发语言vue.js
目录一、什么是keep-alive?与普通组件切换的对比二、核心用法详解1.基础用法:动态组件缓存2.路由视图缓存3.生命周期钩子三、进阶配置与优化1.精准控制缓存组件(1)include/exclude属性(2)max属性限制缓存数量四、实战场景与案例1.表单数据保存2.标签页切换优化3.动态控制缓存五、避坑指南1.组件必须定义name属性2.避免过度缓存3.相同路由不同参数导致缓存失效六、性能
- Python类的基础与高级用法详解
在Python中,类(Class)是面向对象编程(OOP)的核心概念,用于创建对象的蓝图。它定义了对象的属性和行为,支持代码复用、封装、继承和多态。接下来,从多个维度详细解释类的核心概念:一、类的基本结构classMyClass: #类变量(所有实例共享) class_variable="SharedData" #构造方法(初始化实例属性) def__init__(self,name):
- android实现号码归属地,Android手机号码归属地的查询
瞻云云
android实现号码归属地
一个简单的Demo,从聚合数据申请手机号码归属地数据接口;在EditText中输入待查询号码,获取号码后在子线程中使用HttpUrlconnection获取JSON数据,之后进行解析;数据获取完成后,在主线程中更新UI,显示获取的号码归属地信息。布局文件android:layout_width="match_parent"android:layout_height="match_parent"an
- Compose 高级用法详解——AI教你学Docker
LuckyLay
AI教你学Dockerdocker容器运维
3.6Compose高级用法详解DockerCompose除了常规的多服务编排,还支持一系列高级功能,如服务健康依赖、环境切换、配置模板化等。掌握这些技巧,能让你的多容器项目更健壮、更自动化、更易维护。一、depends_on的高级用法与启动顺序1.基本用法depends_on指定服务间的启动顺序,确保依赖的服务优先启动。services:web:depends_on:-dbdb:image:po
- HarmonyOS应用开发:掌握HTTP网络访问与封装技巧
引言在HarmonyOS(鸿蒙操作系统)应用开发中,网络访问是一个至关重要的环节。HTTP协议作为网络通信的基石,对于实现应用的数据交换和服务请求起着核心作用。本文将详细探讨在HarmonyOS应用开发中如何进行HTTP网络访问,包括基本的HTTP请求和响应处理,以及如何对这些操作进行封装,以提高代码的可重用性和可维护性。HarmonyOS中的HTTP网络访问使用HttpURLConnection
- 深入理解Python asyncio:从入门到实战,掌握异步编程精髓
Bruce-li__
Pythonpython网络数据库
文章目录前言一、asyncio基础概念1.1什么是异步编程?1.2asyncio核心组件二、asyncio核心用法详解2.1事件循环管理2.2协程与任务2.3异步上下文管理器三、asyncio高级特性3.1异步生成器3.2异步队列3.3异步锁和信号量四、asyncio实战项目4.1高性能Web爬虫4.2异步Web服务器五、性能对比与最佳实践5.1同步与异步性能对比5.2asyncio最佳实践六、常
- 【Python】Hydra 用法详解
行码棋
#Pythonpython开发语言
Hydra官方文档Hydra(Python配置管理工具)1.引言在机器学习、深度学习和软件开发中,管理复杂的配置是一个常见的挑战。Hydra是一个强大的Python库,允许开发者轻松地管理和组织配置文件,支持动态参数覆盖、多层次配置和可组合配置等特性。2.安装HydraHydra可以通过pip直接安装:pipinstallhydra-core安装完成后,你可以使用hydra进行配置管理。3.基础用
- linux中at重定位命令,readelf命令_Linux readelf 命令用法详解:用于显示elf格式文件的信息...
默默加一
linux中at重定位命令
readelf命令用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息。这里的elf-file(s)就表示那些被检查的文件。可以支持32位,64位的elf格式文件,也支持包含elf文件的文档(这里一般指的是使用ar命令将一些elf文件打包之后生成的例如lib*.a之类的“静态库”文件)。这个程序和objdump提供的功能类似,但是它显示的信息更为具体,并且它不依赖BF
- realloc() 用法详解
小可爱amour
C/C++算法
原型:externvoid*realloc(void*mem_address,unsignedintnewsize);语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小若小于原来的大小,原数据的末尾可能丢失(被其他使用内存的数据覆盖等)头文件:#include有些编译器需要#include,在TC2.0中可以使用alloc.h头文件功能:先判断当前的指针是
- 通达信 强势突破战法:百战百成 量价齐升+均线多头擒牛指标幅图指标
q125500612
通达信指标通达信指标
指标用法详解核心逻辑该指标旨在筛选强势突破+量价齐升+趋势向上的个股,适用于短线或波段交易策略。一、趋势判断条件均线系统股价开盘低于20日/40日/60日均线(短期调整后蓄势)收盘价突破20/40/60日均线的最高值(确认趋势反转)5/10/30/60/120日均线呈多头排列(开盘在最低均线下,收盘站上最高均线,代表短期强势)EXPMA趋势强化股价站稳50日EXPMA(指数平滑均线)上方50日EX
- 【ES6新特性】解构赋值常见用法
小钟H呀
ES6新特性学习手册es6前端javascript
ES6解构赋值用法详解一、解构赋值基础概念解构赋值(DestructuringAssignment)是ES6新增的语法,可以快速从数组或对象中提取值并赋给变量。1.1传统取值方式vs解构赋值//传统方式constarr=[1,2,3];consta=arr[0];constb=arr[1];//解构赋值const[x,y]=[1,2,3];console.log(x);//1console.log
- 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