内存是计算机中必不可少的资源,因为CPU只能直接读取内存中的数据,所以当CPU需要读取外部设备(如硬盘)的数据时,必须先把数据加载到内存中。我们来看看可爱的内存长什么样子的吧,如图1所示:一、内存申请通常使用高级语言(如Go、Java或Python等)都不需要自己管理内存(因为有垃圾回收机制),但C/C程序员就经常要与内存打交道。当我们使用C/C编写程序时,如果需要使用内存,就必须先调用malloc函数来申请一块内存。但是,malloc真的是申请了内存吗?我们通过下面例子来观察malloc到底是不是真的申请了内存:1#include 23int main(int argc, char cons...
电波暗室,用于模拟开阔场,同时用于辐射无线电骚扰(EMI)和辐射敏感度(EMS)测量的密闭屏蔽室。来源:http://gememc.com/upload/201712/20171201093022763.jpg0.前言最近公司的几块板子要做认证,EMC测试自然是少不了,既然要做试验,就要有一个标准,是消费电子、工业控制,还是汽车电子、军工电子,这些工作环境所要求的EMC测试标准是不同的,每个试验又分为了很多的等级。接触静电是要做到6kV还是8kV,空气放电是要做到8kV还是15kV?我的产品要做哪些EMC试验?要做到什么等级?一起来了解一下关于EMC测试的国家标准吧!上一篇文章介绍了《详解电子...
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达工程软件和在线资源往往比较昂贵,但是对于专业人员、学生和爱好者来说非常有益。用户开展项目或者仅进行工程验证时,这些资源往往是必要的,但是相关成本却令许多人望而却步。本文为工程师和工程研究爱好者们寻找了几款高质量的免费资源,现在将其概述如下。PART1.电路仿真01PartSim网址:www.partsim.comPartSim是一款基于浏览器的电路仿真器,用户可以通过该软件进行电路实验。该仿真器布局简单,从而确保易用性,同时提供完整的SPICE仿真引擎、基于Web的原理图捕获工具和图形示波器,可以监视电路的模拟/数字信号电平。...
大家好,我是小林。不知道大家当初是怎么学网络编程的?我来说说我踩过的坑。我当初在学网络编程的时候,看见网上的人都说《Unix网络编程》是网络编程圣经,豆瓣评分也很高,那么好学的小林,那肯定毫无犹豫买了。书到货后,我瞬间就懵逼了,这本书的厚度堪比新华字典,这尼玛怎么学?跟着书本的节奏,学了一段的时间,是懂了些LinuxsocketAPI的用法,摸索来摸索去都是各个API的细节,始终不知道高并发网络框架是如何实现的。后面我又重新找了一波关于网络编程的书,找到了这两本:《TCP/IP网络编程》和《Linux高性能服务器编程》。《TCP/IP网络编程》这个是网络编程入门绝佳书,书里的内容不会有过多的术...
前言我们日常做分页需求时,一般会用limit实现,但是当偏移量特别大的时候,查询效率就变得低下。本文将分四个方案,讨论如何优化MySQL百万数据的深分页问题,并附上最近优化生产慢SQL的实战案例。limit深分页为什么会变慢?先看下表结构哈:CREATE TABLE account ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键Id', name varchar(255) DEFAULT NULL COMMENT '账户名', balance int(11) DEFAULT NULL COMMENT '余额', create_time ...
❝这可能是最中肯的Redis使用规范了码哥,昨天我被公司Leader批评了。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨12点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经过查找发现Redis报Couldnotgetaresourcefromthepool。获取不到连接资源,并且集群中的单台Redis连接量很高。于是各种更改最大连接数、连接等待数,虽然报错信息频率有所缓解,但还是持续报错。后来经过线下测试,发现存放Redis中的字符数据很大,平均1s返回数据。❝码哥,可以分享下使用Redis的规范么?我想做一个唯快不破的真男人!R...
作者:vivo互联网服务器团队-ZhangLin一、业务背景目前移动端的使用场景中会用到大量的消息推送,push消息可以帮助运营人员更高效地实现运营目标(比如给用户推送营销活动或者提醒APP新功能)。对于推送系统来说需要具备以下两个特性:消息秒级送到用户,无延时,支持每秒百万推送,单机百万长连接。支持通知、文本、自定义消息透传等展现形式。正是由于以上原因,对于系统的开发和维护带来了挑战。下图是推送系统的简单描述(API->推送模块->手机)。二、问题背景推送系统中长连接集群在稳定性测试、压力测试阶运行一段时间后随机会出现一个进程挂掉的情况,概率较小(频率为一个月左右发生一次),这会影响部分客户...
1、前言微服务的注册中心目前主流的有以下五种:ZookeeperEurekaConsulNacosKubernetes那么实际开发中到底如何选择呢?这是一个值得深入研究的事情,别着急,今天陈某就带大家深入了解一下这五种注册中心以及如何选型的问题。2、为什么需要注册中心?随着单体应用拆分,首当面临的第一份挑战就是服务实例的数量较多,并且服务自身对外暴露的访问地址也具有动态性。可能因为服务扩容、服务的失败和更新等因素,导致服务实例的运行时状态经常变化,如下图:商品详情需要调用营销、订单、库存三个服务,存在问题有:营销、订单、库存这三个服务的地址都可能动态的发生改变,单存只使用配置的形式需要频繁的变...
来源:https://blog.csdn.net/liuzhirou1/article/details/117649569一、项目目标支付中心架构将各业务的公共交易、支付、财务等沉淀到支付中心,并主要解决了以下三个主要问题:建立基础订单、支付、财务统一体系,抽象和封装公共处理逻辑,形成统一的基础服务,降低业务的接入成本及重复研发成本;构建安全、稳定、可扩展的系统,为业务的快速发展和创新需求提供基础支撑,解决业务「快」和支付「稳」之间的矛盾;沉淀核心交易数据,同时为应用端、物业公司、用户提供数据支撑。二、具体调用流程在目标的指导下,我向集采、o2o、收费易三个项目组的相关开发咨询了业务逻辑,再结...
平滑发布的介绍 背景 单位的云办公相关系统没有成熟的平滑发布方案,导致每一次发布都是直接发布,dll文件或配置文件的变更会引起站点的重启。 云办公系统的常驻用户有10000,即使短短半分多钟,也会收到一堆投诉。基于此,我们梳理了一套平滑发布的方案。实施方案1、跟nginx代理服务器约定了一个健康检查的接口2、通过接口返回的http状态码来让ngx是否分流用户请求(这个我们单位的技术部那边有标准的做法)3、根据提供的这个服务健康检查的接口:nginx判断只要某个实例的接口返回5xx的状态码,即把该实例下线(nginx不会把流量转发到该实例) 发布流程目的主要是为了发布的时候能够平滑发布,所以...
前言Jlink可以将Hex文件下载到单片机内,也可以将未加密单片机内部的程序文件读出。本篇文章介绍,如何使用JFlash来读取单片机的程序,学习单片机程序文件的读取,不是为了破解别人的程序,而是学习破解的原理,从而更好保护自己的程序不被破解,希望大家也能尊重他人的劳动成果。JFlash的下载和安装首先,安装JFlash软件,安装完成后,会默认安装JLink驱动程序,主要包含以下几个工具:JFlash,主要用于程序下载和读取。JFlashLite,JFlash的Mini版JFlashSPI,用于给SPI存储器下载程序,如W25Q128。JLinkGDBServer,用于第三方软件的调试器,如使用...
大家好,我是小林。我之前写过CPU缓存一致性MESI协议:10张图打开CPU缓存一致性的大门。然后期间挺多人对MESI协议的转换有疑问,其实我在文章中把MESI协议状态切换的各个过程都总结成了一个表格,可能内容太多,很多小伙伴没有仔细看。就在昨天,我发现个可以「在线体验 MESI 协议状态转换」过程的网站,地址如下:https://www.scss.tcd.ie/Jeremy.Jones/VivioJS/caches/MESIHelp.htm我先给大家复习下MESI协议,然后再跟大家讲一些这个网站怎么用。MESI协议MESI协议其实是4个状态单词的开头字母缩写,分别是:Modified,已修改...
艾伦·麦席森·图灵(1912-1954)在一间小黑屋里,有这样三个角色:一个人类评审员,两个受试者A和B。其中一个受试者是计算机的人工智能程序,另一个受试者是人类。评审员无法直接看到受试者,只能通过打字的方式,与两名受试者进行提问沟通。经过多次的询问和回答,最后由评审员来判断:哪一个受试者是人类,哪一个受试者是计算机。如果评审员判断错误的几率超过30%,那就说明计算机成功地伪装成人类,骗过了受试者,从而可以认为这样的计算机已经具备了一定的思考能力。像这样六位整数的乘法运算,普通人类根本不可能在短时间内计算出来,如果受试者在一秒内就给出了正确结果,那就太不自然了,显然是计算机程序的回答。所以,要...
什么是网络编程?用一句话概括,就是对网络协议的落地。 落地,意味着对实战的要求更高。所以,一些朋友更喜欢用类似Netty这种封装好的框架——快速,高效。确实,跟开发细节相比,我们常常更看重开发效率。 可日常的项目里,我们也不得不面对极端的网络性能考验。没人喜欢堵车,但应对大量请求时,如果网络性能处理不佳,数据、业务就会面临大塞车。 举个正向的例子,之前在绿盟有个信息安全产品,叫黑洞,是当时市场上最成功的DDOS过滤设备。这玩意最大的技术难点就在于:当攻击报文洪水到达时,每秒要过滤掉几十万攻击请求。在那之前,我从没想过通过程序代码,对网络报文的处理效率,竟然能达到如此强悍的地步。 早些年尚且如此...
点击上方“小麦大叔”,选择“置顶/星标公众号”福利干货,第一时间送达大家好,我是小麦,以前用单片机做用户交互的菜单的时候,都比较痛苦,如何写一个复用性高,方便维护,可扩展性高的GUI框架呢?当然可以自己动手写一个,这个过程充满了艰辛和挑战,现在我推荐一个很棒的框架,直接拿来用就行,也可以借鉴和学习其中的思路,一定会收获颇丰。知道有多少人折腾过液晶显示的菜单,我觉得很多人都应该搞过,我还记得以前大学参加电子设计竞赛获奖的作品,我就用到了一个12864,里面有菜单功能。以前可能觉得菜单高大上,其实并不是想象中的复杂,本文为大家分享一个用单色屏做的菜单框架。代码托管在github:https://g...