- Apache TVM:开源深度学习编译器栈的领跑者
计攀建Eliza
ApacheTVM:开源深度学习编译器栈的领跑者tvmOpendeeplearningcompilerstackforcpu,gpuandspecializedaccelerators项目地址:https://gitcode.com/gh_mirrors/tv/tvm项目介绍ApacheTVM是一个专为深度学习系统设计的编译器栈。它旨在弥合生产力导向的深度学习框架与性能和效率导向的硬件后端之间的差
- [Android]service命令的使用
aaajj
Androidandroid
在前面的讨论中,我们说到,如果在客户端懒得使用aidl文件生成的接口类进行binder,可以使用IBinder的transcat方法ParceldataParcel=Parcel.obtain();ParcelresultParcel=Parcel.obtain();dataParcel.writeInterfaceToken(DESCRIPTOR);//发起请求aProxyBinder.tran
- 基于Python增加抖音视频播放量的代码
sh_moranliunian
蜘蛛侠网络爬虫后端python爬虫
一、思路通过发送HTTP请求来实现这一功能。代码主要功能的简要介绍:1.`get_ttwid`:这个函数用于获取`ttwid`,它是通过向字节跳动的接口发送POST请求,并从响应的cookie中提取`ttwid`值。2.`get_web_id`:这个函数用于获取`web_id`,它是通过向某个API发送POST请求,并从响应中提取`web_id`。3.`get_ms_token`:这个函数生成一个
- 词表设计:特殊Token区域与共享去区域的深入探讨
东方佑
开发语言
在自然语言处理(NLP)中,Tokenizer的设计对于模型性能有着至关重要的影响。Tokenizer不仅决定了文本如何被分割成更小的单位(即token),还决定了这些token如何被映射到模型可以理解的形式。本文将详细探讨一种特殊的Tokenizer设计方法——特殊Token区域与共享去区域的设计理念,并介绍其应用场景和实现方式。特殊Token区域概述特殊Token区域通常包括一些特定的标识符,
- 【llm对话系统】大模型源码分析之llama模型的long context更长上下文支持
kakaZhui
llama深度学习pytorchAIGCchatgpt
1.引言Llama模型的一个重要特性是支持长上下文处理。本文将深入分析Llama源码中实现长上下文的关键技术点,包括位置编码(positionembedding)的外推方法、注意力机制的优化等。我们将通过详细的代码解析来理解其实现原理。2.位置编码的外推实现2.1旋转位置编码(RoPE)基础Llama采用旋转位置编码(RoPE,RotaryPositionEmbedding)来编码token的位置
- TypeScript 学习 -类型 - 10
草明
TypeScripttypescript学习前端
编写声明文件编写ts的声明文件源文件是ts文件,可以自动生成生命文件tsconfig.json:{"compilerOptions":{"target":"es2016","module":"commonjs","declaration":true,"outDir":"./dist","declarationDir":"./dist/types","esModuleInterop":true,"f
- 各大模型厂商API使用:百度、阿里、豆包、kimi、deepseek、Yi
loong_XL
深度学习大模型AI百度大模型
百度ERNIE(支持requests接口)ERNIESpeed、ERNIELite免费免费测试下来模型ernie_speed输出吞吐量计算20-30来个,“{length/cost}tokens/s”输出总长度/耗时https://qianfan.cloud.baidu.com/文档:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/dltgsna1oapi
- Could not transfer metadata ../maven-metadata.xml from/to nexus ..: Not authorized
ThisSide、
Maven
在使用私服nexus,打包的时候一直抱以下的错误Couldnottransfermetadatacom.funtl:itoken-dependencies:1.0.0-SNAPSHOT/maven-metadata.xmlfrom/tonexus(http://192.168.134.129:8081/repository/maven-public/):Notauthorized子项目的pom.x
- 如何评价deepseek上线的deepseek-V3模型?怎么使用?
百态老人
学习
DeepSeek-V3模型是深度求索公司最新推出的自研MoE(混合专家)模型,具有6710亿参数,激活参数为370亿,经过14.8万亿token的预训练。该模型在多项评测中表现出色,超越了Qwen2.5-72B和Llama-3.1-405B等开源模型,并与世界顶尖的闭源模型如GPT-4o和Claude-3.5-Sonnet相媲美。性能评价性能表现:DeepSeek-V3在知识类任务、长文本处理、代
- 【AI论文】Omni-RGPT:通过标记令牌统一图像和视频的区域级理解
东临碣石82
人工智能
摘要:我们提出了Omni-RGPT,这是一个多模态大型语言模型,旨在促进图像和视频的区域级理解。为了在时空维度上实现一致的区域表示,我们引入了TokenMark,这是一组在视觉特征空间中突出目标区域的标记。这些标记通过使用区域提示符(例如,边框或掩码)直接嵌入到空间区域中,并同时融入到文本提示符中以指定目标,从而在视觉标记和文本标记之间建立了直接联系。为了进一步支持无需轨迹的稳健视频理解,我们引入
- DeepSeek 模型:架构创新与实际应用详解
汪子熙
人工智能架构语言模型人工智能
DeepSeek模型是近年来在自然语言处理(NLP)领域备受瞩目的开源大规模语言模型系列。其最新版本DeepSeek-V3采用了混合专家(Mixture-of-Experts,MoE)架构,拥有6710亿个参数,每个词元(token)激活370亿个参数。该模型在多项基准测试中表现出色,性能媲美GPT-4和Claude等领先的闭源模型。以下将详细介绍DeepSeek模型的架构、用途,并通过具体案例和
- Deepseek爆火背后的多Token技术预测
明哲AI
AIGC人工智能大模型RAG多token预测deepseek
近年来,大语言模型(LLMs)的发展如火如荼,它们在聊天机器人、文档生成、代码编写等领域大放异彩。然而,随着模型规模的增加,生成效率也成为了一大瓶颈。传统的自回归语言模型需要逐字生成(token-by-token),这种方式不仅耗时,还限制了模型在实时场景中的表现。那么,有没有一种方法可以加快生成速度,同时保持文本质量?答案是:多Token预测(Multi-TokenPrediction,MTP)
- 【DeepSeek】大模型强化学习训练GRPO算法,你学会了吗?
FF-Studio
DeepSeekR1算法
如果你还不知道GRPO,你可以先看这篇帖子:【DeepSeek】一文详解GRPO算法——为什么能减少大模型训练资源?看了论文跟没看一样?做两道题练练!曾经最痛恨的应试教育,却能让你深深记住这知识点。由ChatGPTo1pro生成,o1pro的输出token和写作能力比DeepSeekR1强。GRPO原论文链接:https://arxiv.org/abs/2402.03300GRPO中译文链接:ht
- 【Spring AI】02. AI 概念
小明同学的开发日常
SpringAIspring人工智能chatgpt
文章目录概述模型(Models)提示词(Prompts)提示词模板(PromptTemplates)嵌入向量(Embeddings)令牌(Tokens)输出解析(OutputParsing)将您的数据引入AI模型(BringingYourDatatotheAImodel)检索增强生成(RetrievalAugmentedGeneration-RAG)函数调用(FunctionCalling)评估A
- ubuntu18.04 交换区扩容
Oliver-H
环境搭建C_C++ubuntuc++
Ubuntu18.04运行程序时,报以下错误:g++:internalcompilererror:Killed(programcc1plus)g++:internalcompilererror:Killed(programcc1plus)Pleasesubmitafullbugreport搞了老半天,终于解决了,记录一下,免得忘记!!!出现以上问题原因是内存不足,使用交换分区来解决:1、查看交换分
- 【ChatBI】text2sql-不需要访问数据表-超轻量Python库Vanna快速上手,对接oneapi
机器玄学实践者
oneapivannachatbidbgptnl2sql
oneapi准备首先确保你有oneapi,然后申请kimi的api需要去MoonshotAI-开放平台然后添加一个apikey然后打开oneapi的渠道界面,添加kimi。然后点击测试,如果能生成响应时间,就是配置正确。然后创建令牌http://xxx:3000/token,模型名是moonshot-v1-8k然后复制token,token是sk开头的一串密码。其他平台接入也是类似操作,不懂的读者
- 解决异步数据导致数据出现覆盖的问题
qq_38874734
前端
多次请求数据,A先请求,响应时间长B后请求,响应时间短,预期获得B数据,结果被A覆盖,解决办法:axios的cancelToken参考链接https://stackoverflow.com/questions/38329209/how-to-cancel-abort-ajax-request-in-axioshttps://blog.csdn.net/yexudengzhidao/article/
- 小程序使用web-view内嵌跳转另一个小程序
大龄落魄程序媛
前端小程序javascript
1、配置需要跳转的小程序地址和参数,直接跳转consturl=https://XXX.com:30443/contract/mobileSign.client?token=xxxconstarr=url.split('?')constparamsArr=arr[1].split('&')consttoken=paramsArr[0].split('=')[1]consturlTo="/pages/
- v3+ts/request封装axios
赵不困888(合作私信)
java前端javascript
1.创建一个新的axios实例2.请求拦截器,如果有token进行头部携带3.响应拦截器a.剥离无效数据b.处理token失效4.导出一个函数,调用当前的axios实例发请求,返回值promiseimportaxios,{AxiosError,typeMethod}from'axios'import{useUserStore}from'@/stores/user'//pinia存储importro
- QT +MYSQL+PYTHON,完成一个数据库表的增删改查
laocooon523857886
QTPython数据库qtmysql
ui_form.py#-*-coding:utf-8-*-##################################################################################FormgeneratedfromreadingUIfile'form.ui'####Createdby:QtUserInterfaceCompilerversion6.8.1#
- Transformers库的模板困境:apply_chat_template的版本变迁与解决方案
Gaffey大杂烩
大模型windowslinux数据库
目录问题现状低版本(4.43及以下)的简便方式高版本的报错问题原因分析旧版本的实现逻辑新版本的变化解决办法问题现状在使用Transformers库中的tokenizer处理模型输入时,我们经常需要将输入文本格式化为模型可以理解的格式。这个过程在不同版本的Transformers库中有着显著的差异。低版本(4.43及以下)的简便方式在Transformers4.43及更低版本中,当我们需要加载类似C
- [论文笔记] llama-factory 微调qwen2.5、llama3踩坑
心心喵
论文笔记深度学习人工智能
一、bug1、pre-tokenize的时候,会OOM解决:在yaml文件中添加streaming参数#tokenizestreaming:Truemax_steps:10000https://github.com/hiyouga/LLaMA-Factory/blob/3a023bca2a502810a436cfba7708df164754ea62/src/llamafactory/hparams
- LLM架构与优化:从理论到实践的关键技术
XianxinMao
人工智能
标题:“LLM架构与优化:从理论到实践的关键技术”文章信息摘要:文章探讨了大型语言模型(LLM)开发与应用中的关键技术,包括Transformer架构、注意力机制、采样技术、Tokenization等基础理论,以及模型部署、应用开发、优化等实践技能。重点分析了预训练、后训练、监督微调(SFT)和偏好对齐(PreferenceAlignment)在提升模型性能中的作用,并对比了直接偏好优化(DPO)
- 软件设计中的“后悔药”-备忘录模式
晚秋贰拾伍
备忘录模式设计模式系统安全软件需求运维开发个人开发
行为型模式的名称、定义、学习难度和使用频率如下表所示:1.如何理解备忘录模式备忘录模式(MementoPattern):在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。它是一种对象行为型模式,其别名为Token。在代码中,备忘录模式通常包含三个主要的角色:原发器(Originator)、备忘录(Memento)和负责人。原发器是需
- 开放传神(OpenCSG)手撕Sora的Diffusion Transformer (DiT)算法
OpenCSG
transformer算法深度学习人工智能stablediffusion
“Sora的出现不是偶然,而是经过长期积累、反复试错及用户反馈的必然。”OpenAI尝试过递归网络、生成对抗网络、自回归Transformer及扩散模型。最终诞生了DiffusionTransformer。其充分利用了大语言模型Token的好处,让像素也能够被预测(Patches)。Sora的诞生不亚于2023年ChatGPT的出现,因为我们的世界是一个五彩斑斓的图像和视频组成。Sora通过社区和
- ubuntu上编译fortran_Ubuntu下安装Intel Fortran编译器(ifort)
新职语
IntelFortanCompiler简称ifort,Windows下的ifort是收费的,但是Linux系统下提供免费的ifort,可以在下面的链接中下载需要的版本(必须先注册,随后会收到官网发来的邮件,里面提供了接下来安装需要的series-number)http://software.intel.com/en-us/articles/non-commercial-software-downl
- 利用IDEA反编译jar包
star9595
Java实用技能
有时使用jd-gui进行反编译不太靠谱,可以通过idea反编译方式,两者进行对比:1.利用IDEA反编译jar包(idea需要安装插件JavaBytecodeDecomplier)2.在需要编译的jar包的目录下,打开命令行界面,输入以下命令:java-cp"D:/ProgramFiles/JetBrains/IntelliJIDEA2019.1.3/plugins/java-decompiler
- vite build报错 Unexpected token (Note that you need plugins to import files that are not JavaScript)
实践是最好的老师
vuejavascript前端vue.js
原因是我在console.log语句想打印出环境变量console.log(‘import.meta.env.MODE’,import.meta.env.MODE)删除上面console.log语句就能正常打包了,并下面语句能正常打包和运行constconfig:any={dev:{baseUrl:‘http://baiduTest.com’//测试接口域名},master:{baseUrl:‘h
- ASP.NET Core Blazor编程系列: 使用JWT进行身份验证
沉静湖面
asp.net后端.NET
在ASP.NETCoreBlazor应用程序中实现身份验证是一个常见的需求。JSONWebToken(JWT)是一种流行的身份验证机制,它可以在客户端和服务器之间安全地传输信息。本文将介绍如何在ASP.NETCoreBlazor应用程序中使用JWT进行身份验证。什么是JWT?JSONWebToken(JWT)是一种开放标准(RFC7519),它定义了一种紧凑且自包含的方式来安全地在各方之间传输信息
- 【云原生】【适用小白】SpringCloud Alibaba开源Nacos切换到MSE Nacos
登云时刻
云原生云原生springcloud开源
参考阿里云官方文档:NacosClient访问鉴权非常简单,我这里代码部分只更换了2个配置字段就实现了!!!前提条件微服务架构:springcloudalibaba,框架版本升级至2.2.1.RELEASE及以上版本开启公网:本地代码注册到阿里云MSENacos是需要MSENacos开启公网弹性IP的一、选定认证方式凭证提供者初始化方式适用场景是否需要提供前置的AK或****STSToken底层实
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen