1. 首页
  2. 编程语言
  3. Java
  4. 两个小例子轻松搞懂 java 中递归与尾递归的优化操作

两个小例子轻松搞懂 java 中递归与尾递归的优化操作

上传者: 2022-04-06 22:28:09上传 PDF文件 217.31 KB 热度 18次

尾递归实际上是对递归的优化。每个线程拥有一个栈。在frame 中,保存有该方法调用的参数、局部变量和返回地址。因此,在栈中,只保存有基本类型的变量和对象引用。线程回到原方法,继续执行。当所有的栈都清空时,程序也随之运行结束。Java的普通对象存活在堆中。这块内存被占有了却没被使用,这种场景被称之为内存泄露。即被分配的对象可达但已无用。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java对象的情况。从定义上可以看出内存泄露是内存溢出的一种诱因,不是唯一因素。当有新的指向该对象的引用时,计数器加 1。

下载地址
用户评论