摘要: ## 第一部分 并发理论基础 ### 01 可见性、原子性和有序性 举几个例子先。 1. 缓存可能导致**可见性**问题,因为多核CPU上的多个核可能都持有同一数据的不同缓存。两个线程并行地对一个字段进行累加,结果介于一倍与两倍之间。关键字volatile就是为了这样的需求,它提示底层去掉缓存这样的 阅读全文
posted @ 2023-02-01 00:36 joel-q 阅读(163) 评论(1) 推荐(0) 编辑
摘要: https://book.douban.com/annotation/121895489/ 深度探索C++对象模型 笔记 封装 对象持有自己的数据,等价于C语言的结构体,保持了访问速度。就是说,C++中,class对象就是struct,而不是像Java中的对象那样均是引用;C++的对象就是对象本身, 阅读全文
posted @ 2023-01-25 11:51 joel-q 阅读(40) 评论(3) 推荐(0) 编辑
摘要: 动态规划技术的核心是“子问题划分”和“记忆化”。 比如,leetcode#70. 爬楼梯与leetcode#120. 三角形最小路径和。 leetcode#70的子问题划分是这样的 由于每次只能向上爬一个或两个台阶,所以,爬到最高层的楼梯的路径数 $f(n)$ 一定是爬到最高层往下一层的路径数 $f 阅读全文
posted @ 2022-10-02 21:10 joel-q 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 标准输入stdin与参数args的区别 rm命令仅支持参数,而不支持标准输入方式。 cat命令既支持参数(被当作一个文件路径名,e.g. cat $fileName),也支持标准输入(比如,用将一个文件重定向为标准输入,e.g. cat < $fileName)。 $()、$(())与${}三种表达 阅读全文
posted @ 2022-09-11 17:26 joel-q 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 对象的内存分配与构造(初始化):Java的对象不像是C++的引用,毕竟引用不空,而更像是指向堆上的结构体的指针。总是先申请了对象空间,然后才对这块内存进行构造的。Java对象总是在堆上的,而结构体(包括数组)在C++里还可能是在栈上的。Java对象的数据成员的初始化就是对其进行赋值,而C++的赋值与 阅读全文
posted @ 2022-08-12 02:11 joel-q 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 正则,就是用字符来描述字符。正则的规则在不同编程语言(C++/Java/Python/Go/Shell)中是通用。 【第一部分】正则表达式里用的字符(可以分为两类) 1 通用编程语言支持的字符 普通字符(包括空格)和 通用编程语言,比如C语言的转义字符(包括制表符、换行符、换页符等)。转义字符,需要 阅读全文
posted @ 2022-07-24 18:36 joel-q 阅读(52) 评论(1) 推荐(0) 编辑
摘要: 并发机制:go的并发编程模型是基于消息(通道)的。比如,下述代码中的斐波那契数列,如果主线程(协程)来维护的话,就需要将a与b从局部变量升级为全局变量,但丢给子协程处理的话,主线程(协程)就不必为a和b操心了,这样的子协程即为一个generator,而主线程(协程)与generator子协程之间的通 阅读全文
posted @ 2022-07-23 23:11 joel-q 阅读(97) 评论(0) 推荐(0) 编辑
摘要: immutable与常量池:Java没有给字符串提供修改方法(所以Java称其String为immutable的;还有一种说法是,immutable是所有field都是final的对象)。因此,编译器可以将String指定为共享的,放在常量池中。即Java的底层字符数组byte[] value(用b 阅读全文
posted @ 2022-07-14 21:04 joel-q 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 并发编程模型概述 11. 对象与共享的内存:Java对象类似C++中在堆空间new出来的结构体的指针或引用,多线程在处理这样的一个变量时,就是在操作一块共享的内存。共享内存这个词本身是一个进程间通信ICP的概念,但进程也好,线程或协程也好,本质原理是一样的,就像Linux里进程与线程的结构体是同一种 阅读全文
posted @ 2022-06-29 02:05 joel-q 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 拉格朗日乘子法 对于含有等式约束的优化问题: \( \underset{x}{\operatorname{\mathop{\min}}} f(x)\ \ {\operatorname{s.t.}}\ h_i(x)=0, i = 1,2,...,m \),在等式 \( h_i(x) = 0 \) 非常 阅读全文
posted @ 2018-12-05 20:57 joel-q 阅读(471) 评论(0) 推荐(1) 编辑