技术概念
文章平均质量分 87
吃鱼的羊
这个作者很懒,什么都没留下…
展开
-
socket技术详解
Socket原理1、什么是Socket在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据 socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭...转载 2019-11-28 09:57:34 · 920 阅读 · 0 评论 -
内存管理:虚拟地址空间布局
内存管理子系统的架构如图1.1所示,分为用户空间、内核空间和硬件3个层面。图1.1 内存管理架构1.用户空间应用程序使用malloc()申请内存,使用free()释放内存。malloc()和free()是glibc库的内存分配器ptmalloc提供的接口,ptmalloc使用系统调用brk或mmap向内核以页为单位申请内存,然后划分成小内存块分配给应用程序。用户空间的内存分...转载 2019-11-08 11:15:21 · 686 阅读 · 0 评论 -
多CPU,多核,多进程,多线程
当面临这些问题的时候,有两个关键词无法绕开,那就是并行和并发。首先,要先了解几个概念: 1、进程是程序的一次执行。 2、进程是资源分配的基本单位(调度单位)。 3、一个进程可以包括多个线程。 4、在单CPU计算机中,有一个资源是无法被多个程序并行使用的:CPU。 5、操作系统调度器:拆分CPU为一段段时间的运行片,轮流分配给不同的程序。 6、操作系统内存管理...原创 2019-11-06 18:35:10 · 1249 阅读 · 1 评论 -
为什么CPU核心数越来越多,多核心有什么优势?
今年的台北电脑展上intel和AMD都展示了高达32核心的处理器,可见多核心CPU也是未来的发展趋势。虽然intel也推出了睿频5G的8086k,但它也只是一款纪念产品。那么多核CPU有什么优势吗?我们拿双核和单核的做一下分析,双核的优势不是频率,而是同时处理多件事情。一个核心理论上同时只能干一件事。比如你同时在后台BT下载,前台一边看电影一边拷贝文件一边联QQ……,这么多程序同时需要CP...原创 2019-11-06 18:23:34 · 4414 阅读 · 0 评论 -
计算机最底层是用电来控制电子元器件以此表达二进制。那么一串二进制代码是怎么让计算机识别并执行的呢?
一串二进制代码实际上是按照每8位(1个字节)为单位放在存储器(内存)中的存储单元中。 一个存储单元是由一堆电子元器件组成的(核心的东西叫触发器,学了数字电路就知道),具有存储二进制信息的功能。 每个存储单元都有一个唯一的地址(用2进制信息连通相应的线路(地址)就可以存取)。 CPU有专门的寄存器存放程序运行的地址,然后CPU根据这个地址去内存中取指(一些老的电脑一...原创 2019-11-06 14:13:25 · 1148 阅读 · 0 评论 -
电平信号
计算机上的数据都是用0和1来保存的,所以在网线上传输时就要用一个电压表示数据0,用另一个电压表示数据1网线上传输的是数字信号http://www.360doc.com/content/16/0815/06/29864439_583283838.shtml铜线和光纤怎么传输二进制代码就是通过一连串的高低电平信号传输的啊基本介绍编辑TTL电平信号被利用的最...原创 2019-11-06 14:09:02 · 1168 阅读 · 0 评论 -
10分钟看懂内存的实现原理
内存最小单位是一些类似于二极管这样的东西,它能存储一个电状态,高或低,可表示1或0;-这些单元经过组织起来保存数据,组织的方法是8个编成一个字节,4个字节一个字,每组数据都可以读写;-这些单元按照顺序排放后用地址编号,按照地址可访问其中的任一个字、字节;-这些电路访问时由两组数据连线:地址线和数据线,比如都是32位的,地址线描述要访问的具体单元,数据线存放要给这个单元赋值的数据(写访问...转载 2019-11-06 13:59:58 · 13148 阅读 · 4 评论 -
购买计算机须知基础知识
购买计算机须知基础知识主板芯片组: 芯片组(Chipset)是构成主板电路的核心。一定意义上讲,它决定了主板的级别和档次。它就是"南桥"和"北桥"的统称,就是把以前复杂的电路和元件最大限度地集成在几颗芯片内的芯片组。芯片组是整个身体的神经,芯片组几乎决定了这块主板的功能,进而影响到整个电脑系统性能的发挥,芯片组是主板的灵魂。芯片组性能的优劣,决定了主板性能的好坏与级别的高低。这是因为目前...转载 2019-11-06 13:53:41 · 580 阅读 · 0 评论 -
计算机为什么采用二进制?
要回答这个问题,首先让我们了解一下二进制概述以及其发展 。进制是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制,那么,什么是二进制呢,为什么需要二进制呢?在早期设计的机械计算装置中,使用的不是二进制,而是十进制或者其他进制,利用齿轮的不同位置表示不同的数值,这种计算装置可能更加接近人类的思想方式。比如说一个计算设备有十个齿轮,它们级连接起来,每一个齿轮有十...原创 2019-11-06 10:27:27 · 24037 阅读 · 0 评论 -
32位系统和64位系统的区别是什么
随着生活的发展电脑也在飞速的更新换代,大家从最早的考虑使用什么版本系统到现在考虑的更多的是选择 32 位还是 64 位的 Windows 系统,大家都知道64位的系统工作能力比起32位系统来的更加优秀,并且64位系统的兼容性也比32位系统来得好,越来越多的厂家更愿意推出64位系统的电脑,那么二者究竟有什么区别呢,不知道没关系我们往下看或许就能明白。 第一,设计初衷不同。64位操作系统...原创 2019-10-29 11:09:50 · 919 阅读 · 1 评论 -
计算机组成和原理
电脑组件及其作用 一个完整的计算机系统,是由硬件系统和软件系统两大部分组成的。 一、电脑的硬件系统 所谓硬件,就是用手能摸得着的实物,一台电脑一般有: 1、主机:主机从外观看是一个整体,但打开机箱后,会发现它的内部由多种独立的部件组合而成。 下面介绍一下电脑主机的各个部件: (1)电源:电源是电脑中不可缺少的供电设备,它的作用是将220V交流转换为电脑中使用的5V,12V,3.3V直流原创 2015-08-20 17:14:26 · 3547 阅读 · 0 评论 -
远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。 Web ServiceWeb Ser转载 2015-07-23 17:13:38 · 652 阅读 · 0 评论 -
JMX
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX 是Java Management Extension 的缩写,是 Java 应用程序的管理规范,可以实现应用程序,热插拔、热配置、热管理; 从原理上来说,JMX 只是高级的反射(reflection)库而已,高级的地方: 1、提供了对象的注转载 2015-07-23 17:45:27 · 327 阅读 · 0 评论 -
SOA和Web Service
在理解SOA和Web服务的关系上,经常发生混淆。根据2003年4月的Gartner报道,Yefim V. Natis就这个问题是这样解释的:Web服务是技术规范,而SOA是设计原则。特别是Web服务中的WSDL,是一个SOA配套的接口定义标准:这是Web服务和SOA的根本联系。从本质上来说,SOA是一种架构模式,而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。用Web服务来转载 2015-07-23 18:05:44 · 645 阅读 · 0 评论 -
Java序列化与反序列化
1、什么是序列化和反序列化Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。 2、为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上传送。那么当两个Java进程进行通信时转载 2015-07-23 18:23:59 · 314 阅读 · 0 评论 -
可爱的Jython
要了解Jython(旧称JPython),首先要了解Python。 要了解Jython(旧称JPython),首先要了解Python。Python是用C编写的高级的、面向对象的、开放源代码的编程语言。Guido vanRossum是Python的原创者,继而在Python的快速发展中产生了一大群高水平的设计者和程序员。使用Python的开发人员增长迅速,并一直在持续增长。然而Sun的J转载 2015-07-24 15:56:28 · 623 阅读 · 0 评论 -
计算机编程语言(机器语言、汇编语言、高级语言)
计算机语言:计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。 计算机语言通常分为三类:即机器语言,汇编语言和高级语言。 1. 机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。转载 2015-07-24 17:21:14 · 9056 阅读 · 0 评论 -
解释器与编译器
计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)。编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快;解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的.1. 在具体计算机上实现一种语言,首先要确定的是表示该语言语义解释的虚拟计转载 2015-07-24 18:39:02 · 5491 阅读 · 1 评论 -
内存,cache,buffer
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。内存又称主原创 2015-08-19 16:36:21 · 2563 阅读 · 0 评论 -
端口号
在Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。可见,把数据报顺利的传送到目的主机是没有问题的。问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。本地操作系统会给那些有需原创 2015-08-07 16:07:05 · 489 阅读 · 0 评论