题目:55.跳跃游戏思路:贪心,维护可达的最远距离last。时间复杂度0(n)。C++版本:classSolution{public:boolcanJump(vector&nums){intlast=0;for(inti=0;i
详解Redis缓存击穿、缓存穿透、缓存雪崩
码上库利南
redis缓存redis数据库
一、缓存穿透(CachePenetration)1.1问题描述定义:查询数据库中根本不存在的数据,导致请求每次都绕过缓存直接访问数据库。特点:恶意攻击常见手段(如请求id=-1或随机乱码)。缓存和数据库均无数据,导致无效查询压垮数据库。1.2原因恶意攻击、业务逻辑漏洞(如参数校验缺失)。1.3解决方案缓存空对象(NullCaching)对数据库查询结果为null的Key,缓存一个空值(如"NULL
使用Docker+ollama部署大模型
平平无奇哈斯特
docker容器llama大模型ollama
Docker的安装----在Ubuntu系统上安装Docker一:配置系统的APT软件包管理器首先添加Docker的官方GPG密钥#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlgnupgsudoinstall-m0755-d/etc/apt/keyringscurl-fsSLhttp
CUDA out of memory内存碎片解决方法
weixin_42319617
深度学习
RuntimeError:CUDAoutofmemory.Triedtoallocate704.00MiB(GPU0;16.00GiBtotalcapacity;13.55GiBalreadyallocated;0bytesfree;14.89GiBreservedintotalbyPyTorch)Ifreservedmemoryis>>allocatedmemorytrysettingmax_s
使用 Google Cloud El Carro 和 Langchain 存储聊天消息历史
lirxx
langchain
在现代应用开发中,管理和扩展数据库能力以支持AI功能是一个重要的需求。GoogleCloud的ElCarro提供了一种运行Oracle数据库的方式,它结合了Kubernetes的强大特性,并通过Langchain集成扩展了数据库的能力。本指南将介绍如何使用ElCarro的Langchain集成来存储聊天消息历史。技术背景介绍ElCarro是一个开源、注重社区驱动的项目,允许在Kubernetes上
redis相关面试题
钟琛......
redis数据库缓存java
1.缓存穿透(CachePenetration)问题描述:查询一个数据库中根本不存在的数据。由于缓存中不会有该数据(未命中),导致每次请求都直接访问数据库,给数据库造成巨大压力,甚至压垮数据库。原因:恶意攻击:攻击者故意构造大量不存在的ID进行查询。业务逻辑错误:程序BUG导致产生大量无效请求。解决方案:缓存空对象(NullCaching/BloomFilterPre-caching):即使数据库
Android录制视频自带铺满多行水印
宝杰X7
Androidandroid音视频
文章目录引言环境要求代码实现总结引言 之前做过几种水印需求,这篇文章是关于使用Android原生库开发录制视频自带满帧文字水印。环境要求Android7.0以上AndroidStudio,官方开发者官网视频录制功能参考开源库PictureSelector的camerax库//用到的Google集成摄像头库constvalcamerax="1.4.2"constvalappcompat="1.2.0
基于 Spring AI + MCP + DeepSeek-R1-7B 构建企业级智能 Agent 工具调用系统
奔向理想的星辰大海
云原生spring人工智能java
项目背景与架构设计技术选型SpringAISpring官方推出的AI接入框架,支持LangChain、MCP、RAG等能力;MCP(ModelContextProtocol)模型与工具之间通信的协议桥梁;DeepSeek-R1-7B国产高性能开源大模型,已支持ChatCompletion、ToolCalling接口;Ragflow用作RAG架构引擎(可选);系统功能用户向模型提问模型判断是否调用工
Vue+TypeScript 枚举(Enum)的使用规范
BillKu
typescriptvue.jsubuntu
在TypeScript中,枚举(Enum)的命名应遵循以下规范,这些规范结合了TypeScript官方建议和行业最佳实践:枚举命名规范(TypeScript/Vue项目)基本命名规则:使用PascalCase(大驼峰式)命名枚举类型枚举成员使用UPPER_SNAKE_CASE(全大写+下划线)避免使用复数形式(枚举表示一组相关常量,不是集合)typescript复制下载//✅正确示例exporte
ConcurrentHashMap构造函数解析
程序员
ConcurrentHashMap构造函数解析这段代码是Java并发库中ConcurrentHashMap的构造函数实现,用于根据传入的初始容量参数设置内部数据结构的大小。让我们通过技术解析和可视化方式来理解这个关键方法的实现:代码解析图示graphTDA[构造函数入口]-->B{initialCapacity>=0?}B--No-->C[抛出IllegalArgumentException]B-
汇编语言的发明者凯瑟琳布思出过什么书吗
yifa20160404
汇编
凯瑟琳·布斯(KathleenBooth)作为汇编语言的重要奠基人,在其学术生涯中出版过至少一部具有里程碑意义的著作,并参与撰写多份影响深远的报告。以下是她的主要出版物及相关学术贡献:1.《自动数字计算器编程》(ProgrammingforanAutomaticDigitalCalculator,1958年)内容:这是凯瑟琳·布斯的代表作,也是第一本由女性撰写的编程书籍。书中系统阐述了早期计算机的
VUE + pdfh5 实现pdf 预览,主要用来uniappH5实现嵌套预览PDF
1.安装依赖npminstallpdfh52.pdfh5预览(移动端,h5)npminstallpdfh5,(会报错,需要其他依赖,不能直接用提示的语句直接npm下载,依旧会报错,npm报错:Thesedependencieswerenotfound:*canvasin./node_modules/pdfh5/js/pdf.js*dommatrix/dist/d)npminstallcanvasv
Set集合与Map集合的关系
努力奋斗的JAVA小余
Javajavajvmc++
Set集合与Map集合的关系Set的内部实现其实是一个Map。即HashSet的内部实现是一个HashMap,TreeSet的内部实现是一个TreeMap,LinkedHashSet的内部实现是一个LinkedHashMap。HashSet源码:publicHashSet(){map=newHashMapc){map=newHashMap(initialCapacity,loadFactor);}
android获取摄像头id,Camera2 上cameraid问题。
seiji morisako
我可以打开默认摄像头,但是打不开其他的摄像头。privatevoidopenCamera(finalintwidth,finalintheight){setUpCameraOutputs(width,height);configureTransform(width,height);finalCameraManagermanager=(CameraManager)getSystemService(C
adb 查看android 设备的硬盘及存储空间
微信公众号:AI创造财富
adbandroid
一、通过adb查看android设备的硬盘空间(1).adbshellcat/proc/partitionsmajorminor#blocksname2540995972zram0179015267840mmcblk017913072mmcblk0p117925120mmcblk0p2179310240mmcblk0p3179410240mmcblk0p417951024mmcblk0p51796
大模型——阿里云百炼 MCP 服务评测与 Agent 构建实战
不二人生
大模型阿里云数据库云计算人工智能大模型
大模型——阿里云百炼MCP服务评测与Agent构建实战近期,MCP(ModelCallingProtocol,模型调用协议)成为技术圈内一个高频词汇。简单来说,MCP旨在简化大型语言模型(LLM)使用外部工具或服务的过程,显著降低了开发者和用户构建复杂AI应用的门槛。随着相关协议的发布,近几个月内涌现了大量支持MCP的工具和服务。然而,尽管MCP的使用逻辑(通过自然语言向AI提出需求)相对直观,其
Linux 下部署安装docker
在Linux下部署安装Docker,不同的Linux发行版(如Ubuntu、CentOS等)安装步骤有所差异,以下是常见发行版的安装方法:Ubuntu系统更新软件包索引:打开终端,执行sudoapt-getupdate,确保获取最新的软件包信息。安装必要软件包:运行sudoapt-getinstallca-certificatescurlgnupglsb-release,这些软件包用于支持apt通
将用户添加到 Docker 组
untitle.
docker容器
安装dockersudoapt-getinstallca-certificatescurlgnupglsb-releasecurl-fsSLhttp://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudoapt-keyadd-sudoadd-apt-repository"deb[arch=amd64]http://mirrors.aliyun.co
【OpenCV】双相机结构光成像与图像交叉融合实现【python篇】
社会零时工
OpenCVpythonopencvpython相机
双相机结构光成像与图像交叉融合实现下面我将详细介绍如何使用Python实现双相机结构光成像系统及其图像交叉融合技术。这个系统通常用于三维重建、工业检测等领域。系统架构概述双相机结构光系统通常包含以下组件:两个同步的工业相机结构光投影仪(DLP或LCD)计算机处理系统标定装置实现步骤1.硬件设置与相机同步importcv2importnumpyasnpimporttimeclassDualCamer
Milvus attu - docker 使用 及 版本兼容
丽英y
实践笔记milvusdockerattu数据库向量rag
文章目录版本查看attu和milvus的兼容性Docker加载attudocker合并到Milvus文件管理使用dockercompose挂在Milvus,登录attu出现报错:Error:FailedtoconnecttoMilvus:Error:1CANCELLED:Callcancelled于是检查兼容问题版本查看Milvus版本发布:https://github.com/milvus-io
【业务框架】3C-相机-Cinemachine
黄培龙
业务框架unityunity
概述插件,做相机需求,等于相机老师傅多年经验总结的工具FeatureTransform:略ControlCamera:控制相机参数Noise:增加随机性Blend:CameraBrain的混合列表指定一个虚拟相机到另一个相机的过渡,这个过程是自动的,CameraBrain在做虚拟相机切换的时候调用指定的设置做混合多相机协作:把多个虚拟相机合并成一个,或者根据需要选择最适配的某个拓展虚拟相机:继承C
ubuntu22.04 安装docker 和docker-compose
成都犀牛
docker容器运维ubuntulinux
首先你要确保没有docker环境或者使用命令删掉dockersudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc安装docker更新软件环境sudoaptupdatesudoaptupgrade下载docker依赖和GPG密钥#依赖apt-getinstallca-certificatescurlgnupglsb-release#G
OBS macOS 虚拟摄像头项目推荐
廉艳含
OBSmacOS虚拟摄像头项目推荐obs-mac-virtualcamARCHIVED!ThispluginisofficiallyapartofOBSasofversion26.1.Seenotebelowforinfoonupgrading.CreatesavirtualwebcamdevicefromtheoutputofOBS.Especiallyusefulforstreamingsmo
Java线程池
司南锤
javajava开发语言
文章目录线程数量配置队列选择策略监控和调优线程池的核心优势性能优化资源控制响应速度提升统一管理Java线程池的实现架构ThreadPoolExecutor类任务队列机制拒绝策略线程池的工作流程常见线程池类型FixedThreadPoolCachedThreadPoolSingleThreadExecutorScheduledThreadPool最佳实践与配置建议线程数量配置队列选择策略监控和调优异
自定义protoc-gen-go生成Go结构体,统一字段命名与JSON标签风格
zhuyasen
gorpc后端
背景在日常的Go微服务开发中,ProtocolBuffers(protobuf)是广泛使用的数据交换格式。其配套工具protoc-gen-go会根据.proto文件生成Go结构体代码,但默认生成的字段名、JSONtag命名风格往往不能满足所有团队或项目的代码规范需求。比如,团队可能有以下规范或诉求:Go结构体字段名需要使用特定的PascalCase命名规则;JSONtag必须统一为snake_ca
python 文件路径 变量_python路径变量
weixin_39632467
python文件路径变量
广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!开发准备cas的pythonsdk包含了用于访问和操作cas的所有api。相关资源github地址,欢迎贡献代码以及反馈问题。环境依赖python2.7安装sdk安装sdk的方式有两种:pip安装和手动安装。方式一:使用pip安装pipinstallcassdk方式二:手动安装从git
AI(学习笔记第三课) 使用langchain进行AI开发(2)
sealaugh32
AI人工智能学习笔记
文章目录AI(学习笔记第三课)使用langchain进行AI开发(2)学习内容:1.返回结构化数据(structured_outputpydantic)1.1使用背景1.2返回结构化数据示例代码(pydantic)1.3执行测试代码2返回结构化数据(json)2.1示例代码2.2执行结果3给提供一些例子(fewshotprompting)3.1示例代码4模型绑定工具(ToolCalling)4.1
怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
[信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found