Java 基础(十) 接口( Interface )以狐狸和兔子为例子
1. 接口
接口是纯抽象类
所有的成员函数都是抽象函数
所有的成员变量都是public static final
final 变量意味着这个变量不可以改变值, final 类不可以被继承, final 的方法不可以被 override.
接口规定了长什么样, 但是不管里面有什么
12345//一个接口的例子public interface Cell { void draw(int x, int y, int size);}
2. 实现一个接口
继承用 extends, 接口用 implements
类可以实现多个接口( 实现类似多继承的效果 )
接口可以继承接口, 但不能继承类
接口不能实现接口
可以通过instanceof判断赋给接口变量的对象是不是某个类的
123456//一个实现接口的例子, Fox 继承了 Animal 类的同时实现了 Cell 的接口public Fox extends Animal implements Cell { void draw(int x, int y, int size) { ...
Java 基础(十一) 异常
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
机器指令特征CPU 的操作由它所执行的指令确定, 这些指令被称为机器指令. CPU 能执行的各种不同指令的集合称为 CPU 的指令集
指令周期指令周期: 指单条指令所需的处理过程
取指令: 每次从内存中取一条指令
执行指令: 执行每条指令
只有关机时, 程序执行才会停止, 或者遇到致命错误或者停止计算机的指令.
指令周期状态图:
带有中断的指令周期带有中断的指令周期:
带有中断的指令周期状态图:
机器指令要素
操作码:指定要执行的操作
源操作数引用:操作会涉及一个或多个源操作数, 这是操作所需的输入
结果操作数引用:该操作可能产生一个结果
下一指令引用:它告诉处理器这条指令执行完成后到哪儿去取下一条指令
指令表示
每条指令都由一个位序列表示
指令格式:指令被划分为字段,对应于指令的要素
对于大多数指令集,使用一种以上的格式
符号表示:帮助程序员和教科书的读者处理指令
操作码用 ...
计算机组织结构(十三) 指令集:寻址方式和指令格式
📚 文档目录合集-数的二进制表示-定点运算BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
表示:
A: 指令中地址字段的内容
R: 指向寄存器的指令字段的内容
EA: 被访问未知的实际(有效)地址
(X): 存储器位置 X 或者寄存器 X 的内容
立即寻址 (Immediate Addressing)操作数存在于指令中:
操作数 = A
应用: 定义和使用常数, 或者设置变量的初始值.
优点: 获取操作书不需要访问存储器, 只获取指令
缺点: 数字的大小被限制为地址字段的大小
.jpg)
直接寻址 (Direct Addressing)地址字段包含着操作数的有效地址, 早期计算机常见
EA = A
优点: 只有一次存储器访问, 不需要进行专门计算
缺点: 只能提供有限的地址空间
间接寻址(Indirect Addressing)指令中地址字段只是一个存储器字地址, 而这个地址保存着操作数的全长度地址
EA = (A)
优点: 扩大了寻址空间
缺点: 需要访问 ...
数据科学基础(六) 参数估计
📚 文档目录随机事件及其概率随机变量及其分布期望和方差大数定律与中心极限定理数理统计的基本概念参数估计假设检验多维回归分析和方差分析降维
6.1. 参数的点估计
总体分布 X 的分布形式已知,未知的只是分布中的参数,要估计的只是参数或者参数的某一函数.
6.1.1. 矩估计法
公式
\displaystyle \frac{1}{n}\sum_{i=1}^{n}x_i^k=A_k=\mu_k=E(x^k)
样本矩 \qquad\qquad\quad\quad 总体矩
注意: 样本阶中的计算都是 $n$ 而不会用到样本方差 $S^2$
6.1.2. 极大似然估计
估计参数值,使得出现该样本的可能性最大.
XX
X1X_1
X2X_2
X3X_3
…\ldots
XnX_n
PP(离散型)
P1P_1
P2P_2
P3P_3
…\ldots
PnP_n
PP(连续型)
f(X1)f(X_1)
f(X2)f(X_2)
f(X3)f(X_3)
…\ldots
f(Xn)f(X_n)
则 似然函数:
\begin{aligned}\\ &L(\theta) ...
计算机组织结构(二) 定点运算
📚 文档目录合集-数的二进制表示-定点运算-BCD 码-浮点数四则运算-内置存储器-Cache-外存-纠错-RAID-内存管理-总线-指令集: 特征- 指令集:寻址方式和指令格式
1. 移位运算1.算数移位
符号位不变, 左移相当于乘以 2, 右移相当于除以 2(左侧全补符号位).
2. 逻辑移位
无符号数的移位, 右移时永远在高位填 0.
2. 加法运算1. 全加器
$𝑆_𝑖=𝑋_𝑖⊕𝑌_𝑖⊕𝐶_{𝑖−1}$
$𝐶_𝑖=𝑋_𝑖𝐶_{𝑖−1}+𝑌_𝑖𝐶_{𝑖−1}+𝑋_𝑖𝑌_𝑖$
2. Serial Carry Adder
缺点: 速度慢.
延时(OR AND 1ty, XOR 3ty)
Cn: 2n ty
Sn: 2n+1 ty
3. Carry Look Ahead Adder注意:这里的+均为“或”
\begin{aligned}
𝐶_𝑖&=𝑋_𝑖𝐶_{𝑖−1}+𝑌_𝑖𝐶_{𝑖−1}+𝑋_𝑖𝑌_i\\
\\
C_1&=𝑋_1𝑌_1+(𝑋_1+𝑌_1)𝐶_0\\
𝐶_2&=𝑋_ ...
C++ 多态的实现机制
若无特殊说明, 以下所有操作均在 32 位环境下进行
本篇举例子用的类:
123456789101112131415161718192021222324252627class Animal{public: Animal() {}; virtual void eat() { cout << "Animal::eat()" << endl; }; virtual void bark() { cout << "bark()" << endl; }; virtual ~Animal() {}; void growUp() { age += 1; }protected: int age = 10;};class Dog : public Animal{public: Dog() { age = 20; } vo ...