开坑,TODO
虚拟化是云计算的核心技术,但不是其专用技术
本质:虚拟化的本质就是通过添加一个虚拟化层将原先的物理设备进行逻辑化,转换成一个文件夹或文件,实现软硬件的解耦。核心思想是利用软件或固件管理程序构成虚拟化层,把无力资源映射为虚拟资源。在虚拟资源上可以安装和部署多个虚拟机,实现多用户共享物理资源。
软件演化:
- 软件产品在开发和维护过程中,因移除软件内在缺陷、添加新的功能、重构已有代码或提高运行性能等,需要执行代码修改并触发软件演化。
- 随着以统一过程和敏捷方法为代表的增量、迭代式开发过程的流行,软件演化频率也随之迅速提高。
String
、StringBuffer
、StringBuilder
的区别String
是不可变的(详细原因后面分析)StringBuilder
与 StringBuffer
都继承自 AbstractStringBuilder
类,在该类中也是使用 char
数组来保存字符串(JDK9 之后改为了使用 byte
数组,后面会介绍),对于这个数组,在 AbstractStringBuilder
中没有使用 private
和 final
的关键字修饰(在 String
类当中有 private
和 final
修复,不过这其实并不是导致 String
不可变的原因),同时 AbstractStringBuilder
提供了很多修改字符串的方法,比如 append()
、insert()
、delete()
、replace()
等。equals()
的性质a.euals(a)
总是返回 true
a.equals(b)
返回 true
,那么 b.equals(a)
一定也会返回 true
a.equals(b)
和 b.equals(c)
都返回 true
,那么 a.equals(c)
一定也会返回 true
a.equals(b)
返回的都是 true
或者返回的都是 false
(即多次调用都只会返回相同的结果,前提是没有修改过 a 或 b)