杂记#
1. 在 java 面向对象设计中,什么时候使用抽象类?什么时候使用接口?#
一般将 名词 设计为抽象类
例如:动物、汽车、水果
将 动词、功能 设计为接口
例如:DAO 、service、controller
2. 内存溢出和内存泄漏指的是什么?#
内存溢出 是指 内存无法承载写入的数据。 假设内存只有 100M,现在需要将 200M 的东西写入到内存,这时候就会发生内存溢出的问题。
内存泄露 是指 内存中存在未释放的内存,导致未释放的内存长期占用内存。 假设有 100M 的内存,往里面写 80M 的内容,明明内存够却发生报错,就可能发生了内存泄露。
可能得原因有 1. 未释放上次使用的内存(可人为析构,就可避免这个问题) 2. 内存碎片 (内存碎片问题无法解决,只能尽可能小,使用内存管理器)
--------------------------------------未完待续-----------------------------------