我的博客

  • Path类使用详解

    玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候。OK,那我们今天就来看看Path中那几个常用的API。1.moveTomoveTo表示将绘制点移动到某一个坐标处,该方法并不会进行绘制,主要是用来移动画笔。默认情况下起始坐标位于(0,0)点,我们可以手动调整默认位置。2.li

    2022-12-02 michael007js 628

  • 日期时间字符串含义 YYYY-MM-DDTHH:mm:ss:sssZ(精确到毫秒级)

    android画图经常用到这几个什么什么To,所以来做个小笔记,记录下moveTo、lineTo、quadTo、cubicTo、arcTo的作用,在自定义view的时候经常用到。1、moveTomoveTo 不会进行绘制,只用于移动移动画笔。2、lineTolineTo 用于进行直线绘制。mPath.lineTo(300,300);canvas.drawPath(mPath, mPaint);默认

    2022-11-29 michael007js 1856

  • 已经有 MESI 协议,为什么还需要 volatile 关键字?

    在上一篇文章里,我们聊到了 CPU 的缓存一致性问题,分为纵向的 Cache 与内存的一致性问题以及横向的多个核心 Cache 的一致性问题。我们也讨论了 MESI 协议通过写传播和事务串行化实现缓存一致性。不知道你是不是跟我一样,在学习 MESI 协议的时候,自然地产生了一个疑问:在不考虑写缓冲区和失效队列的影响下,在硬件层面已经实现了缓存一致性,那么在 Java 语言层面为什么还需要定义 vo

    2022-11-27 michael007js 137

  • 12 张图看懂 CPU 缓存一致性与 MESI 协议,真的一致吗?

    在上一篇文章里,我们聊到了 CPU 的三级缓存结构,提到 CPU 缓存就一定会聊到 CPU 的缓存一致性问题。那么,什么是缓存一致性问题,CPU Cache 的读取和写入过程是如何执行的,MESI 缓存一致性协议又是什么?今天我们将围绕这些问题展开。学习路线图:1. 回顾 CPU 三级缓存结构由于 CPU 和内存的速度差距太大,为了拉平两者的速度差,现代计算机会在两者之间插入一块速度比内存更快的高

    2022-11-27 michael007js 118

  • 我把 CPU 三级缓存的秘密,藏在这 8 张图里

    在上一篇文章里,我们聊到了计算机存储器系统的金字塔结构,其中在 CPU 和内存之间有一层高速缓存,就是我们今天要聊的 CPU 三级缓存。那么,CPU Cache 的结构是怎样的,背后隐含着哪些设计思想,CPU Cache 和内存数据是如何关联起来的,今天我们将围绕这些问题展开。思维导图:1. 认识 CPU 高速缓存1.1 存储器的金字塔结构现代计算机系统为了寻求容量、速度和价格最大的性价比会采用分

    2022-11-27 michael007js 147

  • 计算机的存储器金字塔长什么样?

    在计算机组成原理中的众多概念中,开发者接触得最多的还是内存、硬盘、虚拟内存、CPU 缓存这些概念。这些概念有一个更为抽象的表示 —— 存储器,它是冯 · 诺依曼计算机体系中的五大组件之一,用于存储程序和数据。在这个系列中,我将从存储器的金字塔结构展开,围绕 CPU 高速缓存、内存、硬盘、虚拟内存等内容逐步带你深入理解计算机中。思维导图:1. 局部性原理局部性原理是用于制定存储器系统数据管理策略的一

    2022-11-27 michael007js 133

  • 一套用了 70 多年的计算机架构 —— 冯·诺依曼架构

    上一篇文章里,我们讨论了可计算问题与图灵机的计算机模型。在理解了图灵机模型后,我们将从和图灵同时代的另一位计算机科学家提出的 “冯·诺依曼架构” 开始,正式开始计算机组成原理的核心内容。那么,冯·诺依曼架构是怎样的结构呢,冯·诺依曼架构是基于图灵机的吗,我们现在用的手机和电脑还在使用冯·诺依曼架构吗?今天我们将围绕这些问题展开。思维导图:1. 计算机的早期历史在 1936 年,艾伦·图灵在论文《论

    2022-11-27 michael007js 114

  • 从图灵机到量子计算机,计算机可以解决所有问题吗?

    今天,我们正式开启一个新专栏 —— 计算机组成原理。 计算机组成原理是计算机科学中最基础的理论知识,你越早掌握这些知识,你就能越早享受知识带来的 “复利效应”。在构思到写作的过程中,我一直在思考应该以什么内容作为这个专栏的开篇,应该以什么内容来吸引住读者的眼球,也有过其它一些想法。最后,我决定抛开所有功利的想法,回归到一个最纯粹的计算机科学问题 —— “计算机可以解决所有问题吗?”。思维导图:1.

    2022-11-27 michael007js 215

首页
关于博主
我的博客
搜索