当前位置: 首页 > wzjs >正文

芜湖建设网站如何在网站后台找到死链接

芜湖建设网站,如何在网站后台找到死链接,网站开发用框架开发的优缺点,网站的数据库怎么建立引言 很久没有写文章了,因为也没在继续写项目,也很难遇到一些技术问题,其实最主要的是懒得去写了。 这是我第二次实习,但真正意义上算得上是第一次,我发现工作和个人开发还是有很大不同,个人开发追求…

引言       

        很久没有写文章了,因为也没在继续写项目,也很难遇到一些技术问题,其实最主要的是懒得去写了。

        这是我第二次实习,但真正意义上算得上是第一次,我发现工作和个人开发还是有很大不同,个人开发追求的是极致的技术,要的是登上山顶的高度;而工作追求的是你能不能到达某个点,且会有很多限制,让你限制住一些腿脚,这不太舒服,但是也比较考验项目解决能力。所以开了这个专栏,来记录一些工作中遇到的问题。

需求介绍

        这个背景也是蛮离谱,由于客户的内网策略导致无法访问 目标外网的任何资源,由于服务器资源也难以申请,也不能使用数据库等任何第三方,而且这是一个长连接(响应时间长会导致生产环境下触发超时策略)。那么我就只能这样设计,前端调后端接口带一个UUID,后端请求第三方api,把得到的数据及 UUID 作为 Key 存到内存里,然后前端拿着这个 uuid 去轮询,这样好像就万事大吉了。经理给我构思的也是这样,但是很明显这让我想到了,"内存泄漏",以前总是很难理解,只是记住定义:内存无法释放的情况是内存泄漏。

        虽然我自己写的项目也有些深度,但确实很难遇到内存泄漏的情况,因为基本三段式的开发架构,请求都是无状态的,websocket会涉及到,但由于连接有自己的生命周期,可以直接挂载到其生命周期上就可以请以完成内存清理。

        编程语言用的C#,java里的弱引用等等概念,我也不清楚.NET里有还是没有,这时候算法就派上用场了,我写代码依赖基本第一次深刻意识到算法的使用场景。

设计实现

        存储这个数据肯定用map,因为这是典型的key-value结构,key存储uuid,value存储数据,前端带着uuid 发起请求,再轮询去请求,如果有数据就拿出来,删掉。但是这个系统它是无数据存储的,假如我点击生成数据之后,刷新页面就会导致 什么情况呢? 只生产不销售,这肯定会导致愈积愈多,光靠读完就删的策略肯定不够。

        然后我就想要不这样,设置一个MAX容量,等容器超过MAX后,就删一个,可是啊map并未给你提供这个功能,接下来需要引用维护一个队列去保证,每次删掉的都是最旧的数据,这样可以基本保证数据可用。由于链表只存储一个uuid,内存占用很小,不对它进行维护。

        刚开始,我这样设计:

  1. 当请求生成数据时,链表里存uuid,map里存uuid和数据;当添加完后,容量超出就取出queue的队尾元素,然后让map根据这个元素删值
  2. 当轮询时,轮询到了就根据删map

这个好像看起来天衣无缝,但这只只建立在map和queue数据同步的情况,由于只要生成queue里就会有数据,但删除queue的元素又是个棘手的问题(需要遍历),看起来乱七八糟,我写到这里也是混乱,那么就展开分析。

        一共三种情况:

  1. 正常情况,正常存,正常取,map不变,queue多一数据
  2. 异常情况,正常存,不取,map + 1,queue也 + 1

所以queue一定会处于多于map的情况,而且是一直是这样,相当于map是queue的子集,所以删的每一个map的时候,可能会发生空删,但一定能删到,比如有下面一组数据。

[{1, null},{2, null},{3, null},{4, null},{5, null}]

[8, 3, 2, 4, 6, 1,5]

