`

StackOverflowError异常

 
阅读更多

最简单的:

public class TestStackOverflowError {
	
               TestStackOverflowError ts = new TestStackOverflowError();
	
                public static void main(String[] args) {
		TestStackOverflowError ts = new TestStackOverflowError();

	}

}

 无意识造成的(tij11):

public class InfinitRecursion {

	public String toString(){
		return "InfinitRecursion address:" +this +"\n";
		//return "InfinitRecursion address:" +super.toString() +"\n";
	}
	public static void main(String[] args) {
		InfinitRecursion ir = new InfinitRecursion();
		System.out.println(ir);

	}

}

自动忽略(java puzzle 49?)

public class Reluctant {

	private  Reluctant internalInstance = new Reluctant();
	
	public Reluctant(){
		
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Reluctant rel = new Reluctant();
	}

}

  

一道笔试题:

public class Device {
	private View v = new View();
	public void hehe(){
		v.notice();
	}

}
public class Moter extends Device {
	
	public int getState(){

	}
	public void haha(){
		hehe();
	}

}
public class View {
	private Moter m ;
	public void notice(){
		m.getState();
	}

}

 

 

分享到:
评论
1 楼 每个人都可爱 2009-04-09  
public class B extends A{
A a = new A();// 自然不会出现异常

相关推荐

    如何解决java.lang.StackOverflowError

    在Java编程中,`java.lang.StackOverflowError` 是一个常见的运行时异常,它通常发生在程序执行过程中,当Java虚拟机(JVM)的调用栈溢出时。调用栈是每个线程用来存储方法调用信息的数据结构,当递归调用过深或者...

    Java中内存异常StackOverflowError与OutOfMemoryError详解

    Java中内存异常StackOverflowError与OutOfMemoryError详解 Java中内存异常StackOverflowError与OutOfMemoryError是两种常见的错误类型,它们都是 Java 虚拟机(JVM)在运行时可能遇到的问题。本文将详细介绍这两种...

    37-JVM优化1

    本文主要围绕HotSpot JVM的优化展开,旨在防止出现内存溢出错误和StackOverflowError异常,以及减少频繁的垃圾回收对程序响应的影响。 首先,我们要理解JVM内存结构中的几个关键区域:虚拟机栈、本地方法栈、永久代...

    无私奉献-jvm面试备战

    java.lang.StackOverflowError 异常的原因是 java 虚拟机栈内存溢出。解决方法是设置线程最大调用深度。参数是 -Xss。 10. java.lang.OutOfMemoryError 异常: java.lang.OutOfMemoryError 异常的原因是 java 堆...

    JAVA的内存结构Java系列2021.pdf

    如果栈的大小固定,当方法调用过深时,可能会抛出StackOverflowError异常;如果栈大小可动态扩展,在扩展内存时无法申请到足够的空间,则会抛出OutOfMemoryError异常。 与虚拟机栈类似,本地方法栈服务于执行native...

    详解Java常用排序算法-归并排序

    递归实现的优点是代码简洁易懂,但缺点是递归调用会占用系统资源,可能引发StackOverflowError异常。迭代实现的优点是可以避免递归调用,但缺点是代码较为复杂。 在上面的代码中,`mergeSort`函数接受一个整数数组...

    JVM内存模型及方法区

    在Java虚拟机规范中,对这个区域规定了两种异常状况:如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常;如果虚拟机栈可以动态扩展(当前大部分的Java虚拟机都可动态扩展,只不过Java...

    解决spring mvc JSON 无限死循环

    然而,在某些情况下,由于对象之间的循环引用,可能会导致JSON序列化过程中出现无限递归的问题,进而引发StackOverflowError异常。本文将详细探讨这一问题,并提供几种有效的解决方案。 #### 问题描述 当我们在...

    Java编程常见内存溢出异常与代码示例

    在上面的代码中,我们创建了一个无限递归的递归调用,当递归深度过大时,就会耗尽栈空间,进而导致StackOverflowError异常。 解决方法 要解决栈溢出异常,可以从以下几个方面着手: 1. 优化递归算法,减少递归...

    详解Java内存溢出的几种情况

    栈内存溢出是指 Java 线程中虚拟机栈(VM Stack)或本地方法栈(Native Method Stack)的内存使用超出了栈的最大容量,导致 JVM 抛出 StackOverflowError 异常。当线程执行某个方法时,JVM 会创建栈帧并压栈,如果该...

    Java内存区域与内存溢出异常详解

    和虚拟机栈相似,本地方法栈也会抛出StackOverflowError 异常,并且这个区域也可能会抛出 OutOfMemoryError 异常。 4. 堆(Heap):是虚拟机中最大的一块内存区域,用于存储对象实例。堆是所有线程共享的区域,可能...

    jvm-starter:JVM虚拟机学习之旅

    在单个线程下,无论是由于帧栈太大还是虚拟机容量太小,当内存无法分配的时候,虚拟机抛出的都是StackOverflowError异常引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值+1;...

    java8rt.jar源码-JVM:学习JVM

    StackOverflowError异常 2.虚拟机栈可以动态扩展,如果扩展是无法申请到足够的内存,就会抛出OutOfMemoryError异常。 3.堆内存:线程共享,在虚拟机启动时创建。几乎所有的对象实例和数组都要在堆上分配。 内存回收...

    解决FastJson中"$ref重复引用"的问题方法

    这样做虽然可以解决引用问题,但不推荐使用,因为当存在真正的循环引用时,会引发StackOverflowError异常。 2. 避免循环引用。在序列化和反序列化时,可以通过添加@JSONField注解,并设置其serialize属性为false,...

    android异常类型和处理

    错误是系统层面的问题,比如栈溢出错误(StackOverflowError)或内存耗尽,通常不建议程序员直接处理。 Java的异常处理机制主要包括try、catch、finally和throw关键字。try块用于包含可能抛出异常的代码,catch块...

    java内存机制及异常处理

    常见的内存错误包括`java.lang.OutOfMemoryError: Heap space`(堆空间不足)、`java.lang.OutOfMemoryError: PermGen space`(方法区空间不足)和`java.lang.StackOverflowError`(栈溢出)。这些错误通常由于物理...

    Java常见异常大全.pdf

    文档中还提到了很多其他的异常类型,例如AbstractMethodError、AssertionError、ClassCircularityError、ClassFormatError、Error、ExceptionInInitializerError、IllegalAccessError、IncompatibleClassChangeError...

    Java虚拟机运行时数据区域汇总

    如果请求的栈深度超出虚拟机所允许的深度,则抛出StackOverflowError异常;如果虚拟机栈可以动态扩展(大部分现代虚拟机都支持),并且无法申请到足够的内存,则抛出OutOfMemoryError异常。 本地方法栈与Java虚拟机...

    Java\课件\JAVA的异常处理机制.ppt

    - **Error**:表示系统级错误或虚拟机错误,如`OutOfMemoryError`、`StackOverflowError`等,一般不应在应用程序中捕获或处理。 6. **异常类的子类**: - `RuntimeException`子类包括`ArithmeticException`(算术...

Global site tag (gtag.js) - Google Analytics