摘要:
标准输入stdin与参数args的区别 rm命令仅支持参数,而不支持标准输入方式。 cat命令既支持参数(被当作一个文件路径名,e.g. cat $fileName),也支持标准输入(比如,用将一个文件重定向为标准输入,e.g. cat < $fileName)。 $()、$(())与${}三种表达 阅读全文
摘要:
对象的内存分配与构造(初始化):Java的对象不像是C++的引用,毕竟引用不空,而更像是指向堆上的结构体的指针。总是先申请了对象空间,然后才对这块内存进行构造的。Java对象总是在堆上的,而结构体(包括数组)在C++里还可能是在栈上的。Java对象的数据成员的初始化就是对其进行赋值,而C++的赋值与 阅读全文
摘要:
正则,就是用字符来描述字符。正则的规则在不同编程语言(C++/Java/Python/Go/Shell)中是通用。 【第一部分】正则表达式里用的字符(可以分为两类) 1 通用编程语言支持的字符 普通字符(包括空格)和 通用编程语言,比如C语言的转义字符(包括制表符、换行符、换页符等)。转义字符,需要 阅读全文
摘要:
并发机制:go的并发编程模型是基于消息(通道)的。比如,下述代码中的斐波那契数列,如果主线程(协程)来维护的话,就需要将a与b从局部变量升级为全局变量,但丢给子协程处理的话,主线程(协程)就不必为a和b操心了,这样的子协程即为一个generator,而主线程(协程)与generator子协程之间的通 阅读全文
摘要:
immutable与常量池:Java没有给字符串提供修改方法(所以Java称其String为immutable的;还有一种说法是,immutable是所有field都是final的对象)。因此,编译器可以将String指定为共享的,放在常量池中。即Java的底层字符数组byte[] value(用b 阅读全文
摘要:
并发编程模型概述 11. 对象与共享的内存:Java对象类似C++中在堆空间new出来的结构体的指针或引用,多线程在处理这样的一个变量时,就是在操作一块共享的内存。共享内存这个词本身是一个进程间通信ICP的概念,但进程也好,线程或协程也好,本质原理是一样的,就像Linux里进程与线程的结构体是同一种 阅读全文
摘要:
拉格朗日乘子法 对于含有等式约束的优化问题: \( \underset{x}{\operatorname{\mathop{\min}}} f(x)\ \ {\operatorname{s.t.}}\ h_i(x)=0, i = 1,2,...,m \),在等式 \( h_i(x) = 0 \) 非常 阅读全文
摘要:
间隔与支持向量 1. 样本集 \( D = \{ (x_1,y_1), (x_2,y_2), ..., (x_m,y_m) \} \),\( x \in R^d \),\( y \in \{-1, +1\} \) 线性可分。支持向量机在几何上的含义就是,由法向量 $ w $ 和偏移 $ b $ 唯一 阅读全文
摘要:
今天看一下什么是协方差,动因是看一篇论文,最后一个关键点是联合贝叶斯(Joint Bayesian),基于高斯分布、协方差这些知识点,深感概率这个小坑非填不可。 有很多不错的博客,很多前人已经修桥铺路了,非常感激有他们的工作。其中一篇的博主,同样是在学习一种机器学习方法中遇到了协方差这个坑,也就是主 阅读全文