1、格式化输入和输出(1)What标准库定义了一组操纵符(本质是函数或对象)来修改流的格式状态当操作符改变流的格式状态时,通常改变后的状态对所有后续IO都生效(2)WhichA.控制布尔值的格式boolbFlag=true;std::cout<
学习笔记2:redis基本操作
学习笔记2:redis基本操作启动服务在命令行中输入以下指令即可启动redis服务:[redis-server文件的路径][redis.conf文件的路径]进入客户端在命令行中输入以下指令即可进入操作redis的客户端:[redis-cli文件的路径]常用操作redis服务的指令#启动redis服务systemctlstartredis#重启redis服务systemctlrestartredis
es7-8特性
\光辉岁月/
ecmascriptjavascript开发语言ecmascript
es7新特性Array.prototype.includesIncludes方法用来检测数组中是否包含某个元素,返回布尔类型值。//includesindexof这两个方法都可以实现检查数组是否包含某个元素constmingzhu=["西游记","红楼梦","三国演义","水浒传"];//判断console.log(mingzhu.includes("西游记"));//trueconsole.lo
python网络安全实战_基于Python网络爬虫实战
weixin_39907850
python网络安全实战
文件的操作:一般都要使用os模块和os.path模块importos.pathos.path.exists('D:\\Python\\1.txt')#判断文件是否存在abspath(path)#返回path所在的绝对路径dirname(p)#返回目录的路径exists(path)#判断文件是否存在getatime(filename)#返回文件的最后访问时间getctime(filename)#返回
Java GC是任意时候都能进行的吗?
java1234_小锋
javajava开发语言
大家好,我是锋哥。今天分享关于【JavaGC是任意时候都能进行的吗?】面试题。希望对大家有帮助;JavaGC是任意时候都能进行的吗?超硬核AI学习资料,现在永久免费了!Java的垃圾回收(GC)并不是任意时刻都能进行的。GC的执行有一定的规则和条件:垃圾回收的触发时机:堆内存不足:当Java堆内存空间不足时,垃圾回收会被触发,试图回收不再使用的对象来腾出内存。手动触发:可以通过System.gc(
【LLaMA 3实战】6、LLaMA 3上下文学习指南:从少样本提示到企业级应用实战
无心水
LLaMA3模型实战专栏llamaLLaMA3实战LLaMa3上下文AI入门程序员的AI开发第一课人工智能AI
一、上下文学习(ICL)的技术本质与LLaMA3突破(一)ICL的核心原理与模型机制上下文学习(In-ContextLearning)的本质是通过提示词激活预训练模型的元学习能力,使模型无需微调即可适应新任务。LLaMA3的ICL架构通过以下机制实现突破:任务抽象:从示例中提取输入输出映射规则,如情感分析中的正负向判断模式模式泛化:将规则迁移到新输入,支持跨领域知识迁移动态适应:实时调整注意力分布
人工智能-基础篇-10-什么是卷积神经网络CNN(网格状数据处理:输入层,卷积层,激活函数,池化层,全连接层,输出层等)
weisian151
人工智能人工智能cnn神经网络
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种专为处理网格状数据(如图像、视频、音频)设计的深度学习模型。它通过模拟生物视觉机制,从原始数据中自动提取多层次的特征,最终实现高效的分类、检测或生成任务。1、核心概念与原理1、生物视觉启发局部感受野:模仿人类视觉皮层神经元仅响应局部区域刺激的特性,每个神经元关注输入数据的局部区域(如图像的一小块区域)。权值共享:同一
什么是 A/B 测试?
茫茫人海一粒沙
人工智能
一,什么是A/B测试?A/B测试的基本思想是:将用户随机分成两组,分别使用不同的版本,观察结果差异是否显著。A组:使用旧版本(或基线方案)B组:使用新版本(或新模型)然后对比它们的表现,例如:点击率(CTR)转化率(ConversionRate)用户停留时长任务完成率微调后模型的自动应答准确率、满意度等二,为什么叫A/B?A代表“控制组”(ControlGroup):通常是当前线上正在运行的版本B
微调大语言模型后,如何评估效果?一文讲清
茫茫人海一粒沙
人工智能
在做大语言模型(LLM)微调时,“怎么判断模型调得好不好”是必须回答的问题。无论是在研究、项目落地,还是面试中,评估方法都不能停留在“训练loss降了”这么简单。本文从评估目标、技术指标、业务适配、实战建议四个维度,讲清楚微调后的模型评估怎么做,为什么这么做。一,评估前,先搞清楚目标不同的微调目的,评估方式也不同:✅精调任务能力:判断模型是否更好完成分类、问答、摘要、代码生成等任务。✅领域适应:关
autobank渗流分析计算教程_高土石坝坡稳定性分析
Oliverzzzhang
原标题:基于滑弧动力有限元耦合法的高土石坝坝坡稳定性分析摘要:为研究高土石坝坝坡的稳定性,以某水电站高土石坝坝坡为例,采用条分法与有限元法耦合的计算方法进行分析,选取3个典型断面,对其设计工况和校核工况下的上下游断面的安全系数进行计算。计算结果表明:(1)下游坝坡最小安全系数比上游大,设计工况安全系数比校核工况安全系数大;(2)3个断面在各工况下取得最小值的时刻近似,符合坝坡稳定的计算规律;(3)
解锁UV工具新玩法:让Python脚本运行更高效的实用技巧
marao
pythonuv深度学习开发语言人工智能
作为Python开发者,你是否经常被依赖安装的漫长等待、虚拟环境的繁琐管理,或是脚本分享时“环境不一致”的问题困扰?近年来,一款名为UV的工具悄然兴起,它不仅以极速安装依赖著称,更通过一系列创新设计重构了Python脚本的运行逻辑。本文主要介绍UV的三大实用技巧,从“依赖即代码”到“动态环境隔离”,体验真正“即写即跑”的高效开发模式。1.极速启动:1秒搞定依赖安装,告别虚拟环境烦恼传统Python
TVFEMD-CPO-TCN-BiLSTM多输入单输出模型
微光-沫年
matlab回归机器学习
47-TVFEMD-CPO-TCN-BiLSTM多输入单输出模型适合单变量,多变量时间序列预测模型(可改进,加入各种优化算法)时变滤波的经验模态分解TVFEMD时域卷积TCN双向长短期记忆网络BiLSTM时间序列预测模型另外以及有TCN-BILSTMTCN-LSTMTCN-BiLSTM-ATTENTION等!(此不包含在内,另算的!)Matlab代码!
Python包管理新纪元:极速工具 uv 完全指南(2025最新版)
coder_风逝
Python数据挖掘分析pythonuv开发语言
作为Python开发者,你是否还在忍受pip缓慢的依赖解析速度?是否厌倦了在virtualenv、pip-tools和poetry之间来回切换?今天我要向大家介绍一款革命性的工具—uv,它将彻底改变你的Python开发体验!一、uv是什么?uv是由打造了Ruff(Python超速Linter)的Astral团队开发的全新Python包管理工具,基于Rust编写,旨在成为"Python界的Cargo
可达性分析算法Test
ThetaarSofVenice
算法javajvm
可达性分析算法相对于引用计数算法而言,可达性分析算法同样具备实现简单和执行高效等特点,更重要的是,该算法可以有效地解决在引用计数算法中循环引用的问题,防止内存泄漏的发生,这个算法目前较为常用。Java语言选择使用可达性分析算法判断对象是否存活。这种类型的垃圾收集通常叫作追踪性垃圾收集(TracingGarbageCollection),它的基本流程如下。可达性分析算法是以GCRoot(根对象)(见
Promise源码解析
天涯学馆
Web大前端全栈架构前端javascript开发语言
Promise核心原理Promise状态管理机制Promise的核心在于其三种不可变状态的管理:pending(等待态):初始状态,既不是成功也不是失败fulfilled(成功态):操作成功完成rejected(失败态):操作失败状态转换规则:pending→fulfilled(只能转换一次)pending→rejected(只能转换一次)fulfilled/rejected状态不可再改变//简化
人工智能的发展历程与未来展望
唐骁虎
ai
人工智能的发展历程与未来展望一、人工智能的起源与早期发展1.1人工智能的定义与概念起源人工智能(AI)的定义与概念起源可追溯至20世纪中叶,当时一群具有远见的科学家和工程师开始探索机器是否能够模拟人类智能行为。1956年,在达特茅斯会议上,约翰·麦卡锡首次提出了“人工智能”这一术语,标志着该领域的正式诞生。AI的定义涉及创建能够执行需要人类智能的任务的机器,如视觉感知、语音识别、决策和语言翻译等。
材料力学数值方法:有限元法(FEM)在流体力学中的应用_2024-08-04_00-17-21.Tex
chenjj4003
材料力学算法计算机视觉人工智能机器学习网络
材料力学数值方法:有限元法(FEM)在流体力学中的应用绪论有限元法的基本概念有限元法(FiniteElementMethod,FEM)是一种数值计算方法,用于求解复杂的工程问题,如结构力学、热传导、流体力学等。它将连续的物理域离散化为有限数量的、形状规则的子域,即“有限元”。每个子域内的物理量(如位移、压力、温度等)用多项式函数近似表示,通过在每个子域内应用物理定律(如牛顿第二定律、连续性方程等)
rollupOptions 详细讲解,如何优化性能
东心十
vue.js
RollupOptions详细讲解与性能优化Rollup是一个JavaScript模块打包器,特别适合用于库和应用的打包。rollupOptions是在使用Vite、WMR等构建工具时配置Rollup的选项对象。下面我将详细讲解rollupOptions的各个配置项以及如何优化打包性能。核心配置项详解输入(input)javascriptrollupOptions:{input:‘src/main
ai工具推荐系列:文生图,图生图工具liblibAi
风生水气
ai应用体验人工智能深度学习神经网络
在ai应用泛滥的今天,你是否也想通过简单的描述来创作一张这样高质量的图片?你可能听过一些比较知名软件,比如Midjourney,Stability.ai等,但是这些软件在国内访问起来都不是很方便。今天推荐一个国内可以访问的且可以生成较高自由度的图片生成工具---liblibAi。相比于国内其他的文生图,图生图工具,它拥有更多的参数可供调节,可以从不同粒度约束图片最终的生成效果。对于专业的同学来说更
串口输出的三种方式
Ricardo.lucky
STM32学习笔记linux运维服务器
目录一、输入输出重定向二、使用sprintf的Usart_SendString三、封装sprintf一、输入输出重定向这个是使用输入输出重定向,将输出的内容使用scanf()或getchar()从写入,使用printf的格式打印出来。使用这个输出重定向和输出重定向的时候需要使用头文件。输入重定向中只能通过使用这个函数是让scanf()或getchar()从串口读取一个字符。/*这个是输出重定向*/
Java--方法递归
介绍:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂问题,同时让代码变得简介。递归重要规则:1.执行一个方法时,就创建一个新的受保护的独立空间2.方法的局部变量是独立的,不会相互影响,比如n变量3.如果方法中使用的是引用类型变量(比如数组,对象),就会共享该引用类型的数据。4.递归必须向退出递归的条件逼近,否则就是无限递归,5.当一个方法执行完毕,或者遇到retur,
2025年上半年软考系统架构设计师--案例分析试题与答案
不对法
计算机软考机考系统架构
必选题一:大模型训练系统某公司开发一个在线大模型训练平台,支持Python代码编写、模型训练和部署,用户通过python编写模型代码,将代码交给系统进行模型代码的解析,最终由系统匹配相应的计算机资源进行输出,用户不需要关心底层硬件平台。a.系统发生错误时,不影响正常运行时发送一个消息给系统管理员(可靠性。ps:可靠性中包括了健壮性:指的是保护应用程序不受错误使用和错误输入的影响,在发生意外错误事件
在VMware下安装Ubuntu12后出现的问题解决方法
shanzhizi
Linuxvmwareubuntu
今天再VMware9.0下安装了Ubuntu12.04的桌面版,结果安装成功,重启后输入用户密码,图形界面卡住没有反应了,但是可以进入字符界面。网上搜索找到了一个解决方法,尝试了一下果然可以,记录下来供大家参考吧:l另外还有一个问题,开机老是提示piix4_smbus0000:00:007.3:HostSMBuscontrollernotenabled,虽然说不会影响系统的正常运行,但是很影响开机
《伴时匣》app开发技术分享--表单提交准备(4)
鸿蒙小林
鸿蒙端云一体化harmonyos
技术栈Appgalleryconnect开发准备上一节我们实现了用户登录功能,现在我们进入首页,可以开始准备着手发布我们的日期计划了,在这之前我们先实现信息表的创建。在首页实现一个标题栏,一个悬浮的按钮。功能分析我们的信息表要展示的内容很多,首先是我们的事件名称,目标日期选择,公历农历,正数倒数,倒数类目的选择,是否实现置顶效果,是否显示精确时间,事件颜色,事件图标,事件心情,事件天气,跟用户绑定
苍穹外面Day10
guslegend
python数据库java
SpringTaskSpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。定位:定时任务框架作用:定时自动执行某段Java代码cron表达式cron表达式其实就是一个字符串,通过cron表达式可以定义任务触发的时间构成规则:分为6或7个域,由空格分隔开,每个域代表一个含义每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)举例:2022年10月12
Qt 各种功能学习笔记
栈不收
qt学习笔记
目录1.Qt关于数据库1.1Qt链接数据库1.2将数据库的模型显示在控件中2.Qt关于控件2.1用正则表达式设置输入框只能输入正浮点数2.2设置QDateTimeEdit的时间格式和设置为当前时间1.Qt关于数据库1.1Qt链接数据库基础教学:使用Qt链接MySql数据库_qt连接mysql_栈不收的博客-CSDN博客需要注意的问题:在链接MySQL的时候,首先要确保MySQL已经安装成功在目录Q
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