精华内容
下载资源
问答
  • 主要介绍了MongoDB社区版和企业版的差别对照表,本文同时提供了中文和英文版的对照表,需要的朋友可以参考下
  • 简述Redis和MySQL的区别

    2020-09-09 13:14:48
    主要介绍了简述Redis和MySQL的区别,小编觉得挺不错的,这里给大家分享下,需要的朋友可以了解。
  • dfs和bfs差别_BFS和DFS之间的区别

    千次阅读 2020-09-14 01:52:44
    Here you will learn aboutdifference between BFS and DFS ... 在这里,您将了解BFS和DFS算法或BFS与DFS之间的区别。 Breadth First Search (BFS) and Depth First Search (DFS) are two popular algorithms ...

    dfs和bfs差别

    Here you will learn about difference between BFS and DFS algorithm or BFS vs. DFS.

    在这里,您将了解BFS和DFS算法或BFS与DFS之间的区别。

    Breadth First Search (BFS) and Depth First Search (DFS) are two popular algorithms to search an element in Graph or to find whether a node can be reachable from root node in Graph or not. And these are popular traversing methods also.

    广度优先搜索(BFS)和深度优先搜索(DFS)是在Graph中搜索元素或查找是否可以从Graph中的根节点访问节点的两种流行算法。 这些也是流行的遍历方法。

    When we apply these algorithms on a Graph, we can see following types of nodes.

    当我们在图上应用这些算法时,我们可以看到以下类型的节点。

    1. Non-Visited nodes: These nodes not yet visited.

      非访问节点:这些节点尚未访问。

    2. Visited nodes: These nodes are visited.

      被访问的节点:这些节点被访问。

    3. Explored nodes: A node is said to be explored when it was visited and all nodes which are connected (adjacent) to that node also visited.

      探索的节点:据说一个节点在被访问时会被探索,并且所有(相邻)连接到该节点的节点也都被访问过。

    BFS和DFS之间的区别 (Difference between BFS and DFS)

    S. No.Breadth First Search (BFS)Depth First Search (DFS)
    1.BFS visit nodes level by level in Graph.DFS visit nodes of graph depth wise. It visits nodes until reach a leaf or a node which doesn’t have non-visited nodes.
    2.A node is fully explored before any other can begin.Exploration of a node is suspended as soon as another unexplored is found.
    3.Uses Queue data structure to store Un-explored nodes.Uses Stack data structure to store Un-explored nodes.
    4.BFS is slower and require more memory.DFS is faster and require less memory.
    5.Some Applications:
    • Finding all connected components in a graph.
    • Finding the shortest path between two nodes.
    • Finding all nodes within one connected component.
    • Testing a graph for bipartiteness.
    Some Applications:
    • Topological Sorting.
    • Finding connected components.
    • Solving puzzles such as maze.
    • Finding strongly connected components.
    • Finding articulation points (cut vertices) of the graph.
    序号 广度优先搜索(BFS) 深度优先搜索(DFS)
    1。 BFS在Graph中逐级访问节点。 DFS访问图深度明智的节点。 它会访问节点,直到到达叶或没有未访问节点的节点为止。
    2。 在开始任何其他节点之前,必须先充分探究一个节点。 一旦发现另一个未探索节点,就会暂停对该节点的探索。
    3。 使用队列数据结构存储未探索的节点。 使用堆栈数据结构存储未探索的节点。
    4。 BFS较慢,需要更多的内存。 DFS更快并且需要更少的内存。
    5, 一些应用:
    • 在图中查找所有连接的组件。
    • 查找两个节点之间的最短路径。
    • 查找一个连接的组件内的所有节点。
    • 测试图的二等性。
    一些应用:
    • 拓扑排序。
    • 查找连接的组件。
    • 解决迷宫等难题。
    • 查找牢固连接的组件。
    • 查找图形的关节点(切顶点)。

    Example

    Considering A as starting vertex.

    将A作为起始顶点。

    Difference between BFS and DFS

    Image Source

    图片来源

    Note: There are many sequences possible for BFS and DFS. Using permutations we can find how many are there.

    注意: BFS和DFS有许多可能的序列。 使用排列,我们可以找到其中的数目。

    Comment below if you found any information incorrect or missing in above tutorial for difference between dfs and bfs.

    如果您发现上面的教程中的dfs和bfs之间存在差异,则您在以下教程中发现任何不正确或缺失的信息时,请在下面发表评论。

    翻译自: https://www.thecrazyprogrammer.com/2017/06/difference-between-bfs-and-dfs.html

    dfs和bfs差别

    展开全文
  • 在51单片机的学习过程中,我们经常会发现中断、计数器/定时器、串口是学习单片机的难点,对于初学者来说,这几部分的内容很难理解。本文就来介绍一下MCS-51单片机定时器和计数器区别
  • Tensorflow1.与2.0区别.zip

    2019-12-03 16:01:37
    整理了一个表格,1与2版本的区别,一些库的使用改变,以及代码的规范。资源来自于官方发布,个人整理后,以供大家学习交流。
  • Enterprise:作为高级版本,SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还具有端到端的商业智能,可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据。...
  • ddr5和ddr4的区别 ddr5和ddr4性能差别

    千次阅读 2021-02-26 14:00:20
    DDR5和DDR4主要在带宽速度、单芯片密度以及工作频率等方面有区别。带宽速度上,DDR5为32GB/s,DDR4为25.6GB/s;; 组装电脑怎么搭配更好用 这些点很重要 看过你就懂了 http://www.adiannao.cn/du 单片芯片密度上,DDR5...

    DDR5和DDR4主要在带宽速度、单芯片密度以及工作频率等方面有区别。带宽速度上,DDR5为32GB/s,DDR4为25.6GB/s;;
    组装电脑怎么搭配更好用 这些点很重要 看过你就懂了
    http://www.adiannao.cn/du
    单片芯片密度上,DDR5单芯片的容量为16GB,DDR4单芯片的容量为4GB;工作频率上,DDR5工作频率达4800MHz以上,DDR4最低为1600MHz。具体区别如下:
    在这里插入图片描述

    1、带宽速度方面:DDR4的带宽为25.6GB/s,DDR5的带宽为32GB/s。

    2、单片芯片密度方面:DDR4为4GB的单片芯片密度,单条内存的最大容量达到128GB;而DDR5会有单片超过16GB的芯片密度,可以达到单条更高容量。

    3、工作频率方面:DDR4的最低的工作频率标准为160MHz0,最高工作频率为3200MHz;而DDR5的工作频率高达4800MHz以上,最高频率达到6400MHz。

    4、功耗方面:目前DDR4内存的单条功耗为1.2V,DDR5内存的功耗将进一步降低到1.1V。

    5、同时,DDR5具有改进的命令总线效率,更好的刷新方案以及增加的存储体组以获得额外的性能。

    展开全文
  • Div与table的区别在各个方面表现都很明显比如速度和加载方式方面的区别、在网页应用中的差别等等,多不胜数,下文详细整理了一下,喜欢的朋友可以参考下,希望可以帮助大家更好的理解Div与table的区别
  • VSS-VPC 区别

    2018-10-23 12:27:08
    Cisco网络设备虚拟化 VSS 技术与Cisco 数据中心设备VPC 的技术区别
  • SQSERVER版本区别

    2017-11-06 20:12:37
    SQSERVER版本区别,包含数据类型、兼容信、操作界面、语法等
  • 经济学和管理学的区别差别(经典版).doc
  • 经济学与管理学的区别差别(经典版).doc
  • UEFI和传统BIOS的区别

    2018-12-24 18:13:45
    电脑系统安装的相关问题,与系统第一启动项的引导方式有关
  • 用matlab的psd函数和pwelch函数求功率谱密度,但是得到的结果为什么下差大约30db %在较早版本中PSD函数得到的是功率谱,不是功率谱密度,所以与pwelch的结果(计算功率谱密度)会有30db的差别
  • SOP 封装 和 SOIC 封装的区别,实际上仅有很小的区别,可以混用,还有其他一些封装的简介。

    Author:AXYZdong 自动化专业 工科男
    有一点思考,有一点想法,有一点理性!
    定个小小目标,努力成为习惯!在最美的年华遇见更好的自己!
    CSDN@AXYZdong,CSDN首发,AXYZdong原创
    唯一博客更新的地址为: 👉 AXYZdong的博客 👈



    · 问题由来

    最近在画 PCB ,画完之后就得买元器件了。发现商家给的芯片封装是 SOIC ,而我的 PCB 画的封装是 SOP ,然后就在网上搜了一下,总结以下结果。

    · 问题解决

    SOP也是一种很常见的封装形式,始于70年代末期。SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。像主板的频率发生器就是采用的SOP封装。

    上面一段话已经指出了,SOIC是由SOP派生出来的。 两种封装的具体尺寸,包括芯片的长、宽、引脚宽度、引脚间距等基本一样,所以在PCB设计的时候封装SOP与SOIC可以混用。

    也就是两种封装可以混用。

    · 实际区别

    SOP 和 SOIC 有细微差别。

    SOP 是一个比较通用的叫法,后来才有了 SOIC 的封装,SOIC 封装在外形上和 SOP 几乎一样。

    差异在管脚上, SOIC 更加细,据说是为了减少占地面积。

    以下是引脚尺寸图对比。

    SOIC

    在这里插入图片描述
    SOP

    SOIC-8 的焊盘宽度是 0.6mm,SOP-8 的焊盘宽度是 0.65mm,综合对比完全可以互相替换。

    插播一条反爬虫信息,读者可以忽略:


    在这里插入图片描述


    · 其他封装简介

        芯片的封装技术已经历了好几代的变迁,从 DIP、QFP、PGA、BGA到CSP再到MCM,技术指标一代比一代先进,包括芯片面积与封装面积之比越来越接近于1,适用频率越来越高,耐温性能越来越好,引脚数增多,引脚间距减小,重量减小,可靠性提高,使用更加方便等等。


        近年来电子产品朝轻、薄、短、小及高功能发展,封装市场也随信息及通讯产品朝高频化、高I/O 数及小型化的趋势演进。

        由1980 年代以前的通孔插装(PTH)型态,主流产品为DIP(Dual In-Line Package),进展至1980 年代以SMT(Surface Mount Technology)技术衍生出的SOP(Small Out-Line Package)、SOJ(Small Out-Line J-Lead)、PLCC(Plastic Leaded Chip Carrier)、QFP(Quad Flat Package)封装方式,在IC 功能及I/O 脚数逐渐增加后,1997 年Intel 率先由QFP 封装方式更新为BGA(Ball Grid Array,球脚数组矩阵)封装方式,除此之外,近期主流的封装方式有CSP(Chip Scale Package 芯片级封装)及Flip Chip(覆晶)。

    • BGA(Ball Grid Array) 封装方式是在管壳底面或上表面焊有许多球状凸点,通过这些焊料凸点实现封装体与基板之间互连的一种先进封装技术。

       BGA封装方式经过十多年的发展已经进入实用化阶段。1987年,日本西铁城(Citizen)公司开始着手研制塑封球栅面阵列封装的芯片(即BGA)。而后,摩托罗拉、康柏等公司也随即加入到开发BGA的行列。1993年,摩托罗拉率先将BGA应用于移动电话。同年,康柏公司也在工作站、PC电脑上加以应用。直到五六年前,Intel公司在电脑CPU中(即奔腾II、奔腾III、奔腾IV等),以及芯片组(如i850)中开始使用BGA,这对BGA应用领域扩展发挥了推波助澜的作用。目前,BGA已成为极其热门的IC封装技术,其全球市场规模在2000年为12亿块,预计2005年市场需求将比2000年有70%以上幅度的增长。
        BGA封装比QFP先进,更比PGA好,但它的芯片面积/封装面积的比值仍很低。Tessera公司在BGA基础上做了改进,研制出另一种称为μBGA的封装技术,按0.5mm焊区中心距,芯片面积/封装面积的比为1:4,比BGA前进了一大步。

    随着全球电子产品个性化、轻巧化的需求蔚为风潮,对集成电路封装要求更加严格。

    1994年9月日本三菱电气研究出一种芯片面积/封装面积=1:1.1的封装结构,其封装外形尺寸只比裸芯片大一点点。也就是说,单个IC芯片有多大,封装尺寸就有多大,从而诞生了一种新的封装形式,命名为芯片尺寸封装,简称 CSP(Chip Size Package或Chip Scale Package) 。CSP是一种封装外壳尺寸最接近籽芯(die)尺寸的小型封装,具有多种封装形式,其封装前后尺寸比为1:1.2。它减小了芯片封装外形的尺寸,做到裸芯片尺寸有多大,封装尺寸就有多大。即封装后的IC尺寸边长不大于芯片的1.2倍,IC面积只比晶粒(Die)大不超过1.4倍。

    • CSP有两种基本类型:一种是封装在固定的标准压点轨迹内的,另一种则是封装外壳尺寸随芯尺寸变化的。常见的CSP分类方式是根据封装外壳本身的结构来分的,它分为柔性CSP,刚性CSP,引线框架CSP和圆片级封装(WLP)。柔性CSP封装和圆片级封装的外形尺寸因籽芯尺寸的不同而不同;刚性CSP和引线框架CSP封装则受标准压点位置和大小制约。

    • CSP封装适用于脚数少的IC,如内存条和便携电子产品。未来则将大量应用在信息家电(IA)、数字电视(DTV)、电子书(E-Book)、无线网络WLAN/GigabitEthemet、ADSL/手机芯片、蓝芽(Bluetooth)等新兴产品中。

    Flip Chip 技术起源于1960 年代,为IBM 开发出之技术,Flip Chip 技术是在I/O pad上沉积锡铅球,然后将芯片翻转佳热利用熔融的锡铅球与陶瓷机板相结合此技术替换常规打线接合,逐渐成为未来的封装主流,当前主要应用于高时脉的CPU、GPU(GraphicProcessor Unit)及Chipset 等产品为主。

    • LGA(Land Grid Array):矩栅阵列(岸面栅格阵列)是一种没有焊球的重要封装形式,它可直接安装到印制线路板(PCB)上,比其它BGA封装在与基板或衬底的互连形式要方便的多,被广泛应用于微处理器和其他高端芯片封装上.
    • CGA(Column Grid Array) 圆柱栅格阵列,又称柱栅阵列封装

    1999年第三季度,Wavecom的工程师开始研究插座形式以外的其它解决方法。他们首先尝试球栅矩阵封装(Ball Grid Array)直接在PCB板上进行焊装。这种方法同时解决了装配和屏蔽问题,因为球珠组成的环形可以减少电磁干扰。但球珠型式体积超大,造成了整体尺寸的相应扩大。

        最终,这个问题在1999年底得到了解决。当时Wavecom的工程师发现用2微米长、0.4微米宽的微型金属柱组成格栅,它既可提供电路连接,又控制了电磁干扰,并且有效地节约了部件的总体体积。柱栅阵列封装方法使用特别设计的塑料框架, 其中放置200多个微型格栅,它最终解决了电磁屏蔽和电路连接问题,同时易于使用。

        PGA芯片封装 形式在芯片的内外有多个方阵形的插针,每个方阵形插针沿芯片的四周间隔一定距离排列。根据引脚数目的多少,可以围成2-5圈。安装时,将芯片插入专门的PGA插座。为使CPU能够更方便地安装和拆卸,从486芯片开始,出现一种名为ZIF的CPU插座,专门用来满足PGA封装的CPU在安装和拆卸上的要求。

        ZIF(Zero Insertion Force Socket) 是指零插拔力的插座。把这种插座上的扳手轻轻抬起,CPU就可很容易、轻松地插入插座中。然后将扳手压回原处,利用插座本身的特殊结构生成的挤压力,将CPU的引脚与插座牢牢地接触,绝对不存在接触不良的问题。而拆卸CPU芯片只需将插座的扳手轻轻抬起,则压力解除,CPU芯片即可轻松取出。

        QFP封装 的芯片引脚之间距离很小,管脚很细,一般大规模或超大型集成电路都采用这种封装形式,其引脚数一般在100个以上。用这种形式封装的芯片必须采用SMD(表面安装设备技术)将芯片与主板焊接起来。采用SMD安装的芯片不必在主板上打孔,一般在主板表面上有设计好的相应管脚的焊点。将芯片各脚对准相应的焊点,即可实现与主板的焊接。用这种方法焊上去的芯片,如果不用专用工具是很难拆卸下来的。

        PFP(Plastic Flat Package) 方式封装的芯片与QFP方式基本相同。唯一的区别是QFP一般为正方形,而PFP既可以是正方形,也可以是长方形。
    芯片直接贴装技术(Direct Chip Attach 简称DCA),也称之为板上芯片技术(Chip-on-Board 简称COB),是采用粘接剂或自动带焊、丝焊、倒装焊等方法,将裸露的集成电路芯片直接贴装在电路板上的一项技术。倒装芯片是COB中的一种(其余二种为引线键合和载带自动键合),它将芯片有源区面对基板,通过芯片上呈现阵列排列的焊料凸点来实现芯片与衬底的互连。

        它提供了非常多的优点;消除了对引线键合连接的要求;增加了输入/输出(I/O)的连接密度;以及在印刷电路板上所使用的空间很小。与引线键合相比,它实现了较多的I/O数量、加快了操作的速度。

        SOP也是一种很常见的封装形式,始于70年代末期。SOP封装的应用范围很广,而且以后逐渐派生出SOJ(J型引脚小外形封装)、TSOP(薄小外形封装)、VSOP(甚小外形封装)、SSOP(缩小型SOP)、TSSOP(薄的缩小型SOP)及SOT(小外形晶体管)、SOIC(小外形集成电路)等在集成电路中都起到了举足轻重的作用。像主板的频率发生器就是采用的SOP封装。

        DIP(Dual-In-Line Package): 双列直插式封装,是指采用双列直插形式封装的集成电路芯片,绝大多数中小规模集成电路(IC)均采用这种封装形式,其引脚数一般不超过100个。在70年代非常流行。这种封装形式的引脚从封装两侧引出,封装材料有塑料和陶瓷两种。DIP封装的特点就是适合PCB的穿孔安装,易于PCB布线,它的应用范围很广,包括标准逻辑IC电路、微机电路等等。虽然DIP封装已经有些过时,但是现在很多主板的BIOS芯片还采取的这种封装形式。

    · 总结

    • SOP 封装 和 SOIC 封装细微差别,对于要求不高的 PCB ,两者可以混用

    【参考文献】

    [1]:http://blog.sina.com.cn/s/blog_5d2a43440100gcev.html
    [2]:https://www.cnblogs.com/F4NNIU/p/11082148.html
    [3]:http://blog.chinaunix.net/uid-753810-id-229806.html



      本次的分享就到这里


    11

    好书不厌百回读,熟读自知其中意。将学习成为习惯,用知识改变命运,用博客见证成长,用行动证明努力。
    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
    听说 👉 点赞 👈 的人运气不会太差,每一天都会元气满满呦!^ _ ^ ❤️ ❤️ ❤️
    码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了👉关注👈我哦!
    更多精彩内容请前往 AXYZdong的博客


    如果以上内容有任何错误或者不准确的地方,欢迎在下面 👇 留个言。或者你有更好的想法,欢迎一起交流学习~~~

    展开全文
  • 详细解释MII SMII,GMII,SGMII等区别,了解它们的传输协议 不同
  • 主要介绍了集线器与交换机有哪些区别(智能与非智能的差别),需要的朋友可以参考下
  • 这是我了解工作组和域的区别时搜集的几个资料,我觉得稍微全面些,所以传上来让大家尽快了解清楚它们。 其中包括: 活动目录之域功能级别详解; 局域网中工作组和域的主要差别; 图文详解Windows2003配置域服务器; ...
  • 进程和线程的区别(超详细)

    万次阅读 多人点赞 2019-10-03 21:57:46
    进程与线程的区别总结 从 JVM 角度说进程和线程之间的关系(重要) 图解进程和线程的关系 程序计数器为什么是私有的? 虚拟机栈和本地方法栈为什么是私有的? 一句话简单了解堆和方法区 多进程和多线程区别 Java中的多...

    进程和线程

    进程

    一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。

    任务管理器

    线程

    进程中的一个执行任务(控制单元),负责当前进程中程序的执行。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。

    与进程不同的是同类的多个线程共享进程的方法区资源,但每个线程有自己的程序计数器虚拟机栈本地方法栈,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

    Java 程序天生就是多线程程序,我们可以通过 JMX 来看一下一个普通的 Java 程序有哪些线程,代码如下。

    public class MultiThread {
    	public static void main(String[] args) {
    		// 获取 Java 线程管理 MXBean
    		ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
    		// 不需要获取同步的 monitor 和 synchronizer 信息,仅获取线程和线程堆栈信息
    		ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(false, false);
    		// 遍历线程信息,仅打印线程 ID 和线程名称信息
    		for (ThreadInfo threadInfo : threadInfos) {
    			System.out.println("[" + threadInfo.getThreadId() + "] " + threadInfo.getThreadName());
    		}
    	}
    }
    

    上述程序输出如下(输出内容可能不同,不用太纠结下面每个线程的作用,只用知道 main 线程执行 main 方法即可):

    [6] Monitor Ctrl-Break //监听线程转储或“线程堆栈跟踪”的线程
    [5] Attach Listener //负责接收到外部的命令,而对该命令进行执行的并且把结果返回给发送者
    [4] Signal Dispatcher // 分发处理给 JVM 信号的线程
    [3] Finalizer //在垃圾收集前,调用对象 finalize 方法的线程
    [2] Reference Handler //用于处理引用对象本身(软引用、弱引用、虚引用)的垃圾回收的线程
    [1] main //main 线程,程序入口
    

    从上面的输出内容可以看出:一个 Java 程序的运行是 main 线程和多个其他线程同时运行

    进程与线程的区别总结

    线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元;而把传统的进程称为重型进程(Heavy—Weight Process),它相当于只有一个线程的任务。在引入了线程的操作系统中,通常一个进程都有若干个线程,至少包含一个线程。

    根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位

    资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

    包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

    内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

    影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

    执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行

    从 JVM 角度说进程和线程之间的关系(重要)

    图解进程和线程的关系

    下图是 Java 内存区域,通过下图我们从 JVM 的角度来说一下线程和进程之间的关系。

    在这里插入图片描述

    从上图可以看出:一个进程中可以有多个线程,多个线程共享进程的方法区 (JDK1.8 之后的元空间)资源,但是每个线程有自己的程序计数器虚拟机栈本地方法栈

    程序计数器为什么是私有的?

    程序计数器主要有下面两个作用:

    1. 字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。
    2. 在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。

    需要注意的是,如果执行的是 native 方法,那么程序计数器记录的是 undefined 地址,只有执行的是 Java 代码时程序计数器记录的才是下一条指令的地址。

    所以,程序计数器私有主要是为了线程切换后能恢复到正确的执行位置

    虚拟机栈和本地方法栈为什么是私有的?

    • 虚拟机栈:每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。
    • 本地方法栈:和虚拟机栈所发挥的作用非常相似,区别是: 虚拟机栈为虚拟机执行 Java 方法 (也就是字节码)服务,而本地方法栈则为虚拟机使用到的 Native 方法服务。 在 HotSpot 虚拟机中和 Java 虚拟机栈合二为一。

    所以,为了保证线程中的局部变量不被别的线程访问到,虚拟机栈和本地方法栈是线程私有的。

    一句话简单了解堆和方法区

    堆和方法区是所有线程共享的资源,其中堆是进程中最大的一块内存,主要用于存放新创建的对象 (所有对象都在这里分配内存),方法区主要用于存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

    多进程和多线程区别

    多进程:操作系统中同时运行的多个程序

    多线程:在同一个进程中同时运行的多个任务

    举个例子,多线程下载软件,可以同时运行多个线程,但是通过程序运行的结果发现,每一次结果都不一致。 因为多线程存在一个特性:随机性。造成的原因:CPU在瞬间不断切换去处理各个线程而导致的,可以理解成多个线程在抢CPU资源。

    多线程提高CPU使用率

    多线程

    多线程并不能提高运行速度,但可以提高运行效率,让CPU的使用率更高。但是如果多线程有安全问题或出现频繁的上下文切换时,运算速度可能反而更低。

    Java中的多线程

    Java程序的进程里有几个线程:主线程,垃圾回收线程(后台线程)等

    在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。

    Java支持多线程,当Java程序执行main方法的时候,就是在执行一个名字叫做main的线程,可以在main方法执行时,开启多个线程A,B,C,多个线程 main,A,B,C同时执行,相互抢夺CPU,Thread类是java.lang包下的一个常用类,每一个Thread类的对象,就代表一个处于某种状态的线程

    展开全文
  • button与a标签的区别

    2017-07-24 18:19:10
    button与a标签的区别
  • 论步进电机与伺服电机的区别以及国内外伺服电机的差别
  • 首先它们使用不同的材料,因而性能上就存在差别:制作精密合金电阻的材料温度稳定性要高于普通电阻的材料,在一定的温度范围内,精密合金电阻的误差比普通电阻的误差小很多。如果说普通电阻的误差有1%~5%,而精密...
  • 先说差别:union对两张表的操作是合并数据条数,等于是纵向的,要求是两张表字段必须是相同的(Schema of both sides of union should match.)。也就是说如果A表中有三条数据,B表中有两条数据,那么A union B就会有...
  • 不同系列的嵌入式系统的C编译器,根据它所对应的不同芯片系列有其各自的特点,在这里,以KEIL公司的针对51系列的KEILC51编译器为例,简要说明它与ANSI-C的主要区别,其它的编译系统与ANSI-C的差别,可具体参照指定...
  • Div与table的区别表现在的方面很多比如:速度和加载方式方面的区别、在网页应用中的差别、DIV与Table布局在大型网站的可用性比较等等,感兴趣的朋友可以参考下哈,希望在概念上的理解对大家有所帮助
  • java和c++语法区别

    2014-05-27 23:06:09
    java和c++语法区别语法上的比较,也举出了一些相同点
  • SQLServer和MySql语法和关键字的区别详解
  • DNS转发器,根提示,递归,迭代的差别..
  • mikrotik ROS 4.0-5.x-6.17所有版本之间的区别(全英文)
  • stm32f103zet6与stm32f103vct6的区别

    万次阅读 2020-03-08 16:44:26
    stm32f103zet6与stm32f103vct6的区别 1、STM32F系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。  其中STM32F系列有:  1)STM32F103“增强型”系列  2)STM32F...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,484,545
精华内容 1,793,818
关键字:

差别