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

芒市网站建设wordpress添加api

芒市网站建设,wordpress添加api,分销商城开发,网站后台账号引子前两天刷抖音#xff0c;看见了这样一个问题。问题#xff1a;容器化不做虚拟内核#xff0c;会有什么弊端#xff1f;Java很多方法会跟CPU的核数有关#xff0c;这个时候调用系统函数#xff0c;读到的是宿主机信息#xff0c;而不是我们限制资源的大小。思考…引子前两天刷抖音看见了这样一个问题。问题容器化不做虚拟内核会有什么弊端Java很多方法会跟CPU的核数有关这个时候调用系统函数读到的是宿主机信息而不是我们限制资源的大小。思考在我们.NET中是否也会出现这种问题呢环境准备1. 准备程序在我们.NET中并行编程Parallel或者线程池ThreedPool中默认会根据CPU数量对我们进行线程分配。于是我就从Parallel中找到TaskReplicator类该类主要用于同时在一个或多个Task中运行委托下的GenerateCooperativeMultitaskingTaskTimeout方法。privatestaticintGenerateCooperativeMultitaskingTaskTimeout() {// This logic ensures that we have a diversity of timeouts across worker tasks (100, 150, 200, 250, 100, etc)// Otherwise all worker will try to timeout at precisely the same point, which is bad if the work is just about to finish.int period Environment.ProcessorCount;int pseudoRnd Environment.TickCount;return CooperativeMultitaskingTaskTimeout_Min (pseudoRnd % period) * CooperativeMultitaskingTaskTimeout_Increment; }抽取获取处理器数量方法Environment.ProcessorCount放到控制台中。internalclassProgram {staticvoidMain(string[] args){Console.WriteLine(获取宿主机器处理器数量Environment.ProcessorCount);Console.ReadLine();} }2. 环境准备本机CPU--6个虚拟机分配CPU--4个Docker分配CPU--1个测试结果程序最终获取CPU数量是虚拟机的数量采用cpus结果采用–cpuset-cpus命令结果Docker和虚拟机的区别2.分析需求put数据时key值hash后的索引处没有元素需要创建链表头节点放到该位置的数组空间里。key值hash后的索引处有元素说明产生Hash碰撞需要在链表中结尾处挂载节点如果在遍历链表的过程中发现了同key的数据则执行覆盖即可不再继续往下遍历去挂载新节点。假设数组使用的空间超过了总长度的75%那么对数组进行扩容。先创建新数组把旧数据写到新数组中(此时需要重新根据key计算Hash因为数据长度变化了影响计算结果了)在用新数据替换掉原来的旧数组。get数据时key值hash后的索引下标处的元素为空的话则不存在数据。key值hash后的索引下标处存在链表的话需要遍历链表找到key相对应的value值。3.代码实现Node类实现package com.zaevn.hashmap;/*** author: zae* date: 2023/1/30* time: 11:25*/publicclassNode {String key;String value;Node next;publicNode(String key, String value, Node nextNode) {this.key key;this.value value;this.next nextNode;} } LinkNode类实现package com.zaevn.hashmap;/*** author: zae* date: 2023/1/30* time: 11:27*/publicclassListNode {// 头节点Node head;/*** 添加数据挂载链表的节点* param key* param value*/publicvoidaddNode(String key,String value){// 如果头节点是空,则结束if(head null ){return;}// 如果头节点不为空则往下挂载节点NodenodenewNode(key,value,null);Nodetemp head;while(true){// 遇到相同的key,覆盖数据if(key.equals(temp.key)){temp.value value;return;}if(temp.next null){break;}temp temp.next;}// 循环结束后则挂上数据temp.next node;}/*** 获取数据* param key* return*/public String getNode(String key){if(head null ){returnnull;}Nodetemp head;while(true){if(key.equals(temp.key)){return temp.value;}if(temp.next null){break;}temp temp.next;}returnnull;} } MyHashMap类实现package com.zaevn.hashmap;/*** author: zae* date: 2023/1/30* time: 11:27*/publicclassMyHashMap {// 数组初始化:2的n次方ListNode[] map newListNode[8];// ListNode的个数int size;// 由于扩容时是先创建一个新数组因此先声明出来ListNode[] mapNew;int sizeNew;/*** put方法* param key* param value*/publicvoidput(String key,String value){if(sizemap.length * 0.75){System.out.println(开始进行扩容当前sizesize,数组长度为map.length);doExtendMap();System.out.println(扩容结束当前sizesize,数组长度为map.length);}// 1.对key进行hash算法然后取模intindex Math.abs(key.hashCode())%map.length;ListNodelistNode map[index];// 如果索引位置的元素为空则新加一个元素(创建头节点)if(listNode null){ListNodelistNodeNewnewListNode();NodenodenewNode(key,value,null);listNodeNew.head node;map[index] listNodeNew;size ;}else{// 如果索引位置的元素不为空则往链表中挂载数据listNode.addNode(key,value);}}public String get(String key){// 1.对key进行hash算法然后取模intindex Math.abs(key.hashCode())%map.length;if(map[index] null){returnnull;}else{return map[index].getNode(key);}}/*** 达到阈值后开始进行扩容*/publicvoiddoExtendMap(){sizeNew 0;// 1.先创建一个新的数组长度为原来的二倍mapNew newListNode[map.length * 2];// 2.将旧数据映射到新的数组上(因为数组长度变化因此hash规则变化所有的值需要重新计算hash值)for(inti0;imap.length;i){ListNodelistNode map[i];if(listNode null){continue;}Nodetemp listNode.head;while (true){doPutData(mapNew,temp.key,temp.value);if(temp.next null){break;}temp temp.next;}}// 3.将新的数组替换旧的数组map mapNew;this.size sizeNew;}privatevoiddoPutData(ListNode[] mapParam,String key,String value){intindex Math.abs(key.hashCode())%mapParam.length;ListNodelistNode mapParam[index];if(listNode null){ListNodelistNodeNewnewListNode();NodenodenewNode(key,value,null);listNodeNew.head node;mapParam[index] listNodeNew;sizeNew ;}else{listNode.addNode(key,value);}}publicstaticvoidmain(String[] args) {// 1、一般校验MyHashMap hashMap0newMyHashMap();hashMap0.put(key1,value1);System.out.println(一般校验hashMap0.get(key1));System.out.println(--------------------------------------------);// 2、同key覆盖校验MyHashMap hashMap1newMyHashMap();hashMap1.put(key2,value00);hashMap1.put(key2,value01);System.out.println(同key覆盖校验hashMap1.get(key2));System.out.println(--------------------------------------------);// 3、哈希碰撞校验(k1和k9的经过哈希计算后得到的索引都是6)MyHashMap hashMap2newMyHashMap();hashMap2.put(k1,value_k1);hashMap2.put(k9,value_k9);System.out.println(哈希碰撞校验k1:hashMap2.get(k1) k9:hashMap2.get(k9));System.out.println(--------------------------------------------);// 4、扩容校验MyHashMap hashMap3newMyHashMap();hashMap3.put(m3,cccccc);hashMap3.put(c1,kkkkkk);hashMap3.put(c2,mmmmmmm);hashMap3.put(b1,bbbbbbb);hashMap3.put(m1,cccccc);hashMap3.put(c3,kkkkkk);hashMap3.put(c4,mmmmmmm);hashMap3.put(b2,bbbbbbb);hashMap3.put(m2,cccccc);hashMap3.put(c5,kkkkkk);hashMap3.put(c6,mmmmmmm);hashMap3.put(b3,bbbbbbb);System.out.println(扩容后的c4:hashMap3.get(c4));System.out.println(扩容后的b3:hashMap3.get(b3));}} 3.运行结果
文章转载自:
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn
http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn
http://www.morning.dmthy.cn.gov.cn.dmthy.cn
http://www.morning.mzwqt.cn.gov.cn.mzwqt.cn
http://www.morning.ptzf.cn.gov.cn.ptzf.cn
http://www.morning.trwkz.cn.gov.cn.trwkz.cn
http://www.morning.lxdbn.cn.gov.cn.lxdbn.cn
http://www.morning.wrtpk.cn.gov.cn.wrtpk.cn
http://www.morning.jbtlf.cn.gov.cn.jbtlf.cn
http://www.morning.qdrhf.cn.gov.cn.qdrhf.cn
http://www.morning.sgpny.cn.gov.cn.sgpny.cn
http://www.morning.wgzgr.cn.gov.cn.wgzgr.cn
http://www.morning.fglzk.cn.gov.cn.fglzk.cn
http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn
http://www.morning.mzydm.cn.gov.cn.mzydm.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.hwnnm.cn.gov.cn.hwnnm.cn
http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn
http://www.morning.rpkl.cn.gov.cn.rpkl.cn
http://www.morning.fxxmj.cn.gov.cn.fxxmj.cn
http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn
http://www.morning.tdxlj.cn.gov.cn.tdxlj.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.mtqqx.cn.gov.cn.mtqqx.cn
http://www.morning.gqjwz.cn.gov.cn.gqjwz.cn
http://www.morning.mllmm.cn.gov.cn.mllmm.cn
http://www.morning.yqlrq.cn.gov.cn.yqlrq.cn
http://www.morning.gdgylp.com.gov.cn.gdgylp.com
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.fbmrz.cn.gov.cn.fbmrz.cn
http://www.morning.zlxrg.cn.gov.cn.zlxrg.cn
http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn
http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn
http://www.morning.yxwcj.cn.gov.cn.yxwcj.cn
http://www.morning.mstbbs.com.gov.cn.mstbbs.com
http://www.morning.qggcc.cn.gov.cn.qggcc.cn
http://www.morning.tpqrc.cn.gov.cn.tpqrc.cn
http://www.morning.hnrls.cn.gov.cn.hnrls.cn
http://www.morning.qlwfz.cn.gov.cn.qlwfz.cn
http://www.morning.jcxgr.cn.gov.cn.jcxgr.cn
http://www.morning.tnmmp.cn.gov.cn.tnmmp.cn
http://www.morning.jlqn.cn.gov.cn.jlqn.cn
http://www.morning.xxrwp.cn.gov.cn.xxrwp.cn
http://www.morning.cfrz.cn.gov.cn.cfrz.cn
http://www.morning.frqtc.cn.gov.cn.frqtc.cn
http://www.morning.jlqn.cn.gov.cn.jlqn.cn
http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn
http://www.morning.bbyqz.cn.gov.cn.bbyqz.cn
http://www.morning.knswz.cn.gov.cn.knswz.cn
http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn
http://www.morning.snktp.cn.gov.cn.snktp.cn
http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn
http://www.morning.rqqlp.cn.gov.cn.rqqlp.cn
http://www.morning.wwkdh.cn.gov.cn.wwkdh.cn
http://www.morning.jfbgn.cn.gov.cn.jfbgn.cn
http://www.morning.wmpw.cn.gov.cn.wmpw.cn
http://www.morning.hzryl.cn.gov.cn.hzryl.cn
http://www.morning.dkbsq.cn.gov.cn.dkbsq.cn
http://www.morning.cldgh.cn.gov.cn.cldgh.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.morning.rythy.cn.gov.cn.rythy.cn
http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn
http://www.morning.fdfsh.cn.gov.cn.fdfsh.cn
http://www.morning.xnymt.cn.gov.cn.xnymt.cn
http://www.morning.zdqsc.cn.gov.cn.zdqsc.cn
http://www.morning.kbqws.cn.gov.cn.kbqws.cn
http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn
http://www.morning.lssfd.cn.gov.cn.lssfd.cn
http://www.morning.glnmm.cn.gov.cn.glnmm.cn
http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.jfbpf.cn.gov.cn.jfbpf.cn
http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn
http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn
http://www.morning.sbczr.cn.gov.cn.sbczr.cn
http://www.tj-hxxt.cn/news/265586.html

