• 字节码解释执行引擎

    那么,基于栈的指令集与基于寄存器的指令集这两者之间有什么不同呢?举个最简单的例子,分别使用这两种指令集计算“1+1”的结果,基于栈的指令集会是这样子的: iconst_1 iconst_1 iadd istore_0 两条iconst_1指令...
    文章 2016-11-13 874浏览量
  • linux内存屏障浅析

    这里同样会出问题。所以,在这种情况下,CPU-b也得使用屏障。CPU-a上要使用写屏障,保证两个写操作不乱序,并且相应的两个cache更新消息不乱序。CPU-b上则需要使用读屏障,保证对两个cache单元的同步不乱序。可见,...
    文章 2016-03-24 2958浏览量
  • 汇编语言第4周学生总结反馈

    我得到的知识:源程序文件,目标文件,可执行文件间的转换,源程序的基本架构,loop结构的使用我得到的技能:如何上机实现上述过程,使用loop结构解决一些简单的数学问题我尚存的疑惑:编写程序时不同情况下对16进制...
    文章 2017-03-21 1855浏览量
  • 懂了!VMware/KVM/Docker原来是这么回事儿

    性能:绝大多数情况下虚拟机中的代码指令应该直接在物理CPU中执行,少部分特殊指令可由VMM参与。那如何实现对计算机底层的物理资源的虚拟化分割呢?在计算机技术的发展历史上,出现了两种著名的方案,分别是I型虚拟...
    文章 2020-07-21 2781浏览量
  • 双重检查锁单例模式为什么要用volatile关键字?

    3、有序性:要避免指令重排序,synchronized、lock作用的代码块自然是有序执行的,volatile关键字有效的禁止了指令重排序,实现了程序执行的有序性;双重检查锁定模式 双重检查锁定(Double check locked)模式经常...
    文章 2019-08-15 1144浏览量
  • Java中synchronized和volatile有什么区别?

    看到这里可能有朋友会问了,说到底上面问题是发生了指令重排,其实还是个有序性的问题,不是说synchronized是可以保证有序性的么,这里为什么就不行了呢?首先,可以明确的一点是:synchronized是无法禁止指令重排和...
    文章 2020-06-12 169浏览量
  • 《CUDA C编程权威指南》——3.2节理解线程束执行的...

    32个CUDA核心用于执行当前指令中所有的参数都已就绪例如,Kepler SM上活跃的线程束数量,从启动到完成在任何时候都必须小于或等于64个并发线程束的架构限度。在任何周期中,选定的线程束数量都小于或等于4。如果...
    文章 2017-05-02 1688浏览量
  • 【高并发】解密导致并发问题的第二个幕后黑手——原子...

    所以,如果在CPU中存在正在执行的线程,恰好此时CPU发生了线程切换,则可能会导致原子性问题,这也是导致并发编程频繁出问题的根源之一。我们只有充分理解并掌握线程的原子性以及引起原子性问题的根源,并在日常工作...
    文章 2021-10-20 37浏览量
  • 面试常考:Java中synchronized和volatile有什么区别?

    看到这里可能有朋友会问了,说到底上面问题是发生了指令重排,其实还是个有序性的问题,不是说synchronized是可以保证有序性的么,这里为什么就不行了呢?首先,可以明确的一点是:synchronized是无法禁止指令重排和...
    文章 2020-05-29 973浏览量
  • Android 并发编程起因

    在x86上,这不会出问题,reg会得到41。线程2会观察到线程1存储的值的变化,并且按线程1的程序顺序。但是在ARM的多处理并发场景下,读和写可能被重排序,reg可能得到0也可能得到41,除非你精确的定义顺序,否则你不...
    文章 2016-06-07 2488浏览量
  • 4个点说清楚Java中synchronized和volatile的区别

    看到这里可能有朋友会问了,说到底上面问题是发生了指令重排,其实还是个有序性的问题,不是说synchronized是可以保证有序性的么,这里为什么就不行了呢?首先,可以明确的一点是:synchronized是无法禁止指令重排和...
    文章 2019-08-27 803浏览量
  • 《CUDA C编程权威指南》——3.2 理解线程束执行的...

    一个线程束中的所有线程在同一周期中必须执行相同的指令,如果一个线程执行一条指令,那么线程束中的所有线程都必须执行指令。如果在同一线程束中的线程使用不同的路径通过同一个应用程序,这可能会产生问题。例如...
    文章 2017-07-03 3538浏览量
  • 有限状态机问题编程实践

    由于指令模型再执行指令时向上表现为一致的行为方式,而底层设备为不同指令提供了不同的API,因此在真正执行指令操作的地方,我们也需要进行抽象和适配(下图仅列部分操作): 现在我们需要另外的一个模型来负责状态...
    文章 2016-12-11 3292浏览量
  • 汇编(六)栈段、第一个汇编程序

    链接程序将此内容出来了为最终的可执行信息,所以,在只有一个源程序文件,而又不需要调用 某些库中子程序的情况下,也必须用链接程序对目标文件处理,生成可执行文件 4.5 可执行文件中的程序装入内存并运行的原理 ...
    文章 2019-09-09 2602浏览量
  • JVM解毒——JVM与Java体系结构

    大部分情况下,基于寄存器架构的指令集往往都以一地址指令、二地址指令和三地址指令为主,而基于栈式架构的指令集却是以零地址指令为主 由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,...
    文章 2020-02-21 1057浏览量
  • 《C语言程序设计:问题与求解方法》——1.2节计算机...

    控制单元:负责(通过总线)从内存中得到指令、对取到的指令进行译码,并负责(通过总线)向相关部件发布执行指令的命令,控制单元是指令执行的控制中心。算术逻辑单元(ALU):ALU是用来对数据进行基本运算的。负责...
    文章 2017-08-01 1101浏览量
  • 《机器人编程实战》一一1.1 定义机器人的7个标准

    编程的动作和行为应要有给机器人指令的描述方法:执行什么动作何时执行动作何地执行动作何种情形下执行动作如何执行动作通过本书可知,对机器人编程相当于给机器人一系列关于是什么、何时、何地、为什么和如何执行...
    文章 2017-07-03 955浏览量
  • 《机器人编程实战》一一1.1 定义机器人的7个标准

    编程的动作和行为应要有给机器人指令的描述方法:执行什么动作何时执行动作何地执行动作何种情形下执行动作如何执行动作通过本书可知,对机器人编程相当于给机器人一系列关于是什么、何时、何地、为什么和如何执行...
    文章 2017-08-17 3338浏览量
  • 《算法导论(原书第3版)》一2.2 分析算法

    平均情况分析的范围有限,因为对于特定的问题什么构成一种“平均”输入并不明显。我们常常假定给定规模的所有输入具有相同的可能性。实际上,该假设可能不成立,但是,有时可以使用随机化算法,它做出一些随机的...
    文章 2017-08-01 1422浏览量
  • 软考之路-小桥流水人家

    各种部件同时处理是针对不同指令而言的,它们同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。概念我们说那么多,我们现在深入去理解,光有概念都是一些比较抽象的东西,我们看图,...
    文章 2014-11-03 768浏览量
  • 常见的Redis面试“刁难”问题

    对方接着追问:如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?这个时候你要回答redis关键的一个特性:redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕...
    文章 2018-08-01 1424浏览量
  • 既生synchronized,何生volatile

    以上过程,看上去并没有什么问题,但是,其实,在Step4,Thread2在调用singleton.call()的时候,是有可能抛空指针异常的。之所有会有NPE抛,是因为在Step3,Thread2拿到的singleton对象并不是一个完整的对象。...
    文章 2019-08-21 2874浏览量
  • 程序的基本概念

    虽然这个Windows下的可执行文件包含的是32位x86指令,但其文件格式和Linux下的可执行文件有很大差别,换句话说,能被Windows操作系统加载执行的程序不能被Linux操作系统加载执行,因为这两种操作系统加载执行程序的...
    文章 2017-06-02 1498浏览量
  • 新名词|什么是「电源」程序员?

    然后 shell 执行一系列指令来加载可执行的 hello 文件,这些指令将目标文件中的代码和数据从磁盘复制到主存。利用 DMA(Direct Memory Access)技术可以直接将磁盘中的数据复制到内存中,如下 一旦目标文件中 hello 中...
    文章 2020-04-01 580浏览量
  • RISC 开发者为物联网和云计算打造开源芯片

    但由于当时编译器的技术并不纯熟,为了减少程序设计师的设计时间,逐渐开发单一指令、复杂操作的程式,设计师只需写下简单的指令,再交由CPU去执行。但是后来有人发现,整个指令集中只有约20%常常会被使用到...
    文章 2017-06-02 995浏览量
  • 《高性能科学与工程计算》——1.2 基于高速缓存的...

    Store(ST)和Load(LD)单元执行寄存器存取指令,待执行指令被保存到多个队列中,这些指令可能会被乱序执行。最后,高速缓存保存即将执行的指令和数据。而芯片的主要部分就是高速缓存。许多额外逻辑,包括分支预测...
    文章 2017-07-03 1281浏览量
  • Java内存模型与volatile关键字

    处理器可以乱序或者并行的执行指令。缓存会改变写入提交到主内存的变量的次序。有序性:即程序执行的顺序按照代码的先后顺序执行 使用volatile变量的第二个语义是禁止指令重排序优化 普通变量仅保证该方法执行过程...
    文章 2018-02-28 778浏览量
  • Linux 开关中断系列函数探究

    区别于陷阱、异常指令和出错等在指令执行完后产生的异常,它往往发生在处理器的外部,通常由外设触发,可以在指令执行完成的瞬间产生,也可能在指令执行的过程中产生,因而不预测。从外设的角度看,中断是设备请求...
    文章 2017-11-16 924浏览量
  • 再有人问你volatile是什么,就把这篇文章发给他

    原子性是指一个操作是不中断的,要全部执行完成,要不就都不执行。线程是CPU调度的基本单位。CPU有时间片的概念,会根据不同的调度算法进行线程调度。当一个线程获得时间片之后开始执行,在时间片耗尽之后,就会...
    文章 2018-08-14 1033浏览量
  • 浅谈缓冲区溢出之栈溢出<上>

    不过今天我们采用另外一种方法查看生成的机器指令,即使用objdump命令对最终形成的可执行文件进行反汇编来查看其机器代码。操作指令是objdump-d overflow-M intel,这样我们便得到了why_it_run、we_call以及main函数...
    文章 2016-03-31 2765浏览量
1 2 3 4 ... 62 >

云产品推荐

视频直播 大数据计算服务 MaxCompute 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 新零售智能客服 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化