接口中的金额,使用的是 string 类型。
但是需要判断一下金额是否为0,需要一些简单的特判。
错误姿势:equals
BigDecimal amt = new BigDecimal(actAmt);
if(BigDecimal.ZERO.equals(amt)) {
//.xxxx
}
接口中的金额,使用的是 string 类型。
但是需要判断一下金额是否为0,需要一些简单的特判。
BigDecimal amt = new BigDecimal(actAmt);
if(BigDecimal.ZERO.equals(amt)) {
//.xxxx
}
“我们不做任何承诺,但我们怀着希望,如往常一样,对无用知识的不懈追求将对未来产生影响。”……“建立使人类后代自由的后代的制度是充分合理的。
这个毕业生或对人类知识做出了有益的贡献。
一首诗,一首交响曲,一幅绘画,一个数学真理,一个新的科学事实,都具有大学,学院和研究所所需要或要求的所有理由”,亚伯拉罕·弗莱克斯纳,《无用知识的实用性》,1939年。
“我建议您选择最困难的课程,因为当您挑战自我时,您会学到最多的知识。CS 121,我发现很难。”,马克·扎克伯格,2005年。
这是关于理论计算机科学的本科入门课程的教科书。本书的教育目标是传达以下内容:
1.1 计算机系统简介
1.2 计算机的基本组成
1.3 计算机硬件的主要技术指标
2.1 计算机的发展史
2.2 计算机的应用
2.3 计算机的展望
3.1 总线的基本概念
3.2 总线的分类
3.3 总线的特性及性能指标
3.4 总线结构
3.5 总线控制
4.1 存储器概述
4.2 主存储器
4.3 高速缓冲存储器
4.4 辅助存储器
EX4 存储器思考与习题
计算机系统结构:主要研究软硬件功能的分配和对软硬件界面的确定。
计算机组成是计算机系统结构的逻辑实现。
计算机实现是对计算机组成的物理实现。
第三级: 虚拟机器M4(高级语言机器) 用编译程序翻译成汇编语言程序
第二级: 虚拟机器M3(汇编语言机器) 用汇编语言翻译成机器语言程序
操作系统: 虚拟机器M2 (操作系统机器) 用机器语言解释操作系统
第一级: 传统机器M1(传统机器M1) 用微程序解释机器命令
第零级: 微程序机器M0 (微指令系统) 由硬件直接执行微指令
计算机自1946年诞生以来一共经过了四次大的变革:
第一代:主要用电子管(真空管)作为逻辑原件,以汞延迟线,磁鼓做内存,以穿孔机为外存。这时我们使用的语言是机器语言,比如ENIAC语言。
第二代:主要用晶体管作为逻辑元件,以磁带为外存。这是我们使用面向过程的语言(FORTRAN),出现的操作系统的概念。
第三代:用集成电路作为逻辑单元,最大的区别是内存进入了半导体时代,高级语言发展,有了分时操作系统。
第四代:超大规模集成电路,产生新概念:
微处理器
并行
流水线
高速缓存
在这个系列文章的第一讲,漫谈计算机组成原理(一)之程序运行的过程 中说过,现代计算机是从冯若伊曼计算机发展起来的。其组成部分有存储器、运算器、控制器、输入设备、输出设备,在现代计算机中,人们将运算器与控制器封装起来成为CPU(中央处理单元)。计算机的各种部件想要进行数据交互,就必须让这些部件形成一定的连接关系,以便数据交互的进行。
连接的方式有两种,一种是各个部件之间使用不同的线相互连接,很明显,这种交互方式有很大的弊端,如连线复杂造成的控制复杂,还有就是当部件较多的情况下,简直就是个灾难。所以就催生了另外一种连接方式——总线连接,也就是我们这一讲要讲述的东西。
存储器是计算机中非常重要的组成部分,存储器是用来存储程序代码和数据的部件,有了存储器,计算机才具有记忆功能。
电脑CPU是没有记忆功能的,他需要数据的时候都是先从存储器中读出,再进行逻辑运算,处理。
处理完后再把数据存储到存储器中,下次再调用。
主存中存储单元地址的分配
主存各存储单元的空间位置是由单元地址号来表示的,而地址总线是用来指出存储单元地址号的,根据该地址可读出或写入一个存储字。
通常计算机系统的既可按字寻址,也可按字节寻址。
主存的主要技术指标是存储容量和存储速度。
指在主存能存放二进制代码的总位数,即
存储容量=存储单元个数××存储字长
由存取时间和存取周期来表示。
存取时间又称为存储器的访问时间,是指启动一次存储器操作到完成该操作所需的全部时间。存取时间分读出时间和写入时间两种。