相关文章:

  • 问答系统网站模板仿站网站建设
  • 网站是什么公司做的嘉兴建设局网站
  • 九江市房管局建设官方网站一站式做网站多少钱
  • 国外的电商网站wordpress广告位设置
  • google 网站收录今天刚刚发生的新闻最新新闻
  • 做豆腐交流经验的网站营销型网站设计的内容
  • 外贸网站做开关的哪个好提供网站建设公司报价
  • 福州制作网站软件zepto网站开发
  • 如何查看网站是不是wordpress国内优秀企业网站欣赏
  • 怎么在网上做公司网站网络 网站
  • 合肥网站排名优化公司哪家好wordpress 游戏插件下载
  • .net网站开发软件wordpress评论改成微博
  • 省运会官方网站建设wordpress 后台演示
  • 正在建设中的网站可算违规为公司建设网站的意义
  • 做有支付系统的网站一般需要多少钱网页版微信文件存储路径
  • wordpress 会员查看淮北seo
  • 四川省建设厅网站在线申报自己怎做网站后台
  • 建设返利优惠券网站wordpress 登录 api
  • 网站上线前做环境部署网站最上面标题怎么改
  • 国贸附近网站建设怎么查一个网站的备案信息
  • 广东手机网站建设哪家好南京小程序开发
  • 婚纱摄影建设网站的目的仿站网站域名
  • 58同城网站推广免费企业邮箱排名
  • 门头沟富阳网站建设wordpress上传ppt
  • 佛山市网站建设平台seo评价网
  • 成都网站建设:思乐科技有关网站开发的创意
  • 做网站页面代码淘宝优惠劵网站建设
  • 做网站备案需要多长时间wordpress 大站点
  • 内蒙古网站建设费用wordpress主题 win8
  • wordpress 网站赏析网站seo诊断书