My Blog

Hope for world peace.

JMM可见性问题

JMM可见性问题分析及解决

什么是可见性问题 在JMM(Java内存模型)中规定了所有的变量都存储在主内存(Main Memory)中,每条线程还有自己的工作内存(Working Memory,可以与处理器的高速缓存类比),线程的工作内存中保存了被该线程使用的的变量的主内存副本,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读取主内存中的数据。不同线程之间也无法直接访问对方工作内存中的变量,线程...

Redis持久化(RDB和AOF分析)

Redis持久化

Redis持久化方案 Redis有两种数据持久化方案 RDB持久化 AOF持久化 ## 1、RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。...

《瑞吉外卖》个人记录

个人记录

一、绪论 1.1 项目背景 随着我国城镇和农村居民生活水平达到富裕和小康层次,消费在国民经济活动中的比重逐步加大,居民的餐饮消费逐渐从一日三餐的刚需升级到感受餐饮文化以及社交的重要方式,近年来我国餐饮业销售收入逐年攀升,2019年中国餐饮收入达4.67万亿元,较2018年增加了0.40万亿元,同比增长9.38%,受新冠肺炎疫情影响,2020年中国餐饮收入大幅下滑,随着国内疫情的有效控制,中国...

(文章标题)

(副标题)

微内核与宏内核分析 要了解宏内核与微内核的区别,我们首先要知道什么是宏内核,什么是微内核。宏内核被视作为运行在单一地址空间的单一的进程,内核提供的所有服务,都以特权模式,在这个大型的内核地址空间中运作,这个地址空间被称为内核态,微内核(Micro kernel)是提供操作系统核心功能的内核的精简版本,它设计成在很小的内存空间内增加移植性,提供模块化设计,以使用户安装不同的接口。由此可...

ARC 与 MRC 混合使用

MRC 库的处理

Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。 有些时候我们工程中引用了十分古老的库为MRC模式,这时就需要采用混合模式进行处理 如果你的项目使用的 MRC 模式,要为 ARC 模式的代码文件加入 -fobjc-arc 标签。 如果你的项目使用的是 ARC 模式,要为 MRC 代码文件加入 -fno-objc-arc 标签 ...

OC 内存管理的基本概念

OC 内存管理的基本概念以及应用

OC 内存管理的基本概念 ###1. 内存管理的基本概念 栈区 stack 堆区 heap heap(堆)是最自由的一种内存,它完全由程序来负责内存的管理,包括什么时候申请,什么时候释放,而且对它的使用也没有什么大小的限制。在C/C++中,用alloc系统函数和new申请的内存都存在于heap段中。 BSS区 来...

5分钟带你看完 WWDC 2018

WWDC 2018 Keynote 全记录

前言 一年一度的 WWDC(苹果全球开发者大会)于北京时间 6月5日 凌晨1点开幕。废话不多说,来看看这次WWDC 都有哪些亮点吧! iOS 12 和 ARKit 2.0 关键词:官方防沉迷最为致命 iOS 12 iOS 12 相较于 iOS 11 并没有太多UI上的变动,刚更新完 bate 版本的 iOS 12,完全感觉不到这是个新系统。 iOS 12 主要是对安全和性...

Xcode命令行工具管理

如何切换Xcode命令行工具

安装 xcode-select --install Xcode版本切换 显示当前使用的xocde版本 $ xcode-select --print-path 选择Xcode中的默认版本 $ sudo xcode-select -switch /Applications/Xcode.app

柔术最大的谎言「译」

辩证分析柔术中技术与力量

译自 《THE BIGGEST LIE IN JIU JITSU》 最近我看到了一个让我捧腹的柔术笑话。 “柔术的技术是无敌的!” 你可能不想听听下面的内容,但是作为一名柔术教练,我的工作是与你分享我认为的真理,而不是虚假的谎言。所以在这里与你们分享我的见解: 目录 技术不是无敌的 我的见解 一个假设 真实的例子 这个神话是从哪里来的? 好消息...

从一道网易面试题浅谈 Tagged Pointer

浅谈 Tagged Pointer

前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 《从一道网易面试题浅谈OC线程安全》 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题:下面代码会发生什么问题? @property (nonatomic, strong) NSString *target; //.... dispatch_queue_t queue = disp...