Java开发中遇到的一些异常信息及解决办法

工作中经常遇到一些java异常,这里记录一下自己遇到过的一些异常。

1.使用hibernate的时候遇到的一种异常:

unexpected token

原因:hql的语法不对。(本人使用的时候调用错了封装到BaseDao的底层方法)

解决办法:检查自己hql语句的语法。

2.OutOfMemoryError中的一种异常:

 

 PermGen space

原因:JVM中永久区域内存不足

解决办法:自己设置堆的内存或者重启服务器

                    Java开发中遇到的一些异常信息及解决办法_第1张图片

  windows修改catalina.bat/linux修改catalina.sh文件中第一行,Xms:堆内存初始空间,Xmx:堆内存最大空间

 

StackOverflowError

异常原因:栈的深度超过虚拟机分配给线程的栈的大小。

解决办法:这种情况一般是由于代码的逻辑中出现了死循环,debug找到这个死循环就好了。

3.Mybatis中排序传值的问题

There is no getter for property named 'param' in 'class java.lang.String'

 原因:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取 string.xxx 值,如果没在在方法中定义,则会抛异常报错。

解决办法:映射文件中改为${},因为使用#{}会把拿到的参数值转为字符串,例如:ORDER BY ${param}

在dao层中传入的形参前加上@Param(value="param")

 

 

你可能感兴趣的:(Java开发中遇到的一些异常信息及解决办法)