- 【openwrt-21.02】openwrt-21.02 T750 MT7916 WiFi联盟认证10351/10340 Fail问题解决方案
wellnw
WiFiDriver功能实现及问题处理WiFi
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- [openwrt-21.02]openwrt-21.02 package软件包Makefile中PKG_MIRROR_HASH和PKG_SOURCE_VERSION说明
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- 【openwrt-21.02】openwrt-21.02 T750 开机点亮LED灯实现
wellnw
功能实现及问题处理openwrt
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- 流重定向方式实现日志多路输出(c++/c)
通过流重定向方式实现日志多路输出,设计为可扩展架构,支持动态添加多个输出目标(控制台、文件、调试窗口等)。其中C++方案更符合面向对象设计,而C方案则更轻量、更接近系统底层。C++实现(基于流缓冲区)基于标准库的std::streambuf实现流重定向通过MultiStreambuf类将数据分发到多个目标缓冲区支持控制台、文件和调试窗口(OutputDebugString)输出使用单例模式管理日志
- SpotBugs:静态代码分析工具 - 找出潜在Bug的利器
zhysunny
Java类库bugjava服务器
目录一、SpotBugs是什么?为什么选择SpotBugs?二、快速入门:5分钟上手SpotBugs1.Maven项目集成2.运行SpotBugs检查3.查看HTML报告三、SpotBugs能发现哪些问题?1.空指针异常(经典必杀)2.资源未关闭(内存泄漏警告)3.错误的equals比较四、进阶使用:自定义检测规则1.创建自定义检测器2.注册检测器3.打包插件五、与IDE集成:实时发现问题1.In
- 【工具】推荐50个 IDEA 常用的插件
今天给大家分享IDEA里一些好用的插件IntelliJIDEA2023.3.3及以上版本常用插件安利1、Lombok2、SonarLint3、CheckStyle-IDEA4、FindBugs-IDEA5、GitIntegration6、MavenHelper7、RainbowBrackets8、CodeGlance9、StringManipulation10、KeyPromoterX11、Pla
- C++:Testing-测试(必会知识点双语整理)
主要内容:代码缺陷(CodeDefects/Bugs)缺陷密度(DefectDensity-bugs/KLOC)单元测试(UnitTesting)集成测试(IntegrationTesting)系统测试(SystemTesting)验收测试(AcceptanceTesting)黑盒测试(Black-boxTesting)白盒测试(White-boxTesting)边缘案例测试(EdgeCaseTe
- ORM 越方便,数据库越慢?顶会论文列举九大反模式
编者注:原论文《Hownottostructureyourdatabase-backedwebapplications:astudyofperformancebugsinthewild》,发表于ICSE'18。虽然已经过去了7年,但依然历久弥新。芝加哥大学和华盛顿大学的研究团队通过一项全面的研究,揭示了ORM(对象关系映射)框架应用中常见的性能问题及其解决方案。在这项研究中,他们对12个有代表性的
- 5.10内核copy_to_user失败问题
彭泽布衣
Linux操作系统内核proccopy_to_usercat
背景最近写了一个内核模块,用了/proc文件操作,通过proc文件与内核进行信息交互。cat文件,或者sysctl-a,在4.19内核能够正常运行,但是在5.10内核运行失败。debugstrace进程信息如下,发现进入了死循环状态,读取文件内容为0。然后debug内核模块,发现copy_to_user调用access_ok函数检查失败。mmap(NULL,139264,PROT_READ|PRO
- 0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
远方1609
oracle数据库ci/cd
一、独立安装sqlcl1.安装Java环境SQLcl需要Java1.8.0_220或更高版本,OracleLinux9.6上已经默认安装Oracle23ai后Java是11lts版本如果javajdk安装错误将遇上SQLcl困扰n多人的bugsql/nolog错误:找不到或加载主类oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli原因:java.la
- git stash命令用法
DZSpace
软件开发git
gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改。一、基本用法1.保存当前修改(包括暂存区和工作区的内容)gitstash2.查看保存了哪些stashgitstashlist示例输出:stash@{0}:WIPonmain:1234567Fixbugstash@{1}:WIPonfeature-x:
- netcore项目使用winforms与blazor结合来开发如何按F12,可以调出chrome devtool工具辅助开发
sxf359
.netcorec#winformsblazor
就是像在开发网页那样,可以使用devtool工具辅助开发。可查看页面css,js等。我在网上看解决办法。没一个有用的。自己找了一个。不需要单独在页面写多余的代码我的program.cs中有服务注册代码增加3行代码。#ifDEBUGservices.AddBlazorWebViewDeveloperTools();#endif很好理解。在debug调试的时候执行services.AddBlazorW
- eclipse安装SpotBugs插件
叫我池池
哈工大课程SpotBugseclipse软件构造Lab4
1,打开eclipse的help,找到EclipseMarketplace选项框。2,选择搜索SpotBugs,如截图3,点击install即可。4,可能会出现下载比较慢的情况,我们可以在eclipse主界面打开Window->选择showview,打开progress,我们就可以在这个对话框中看到当前下载插件的进度情况;5,安装完成验证:在我们的项目上面右键可以看到多出了一个选项卡:SpotBu
- oracle10g查看rac,oracle10g R2 RAC 查看cluster interconnect使用的IP
weixin_39697096
oracle10g查看rac
10gR2中如何查看oraclecluster_interconnect使用的网卡地址oracle10gR2中有三个办法来查看oraclecachefusion使用的网卡地址1、使用oradebug,在SQLPLUS中执行SQL>conn/assysdbaSQL>oradebugsetmypidSQL>oradebugipc到udump目录下查看对应的trace文件可以看到类似:/oracle/a
- 【openwrt-21.02】T750 增加readelf指令支持及readelf指令说明
wellnw
Openwrt基础知识智能路由器openwrt
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- IDEA 安装 SpotBugs 插件超简单教程
java
打开IntelliJIDEA首先,把你的IDEA软件打开,不管你是社区版还是旗舰版,都能装。找到插件设置在顶部菜单栏,找到"File"(文件)→"Settings"(设置)。如果你用Mac,可能是"IntelliJIDEA"→"Preferences"(偏好设置)。进入插件市场在设置窗口左边,找到"Plugins"(插件),点进去。然后你会看到上面有个"Marketplace"(市场),点它。搜索
- [openwrt-21.02] T750平台MT7916修改TxPower不生效问题分析及解决方案
wellnw
WiFiDriver功能实现WiFi
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- BAT文件启动程序
zhlei_12345
经验分享
文章目录前言一、设置变量set二、使用变量%%三、设置PATH环境变量四、切换工作目录cd五启动start命令六例子前言本文记录如何使用bat批处理文件启动带有命令行参数的程序首先需要新建扩展名为“.bat”的文件编辑批处理文件启动文件的顺序:设置变量使用变量设置环境变量PATH设置工作目录(可选)启动程序一、设置变量setsetCONFIG=RDebugsetwork_path=D:\STWOR
- Using Intel Inspector to Monitor Programs
东北豆子哥
HPC/MPI数值计算/数值优化FortranHPC
UsingIntelInspectortoMonitorProgramsIntelInspectorDOCIntelInspectorisapowerfulmemoryandthreaddebuggerthathelpsidentifymemoryerrors,threadingissues,andotherbugsinyourapplications.Here’showtouseit:Insta
- cpp_isort, 一个模仿python中的isort, 对头文件按照google C++代码风格排序的脚本
c++
工具说明脚本地址https://github.com/chuzhixing/isort免责声明与风险提醒重要提示:本脚本可能存在误删除源代码内容的风险。请务必仔细阅读以下内容。本Python脚本旨在模仿isort的功能,用于对C++源代码文件中的#include头文件进行排序。但请注意,本脚本并非完善,功能可能存在缺陷(bugs)。强烈建议您在使用本脚本之前,务必对您的C++源代码进行完整备份。使
- Spyglass 脚本
早睡身体好~
芯片设计中的脚本verilog
Spyglass小白可以使用Gui界面进行debugSpyglass检查(一)作为IC设计人员,熟练掌握数字前端语法检查工具Spyglass的重要性不言而喻,本文讲解景芯SoChttps://mp.weixin.qq.com/s/fp07o-AvaQvLT79Di0Tb7A熟悉电路和软件之后可以使用脚本完成整个流程spyglass脚本-知乎(zhihu.com)https://zhuanlan.z
- 今日调试的bug
扑满猴
iOS
1.真机调试报错问题:DetailsCouldnotlaunch“XXX”Domain:IDEDebugSessionErrorDomainCode:3FailureReason:“LYJ”的iPhonehasdeniedthelaunchrequest.Internallauncherror:processlaunchfailed:failedtogetthetaskforprocess9043
- 请列举你所了解的测试工具
cfjybgkmf
软件工程课程作业软件工程
测试管理:svn、git白盒测试工具:jtestjava代码扫描工具:findbugs、TscanCode网络测试工具:wireshark、tcapp自动化工具:uiautomator
- NestJs bull 用法
在你之后
node.js
bull简介队列bullbull用法https://github.com/OptimalBits/bullBulliscurrentlyinmaintenancemode,weareonlyfixingbugs.FornewfeaturescheckBullMQ,amodernrewrittenimplementationinTypescript.Youarestillverywelcometou
- VS中在输出窗口输出调试日志
山中毒蘑菇
VSvisualstudiocode
VS中输出日志到输出窗口界面stringstr;str.Format("输出日志");OutputDebugString(str.c_str());
- 【openwrt-21.02】T750 openwrt WiFi 开启bandsteering操作说明
wellnw
功能实现及问题处理openwrt
Openwrt版本NAME="OpenWrt"VERSION="21.02-SNAPSHOT"ID="openwrt"ID_LIKE="ledeopenwrt"PRETTY_NAME="OpenWrt21.02-SNAPSHOT"VERSION_ID="21.02-snapshot"HOME_URL="https://openwrt.org/"BUG_URL="https://bugs.openw
- 现代前端工程化实践:高效构建的秘密
程序员小续
前端javascript前端框架ecmascriptvue.js开发语言webpack
一、前端工程化错误监控这种监控可以帮助开发人员及时发现和解决问题,提高应用程序的稳定性和可靠性。1.Sentry:Sentry是一款开源的错误监控平台,可以监控前端、后端以及移动端应用程序中的错误和异常。Sentry提供了实时错误报告、错误分析和错误解决方案等功能。2.Bugsnag:Bugsnag是一款专门用于监控Web应用程序和移动应用程序的错误监控工具。它可以捕获JavaScript异常、网
- 分享升级spotbugs-maven-plugin 4.8.6.0遇到的坑(内附稳定运行的jdk和maven版本)
测试开发Kevin
白盒测试java单元测试
SpotBugs介绍SpotBugs是Findbugs的继任者(Findbugs已经不再维护),用于对Java代码进行静态分析,查找相关的漏洞,SpotBugs比Findbugs拥有更多的校验规则。静态分析会检查Java字节码(.class文件)是否存在错误模式(错误模式是一种经常容易出错的代码表达式/习惯用法,其中主要包括:错误使用编程语言的某些特性、误用的API方法、在维护期间修改代码时误解变
- 【jyy os 2024】并发
Shadow10260530
READmorebooks学习方法
05-多处理器编程共享内存推翻了“原子性”的假设,同时也出现了并发性的Bugs同时由于并发性的出现,编译的很多优化是不能做的了06-并发控制:互斥(1)(Peterson算法、原子操作、自旋锁)互斥->控制并发的出现->那为什么还需要并发?->代码是有一部分没办法并发执行,有一部分可以并发执行的->实际的计算是可以并行的。我们可以用很少的时间(阻止并发),把计算任务分配出去,剩下的时间都是在做局部
- shell之大小写转换
happytree001
shell
1.小写转大写1.1全部转换成大写${str^^}$ls00-RELEASENOTESCOPYINGMakefiledepsruntest-clustersentinel.confutilsBUGSINSTALLREADME.mdredis.confruntest-moduleapisrcCONTRIBUTINGMANIFESTOTLS.mdruntestruntest-sentineltests
- mondb入手
木zi_鸣
mongodb
windows 启动mongodb 编写bat文件,
mongod --dbpath D:\software\MongoDBDATA
mongod --help 查询各种配置
配置在mongob
打开批处理,即可启动,27017原生端口,shell操作监控端口 扩展28017,web端操作端口
启动配置文件配置,
数据更灵活 
- 大型高并发高负载网站的系统架构
bijian1013
高并发负载均衡
扩展Web应用程序
一.概念
简单的来说,如果一个系统可扩展,那么你可以通过扩展来提供系统的性能。这代表着系统能够容纳更高的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:
1.
- DISPLAY变量和xhost(原创)
czmmiao
display
DISPLAY
在Linux/Unix类操作系统上, DISPLAY用来设置将图形显示到何处. 直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0, 此时可以打开终端, 输出图形程序的名称(比如xclock)来启动程序, 图形将显示在本地窗口上, 在终端上输入printenv查看当前环境变量, 输出结果中有如下内容:DISPLAY=:0.0
- 获取B/S客户端IP
周凡杨
java编程jspWeb浏览器
最近想写个B/S架构的聊天系统,因为以前做过C/S架构的QQ聊天系统,所以对于Socket通信编程只是一个巩固。对于C/S架构的聊天系统,由于存在客户端Java应用,所以直接在代码中获取客户端的IP,应用的方法为:
String ip = InetAddress.getLocalHost().getHostAddress();
然而对于WEB
- 浅谈类和对象
朱辉辉33
编程
类是对一类事物的总称,对象是描述一个物体的特征,类是对象的抽象。简单来说,类是抽象的,不占用内存,对象是具体的,
占用存储空间。
类是由属性和方法构成的,基本格式是public class 类名{
//定义属性
private/public 数据类型 属性名;
//定义方法
publ
- android activity与viewpager+fragment的生命周期问题
肆无忌惮_
viewpager
有一个Activity里面是ViewPager,ViewPager里面放了两个Fragment。
第一次进入这个Activity。开启了服务,并在onResume方法中绑定服务后,对Service进行了一定的初始化,其中调用了Fragment中的一个属性。
super.onResume();
bindService(intent, conn, BIND_AUTO_CREATE);
- base64Encode对图片进行编码
843977358
base64图片encoder
/**
* 对图片进行base64encoder编码
*
* @author mrZhang
* @param path
* @return
*/
public static String encodeImage(String path) {
BASE64Encoder encoder = null;
byte[] b = null;
I
- Request Header简介
aigo
servlet
当一个客户端(通常是浏览器)向Web服务器发送一个请求是,它要发送一个请求的命令行,一般是GET或POST命令,当发送POST命令时,它还必须向服务器发送一个叫“Content-Length”的请求头(Request Header) 用以指明请求数据的长度,除了Content-Length之外,它还可以向服务器发送其它一些Headers,如:
- HttpClient4.3 创建SSL协议的HttpClient对象
alleni123
httpclient爬虫ssl
public class HttpClientUtils
{
public static CloseableHttpClient createSSLClientDefault(CookieStore cookies){
SSLContext sslContext=null;
try
{
sslContext=new SSLContextBuilder().l
- java取反 -右移-左移-无符号右移的探讨
百合不是茶
位运算符 位移
取反:
在二进制中第一位,1表示符数,0表示正数
byte a = -1;
原码:10000001
反码:11111110
补码:11111111
//异或: 00000000
byte b = -2;
原码:10000010
反码:11111101
补码:11111110
//异或: 00000001
- java多线程join的作用与用法
bijian1013
java多线程
对于JAVA的join,JDK 是这样说的:join public final void join (long millis )throws InterruptedException Waits at most millis milliseconds for this thread to die. A timeout of 0 means t
- Java发送http请求(get 与post方法请求)
bijian1013
javaspring
PostRequest.java
package com.bijian.study;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURL
- 【Struts2二】struts.xml中package下的action配置项默认值
bit1129
struts.xml
在第一部份,定义了struts.xml文件,如下所示:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts
- 【Kafka十三】Kafka Simple Consumer
bit1129
simple
代码中关于Host和Port是割裂开的,这会导致单机环境下的伪分布式Kafka集群环境下,这个例子没法运行。
实际情况是需要将host和port绑定到一起,
package kafka.examples.lowlevel;
import kafka.api.FetchRequest;
import kafka.api.FetchRequestBuilder;
impo
- nodejs学习api
ronin47
nodejs api
NodeJS基础 什么是NodeJS
JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了docum
- java-64.寻找第N个丑数
bylijinnan
java
public class UglyNumber {
/**
* 64.查找第N个丑数
具体思路可参考 [url] http://zhedahht.blog.163.com/blog/static/2541117420094245366965/[/url]
*
题目:我们把只包含因子
2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14
- 二维数组(矩阵)对角线输出
bylijinnan
二维数组
/**
二维数组 对角线输出 两个方向
例如对于数组:
{ 1, 2, 3, 4 },
{ 5, 6, 7, 8 },
{ 9, 10, 11, 12 },
{ 13, 14, 15, 16 },
slash方向输出:
1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
backslash输出:
4
3
- [JWFD开源工作流设计]工作流跳跃模式开发关键点(今日更新)
comsci
工作流
既然是做开源软件的,我们的宗旨就是给大家分享设计和代码,那么现在我就用很简单扼要的语言来透露这个跳跃模式的设计原理
大家如果用过JWFD的ARC-自动运行控制器,或者看过代码,应该知道在ARC算法模块中有一个函数叫做SAN(),这个函数就是ARC的核心控制器,要实现跳跃模式,在SAN函数中一定要对LN链表数据结构进行操作,首先写一段代码,把
- redis常见使用
cuityang
redis常见使用
redis 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets
引入jar包 jedis-2.1.0.jar (本文下方提供下载)
package redistest;
import redis.clients.jedis.Jedis;
public class Listtest
- 配置多个redis
dalan_123
redis
配置多个redis客户端
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&quo
- attrib命令
dcj3sjt126com
attr
attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
- Yii使用公共函数
dcj3sjt126com
yii
在网站项目中,没必要把公用的函数写成一个工具类,有时候面向过程其实更方便。 在入口文件index.php里添加 require_once('protected/function.php'); 即可对其引用,成为公用的函数集合。 function.php如下:
<?php /** * This is the shortcut to D
- linux 系统资源的查看(free、uname、uptime、netstat)
eksliang
netstatlinux unamelinux uptimelinux free
linux 系统资源的查看
转载请出自出处:http://eksliang.iteye.com/blog/2167081
http://eksliang.iteye.com 一、free查看内存的使用情况
语法如下:
free [-b][-k][-m][-g] [-t]
参数含义
-b:直接输入free时,显示的单位是kb我们可以使用b(bytes),m
- JAVA的位操作符
greemranqq
位运算JAVA位移<<>>>
最近几种进制,加上各种位操作符,发现都比较模糊,不能完全掌握,这里就再熟悉熟悉。
1.按位操作符 :
按位操作符是用来操作基本数据类型中的单个bit,即二进制位,会对两个参数执行布尔代数运算,获得结果。
与(&)运算:
1&1 = 1, 1&0 = 0, 0&0 &
- Web前段学习网站
ihuning
Web
Web前段学习网站
菜鸟学习:http://www.w3cschool.cc/
JQuery中文网:http://www.jquerycn.cn/
内存溢出:http://outofmemory.cn/#csdn.blog
http://www.icoolxue.com/
http://www.jikexue
- 强强联合:FluxBB 作者加盟 Flarum
justjavac
r
原文:FluxBB Joins Forces With Flarum作者:Toby Zerner译文:强强联合:FluxBB 作者加盟 Flarum译者:justjavac
FluxBB 是一个快速、轻量级论坛软件,它的开发者是一名德国的 PHP 天才 Franz Liedke。FluxBB 的下一个版本(2.0)将被完全重写,并已经开发了一段时间。FluxBB 看起来非常有前途的,
- java统计在线人数(session存储信息的)
macroli
javaWeb
这篇日志是我写的第三次了 前两次都发布失败!郁闷极了!
由于在web开发中常常用到这一部分所以在此记录一下,呵呵,就到备忘录了!
我对于登录信息时使用session存储的,所以我这里是通过实现HttpSessionAttributeListener这个接口完成的。
1、实现接口类,在web.xml文件中配置监听类,从而可以使该类完成其工作。
public class Ses
- bootstrp carousel初体验 快速构建图片播放
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
img{
border: 1px solid white;
box-shadow: 2px 2px 12px #333;
_width: expression(this.width > 600 ? "600px" : this.width + "px");
_height: expression(this.width &
- SparkSQL读取HBase数据,通过自定义外部数据源
superlxw1234
sparksparksqlsparksql读取hbasesparksql外部数据源
关键字:SparkSQL读取HBase、SparkSQL自定义外部数据源
前面文章介绍了SparSQL通过Hive操作HBase表。
SparkSQL从1.2开始支持自定义外部数据源(External DataSource),这样就可以通过API接口来实现自己的外部数据源。这里基于Spark1.4.0,简单介绍SparkSQL自定义外部数据源,访
- Spring Boot 1.3.0.M1发布
wiselyman
spring boot
Spring Boot 1.3.0.M1于6.12日发布,现在可以从Spring milestone repository下载。这个版本是基于Spring Framework 4.2.0.RC1,并在Spring Boot 1.2之上提供了大量的新特性improvements and new features。主要包含以下:
1.提供一个新的sprin