设置内存上限为5,现在要存一个{6, null},存完之后触发删除逻辑,拿出队尾元素,8去找map(O1复杂度),找不到,发生了空删,这时判断如果没有删到数据就接着删,直到有实际意义的删到,这样一来便削减了map的容量,实现了自动化,空间和时间复杂度耗费都较小。

        这时就有人问了,你这肯定不对啊,那最坏情况,没人在生成数据的时候刷新,你这不是queue无限大了,map永远触发不了削减。是这样,但queue天生支持按时间顺序丢弃元素避免内存泄漏,当queue超过指定容量,直接弹出队尾元素即可。

        本节完毕,由于这个需求过去了有段时间,所以语言表达可能不是很完善,望谅解。

        


文章转载自:

http://GY0cfzzS.fyLsz.cn
http://o3w9pfXH.fyLsz.cn
http://wUj7fHKe.fyLsz.cn
http://Netgq69l.fyLsz.cn
http://YzMtEJ0h.fyLsz.cn
http://S3s3Zbb0.fyLsz.cn
http://be1Yxj4D.fyLsz.cn
http://zykELAV6.fyLsz.cn
http://vg1uPfgs.fyLsz.cn
http://lE7Krbka.fyLsz.cn
http://nVmHykmT.fyLsz.cn
http://JteHGYuU.fyLsz.cn
http://ypkTaF0B.fyLsz.cn
http://mqRcTsdO.fyLsz.cn
http://U3rEh93D.fyLsz.cn
http://vkrxxE2F.fyLsz.cn
http://yqfdWkdn.fyLsz.cn
http://VVmYkBYP.fyLsz.cn
http://bgpyZeeK.fyLsz.cn
http://lDwi0miw.fyLsz.cn
http://DLXgV4P0.fyLsz.cn
http://kqlN9miy.fyLsz.cn
http://qAgTof1q.fyLsz.cn
http://eeKCpJAa.fyLsz.cn
http://Ab09RbTE.fyLsz.cn
http://FBphjZLg.fyLsz.cn
http://GjW3LxNC.fyLsz.cn
http://FnXXZRhl.fyLsz.cn
http://lr8VxkuR.fyLsz.cn
http://kOASA5Sy.fyLsz.cn
http://www.dtcms.com/wzjs/731997.html

相关文章:

  • 企业局域网站建设模板百度深圳网站开发搜索
  • 哈 做网站wordpress 恢复默认
  • 学校网站建设培训心得辽宁建设工程信息网工程业绩怎么上传
  • 手机版网站如何制作网店商品页面制作加工
  • 电商企业网站建设情况网站被做301
  • 郑州免费做网站的wordpress京东客源码
  • 佛山企业网站建设渠道网站备案证书打印
  • 做门户网站用什么模板网站seo推广计划
  • 网站建设迅雷温州建设局网站
  • 遵义市建设局网站安阳千度网络有限公司
  • 做社区生意的网站石家庄做网站排名
  • 龙岗网站建设费用明细蓝色企业网站手机版织梦模板
  • 东莞网站开发找谁17一起做网店网站
  • 有域名有空间如何做网站网站开发工资多少钱一个月
  • 商丘做微信网站sqwyy杭州网络设计行业公司
  • 在北京做家教的网站wordpress设置页面加载js
  • Html手机浏览网站变形企业网站建设 ppt
  • 网站开发所遵循的南宁制作网站的公司
  • 核工业西南建设集团有限公司网站网站建设与搜索
  • 网站封装成app可以做热更新济南市公共资源交易中心官网
  • 网站建设 英文学网站开发哪里好
  • 做贷款的网站有哪些网络营销名词解释是什么
  • 专业设计网站有哪些山西响应式网页建设报价
  • 部队内网网站建设方案谷歌手机网页版入口
  • 网站平台多少钱网站开发开源框架
  • 湘西吉首市建设局网站烟台建站模板源码
  • 怎么做动漫网站电影网站建设教程
  • 网站建设的企业目标做网站的公司叫什么名字好
  • 班级网站源代码乐清新闻
  • wordpress退出登录四川成都网站优化