递归
递归:指在当前方法内调用自己的这种现象
递归的分类:
递归分为两种 直接递归和间接递归
直接递归称为方法自身调用自己
间接递归可以A方法调用B,B调用C,C调用A
注意事项
递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出
在递归中虽然有限定条件,到那时递归次数不能太多,否则也会发生栈内存溢出
构造方法,禁止递归
栈中运行的都是方法
1.构造方法是一个方法,但它一个特殊的方法,它没有返回值,即使是void型的值也不能够返回。它的任务就是为了对象初始化内部的状态。
2.构造方法在创建对象时被系统调用(即自动调用,不需要程序员主动调用)。
3.构造函数当程序中包含有带参的构造函数时,系统将不会再提供无参构造函数
写入数据的原理(内存-->硬盘)
java程序---jvm(java虚拟机)---os(操作系统)---os调用写数据的方法---把数据写入到文件中
任意的文本编辑器(记事本等)
在打开文件的时候,都会查询编码表,把字节转换为字符表示
0-127:查询ASCII表
其他值:查询系统默认码表(中文系统)
flash和close方法的区别
flash:刷新缓冲区,流对象还可以继续使用
close:刷新缓冲区,然后通知系统释放资源,流对象不能继续使用
缓冲流:
缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。