2018-09-22 08:26
⁄ 工业·编程
⁄ 共 4523字
线程池是一种很经典的技术,在后端系统中很常见。线程池的常规做法是提前创建好一组工作线程,然后将任务分发给这些工作线程来处理,这样就避免了频繁的线程创建和销毁,同时也能很好的控制线程数量。线程池本质上是一种池化技术,利用空间来换取时间。线程池技术已经存在很多年,在面试的时候被问到的概率很高,在工作中也非常有用。
首先来看面试中的线程池,通常面试官会提问线程池的目的和原理,如果面试时间充足的话,恭喜...
线程池阅读全文
2018-09-15 08:21
⁄ 工业·编程
⁄ 共 1243字
gdb是C/C++程序员必备的专业技能,工作中gdb最常用的场景有两个,一个是分析core文件,另一个是调试程序。
分析core文件的方法如下:
1、gdb 程序名 core文件名
2、bt或where命令查看堆栈信息。
3、进入某个栈:f N,f是frame的缩写,N是栈号,如0、1、2、3...
进入到某个栈后,才能通过p命令查看这个栈的临时变量,否则只能查看全局变量。
例如a.out程序core产生了core文件core-a.out-12345,gdb方法如下:
gdb a.out core-a.o...
GDB阅读全文
2018-09-10 07:28
⁄ 工业·编程
⁄ 共 619字
计算机网络中的带宽、交换结点中的缓存及处理机等都是网络的资源。在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。拥塞控制就是 防止过多的数据注入网络中,这样可以使网络中的路由器或链路不致过载。注意,拥塞控制和流量控制不同,前者是一个全局性的过程,而后者指点对点通信量的控制。
拥塞控制的方法主要有以下四种:
1). 慢启动:不要一开始就发送大量的...
TCP阅读全文
2018-09-05 07:27
⁄ 工业·编程
⁄ 共 617字
GET与POST是我们常用的两种HTTP Method,二者之间的区别主要包括如下五个方面:
(1). 从功能上讲,GET一般用来从服务器上获取资源,POST一般用来更新服务器上的资源;
(2). 从REST服务角度上说,GET是幂等的,即读取同一个资源,总是得到相同的数据,而POST不是幂等的,因为每次请求对资源的改变并不是相同的;进一步地,GET不会改变服务器上的资源,而POST会对服务器资源进行改变;
(3). 从请求参数形式上看,GET请求的数据会...
web开发阅读全文
2018-08-30 07:06
⁄ 工业·编程
⁄ 共 581字
TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。
对于可靠性,TCP通过以下方式进行保证:
数据包校验:目的是检测数据在传输过程中的任何变化,...
TCP阅读全文
2018-08-29 19:48
⁄ 工业·编程
⁄ 共 3299字
在上周举办的云栖大会重庆峰会上,阿里云总裁兼AliOS总裁胡晓明宣布,在重庆生产的新福特翼虎将搭载基于AliOS的斑马智行,并于近期上市,这是全球汽车巨头第一次使用中国的汽车操作系统。
他还畅想到,当搭载AliOS的车辆达到1000万、2000万辆,将会对城市规划、道路出行、资源节约起到促进作用。不得不说,胡晓明的野心真大。要知道,目前AliOS装车量仅为70万辆,年底将突破100万辆,从2016年7月全球首款量产互联网汽车荣威RX5...
AliOS, 操作系统阅读全文
2018-08-25 06:49
⁄ 工业·编程
⁄ 共 4866字
Windows CE最大程度继承了桌面版Windows的丰富功能,但是Windows CE并不是一个通用的安装版操作系统。在形形色色的嵌入式设备世界里,一款CE系统通常只会针对某一种硬件平台生成。
一般来说,Windows CE的开发过程可以分为:0AL(OEM Abstraction Layer)、驱动、应用程序开发三个步骤。其中,0AL开发最基本的一步是板级支持包(BSP),而BootLoader设计则在BSP开发中具有极为关键的地位。
1.什么是BootLoader
...
Bootloader阅读全文
2018-08-18 06:46
⁄ 工业·编程
⁄ 共 667字
BIOS和Bootloader它们都是有基本的初始化系统,USB下载和硬件测试等功能的系统启动程序。不同之处在于中断矢量的定位,由于 bootloader要启动uClinux,因此必须按照uClinux的习惯将中断矢量放在SDRAM的低端地址(0xC000000),BIOS则按照我们通常的习惯把中断矢量放到高端地址(0xC7FF000)。因此,在BIOS下调试下载的程序的ro-base地址都必须设定在 0xC000000,而bootloader下调试下载程序都设定在在0xC008000...
BIOS, Bootloader, 区别阅读全文
2018-08-11 06:25
⁄ 工业·编程
⁄ 共 5210字
中央处理单元(CPU)主要由运算器、控制器、寄存器三部分组成,从字面意思看运算器就是起着运算的作用,控制器就是负责发出CPU每条指令所需要的信息,寄存器就是保存运算或者指令的一些临时文件,这样可以保证更高的速度。
CPU有着处理指令、执行操作、控制时间、处理数据四大作用,打个比喻来说,CPU就像我们的大脑,帮我们完成各种各样的生理活动。因此如果没有 CPU,那么电脑就是一堆废物,无法工作。移动设备其实很复杂,这...
ARM, x86, 比较阅读全文
2018-08-04 06:17
⁄ 工业·编程
⁄ 共 3362字
一、什么是ARM架构
ARM架构过去称作进阶精简指令集机器(AdvancedRISCMachine,更早称作:AcornRISCMachine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。
在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可...
ARM, x86, 计算机阅读全文