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

网站建设的用处昆明做网站设计

网站建设的用处,昆明做网站设计,网站底部信息用js写法,建立网站三大基础点击上方蓝字关注我们菜菜哥#xff0c;救命呀又被产品经理砍了#xff1f;这次搞不好真要被砍了#xff0c;线上一个用户系统内存溢出了#xff0c;占用内存太高了用户基数大#xff0c;内存占用高正常高的不太正常了#xff0c;我觉得可能和我的设计有关那说说你的用户… 点击上方蓝字关注我们菜菜哥救命呀又被产品经理砍了这次搞不好真要被砍了线上一个用户系统内存溢出了占用内存太高了用户基数大内存占用高正常高的不太正常了我觉得可能和我的设计有关那说说你的用户设计设计背景每个平台都会有用户这种基础数据的设计作为最基础的用户每个用户都有很多属性比如性别姓名手机号等每个用户还可以有类似经验值这样的荣誉系统根据不同的经验值来对应不同的等级不同的等级对应不同的荣誉UI比如一级用户可能只显示一个星星二级用户显示两颗星星以此类推类似于QQ等级的星星月亮太阳这样的荣誉系统随着平台的不断壮大可能会衍生出很多类型。那么问题来了用户登录的时候就需要初始化用户的这些荣誉值以星星数为例类似于以下代码 public class Star {//等级public int Level{get ;set ;}//对应的星星数目public int StarNumber{get ;set ;}//对应的星星颜色public int Color{get ;set ;}... 其他属性 } //用户信息 public class User{   public Star StarInfo{get ;set ;}//...用户的其他属性 }//初始化用户信息 User unew User(){ StarInfonew Star(){ Level1, StarNumber1,Color1}}; 每一个登录用户都会初始化一个Star属性来表示当前用户的Star信息当有100万用户甚至更多用户同时在线的时候内存中就实例化了同样数量的Star对象以及其他类似的属性对象。这么多重复的对象难道不能优化吗当然不是问题分析一个业务出现问题首先要分析问题的所在。根据以上所说问题的根本在于产生了大量的对象首先每个用户对象都有自己独特的状态这个基本上不可能分解优化但是类似Star这样的属性就有优化途径了这些荣誉属性一个最大的共同点就是不可变换句话说等级1的用户对应的Star信息是永远不会变的永远是level1starnumber1color1 等。基于这个不变性我们可以把这个Star抽离出来供所有等级1的用户使用假设原来有10万等级1的用户原来需要10万个对象现在只需要一个对象这可是天壤之别。解决问题基于以上问题分析我们需要做的是把对象重复使用只要是对象重复问题基本上可以利用一个对象出口来解决问题类似于以下的对象初始化工厂但是要注意线程安全问题因为同时请求并初始化对象的线程会有多个。public class UserStarFac{static object objLock  new object();static Dictionaryint, Star UserStarMap  new Dictionaryint, Star();public static Star GetUserStar(int level){//利用锁来防止实例化多次当然这里可以优化lock (objLock){Star info  null; ;if(!UserStarMap.TryGetValue(level, out info)){info  new Star() { Color  1, Level  1, StarNumber  1 };UserStarMap.Add(level,info);}return info;}}} 编写简单测试程序static void Main(string[] args){int i  0;ListUser userList  new ListUser();while (i  100000){// userList.Add(new User() {  StarInfonew Star() {  Color1, Level1, StarNumber1} });userList.Add(new User() {  StarInfo UserStarFac .GetUserStar(1)});i; }Console.WriteLine(初始化完成);Console.Read();} 内存的测试结果不执行任何程序占用内存2.8 M  无优化初始化10万对象占用内存11 M优化之后初始化10万对象占用内存7 M居然一个小小的优化就减少了4M内存不要小看这小小的4M你要看的是比例居然减少了将近 50%真实业务中可以进行这种优化的地方数不胜数不知道你是否在乎呢这种大量重复对象的问题尤其是在游戏编程中经常存在比如五子棋游戏棋子的初始化一个游戏大厅存在成千上百万对局如果每个局中的棋子都初始化一个对象那内存使用是相当可怕的这种需要把通用的对象属性不变的对象属性抽离出来做共享是有必要的。据说这种优化有一个学名享元模式没有必要记住名字但需要记住原理和场景必须要提一句注意不变的对象才可以哦完●程序员过关斩将-- 喷一喷坑爹的面向UI编程●程序员过关斩将--redis做消息队列香吗●程序员修神之路--有了容器为什么kubernetes还需要Pod●程序员修神之路--为什么我会了SOA你们还要逼我学微服务●程序员过关斩将--要想获取我的用户信息就得按照规矩来●程序员过关斩将--更加优雅的Token认证方式JWT●程序员过关斩将--cookie和session的关系其实很简单●程序员修神之路--用NOSql给高并发系统加速●程序员修神之路--高并发系统设计负载均衡架构●程序员过关斩将--你为什么还在用存储过程●程序员修神之路--问世间异步为何物●程序员修神之路--提高网站的吞吐
http://www.yutouwan.com/news/122157/

相关文章:

  • 假网站怎么制作成都网络营销精英
  • 邳州网站制作软件下载网站排行榜前十名
  • 牛商网做网站多少钱WordPress程序漏洞
  • 烟台做网站价格政务服务和数字化建设局网站
  • 关于网站平台建设调研的函不利于网站收录
  • 辽宁省建设工程招标协会网站做国际网站怎么能快速打开
  • 网站建设找盖亚科技新手建站详细步骤
  • 东莞网站制作企业网站做网站视频下载
  • 自己做网站怎么发布济南网站备案程序
  • 推广计划展示型网站一样做seo优化吗
  • 那个网站做logo兼职公司网站开发与维护
  • 验证码网站搭建北京到安阳多少公里路
  • 建站之星服务器做外国网站百度搜到
  • 网站建设栏目分级外贸wordpress收款插件
  • 南浔区建设局 网站做电影资讯网站算侵权吗
  • 基于ASP与Access数据库的网站开发ai可以用来做网站吗
  • unix做网站常用的数据库百度帐号登录
  • 手机网站公司wordpress后台重定向
  • 舟山建设信息港网站wordpress_zh
  • 杭州企业网站设计好公司wordpress 乱码
  • 手机网站推广方案大连工程信息网
  • 襄阳网站建设找下拉哥科技大宗商品最新交易平台
  • 网站建设硬件条件国内做网站
  • 网站地址栏图标文字上海网站建设电影联
  • 海南省住房和城乡建设厅官方网站深圳做网站的地方
  • 重庆网站建设工业设计是什么
  • 高密做网站哪家强代理网页风格设计
  • 比较著名的seo网站购物网站网页设计图片
  • 阿里云 网站接入方式电子商务公司名称大全简单大气
  • 阿里云的云服务器做网站用哪种手表常用网站