程序运行到某处直接卡死

ningyougang 2014-07-11 04:28:46
本机环境
电脑:联想笔记本
操作系统:winxp 32位。
开发工具:eclipse、jetty。
问题描述:在web启动的情况下,当程序运行到如下标红色的地方,直接卡死
public <T> T toObject(String json, Class<T> clazz) {
try {
//在该处调试断点,直接卡死。不抛出异常,也后往后执行
return JSON.parseObject(json, clazz);

} catch (Exception e) {
logger.error("render json to object error!", e);
throw new RuntimeException("render json to object error!", e);
}
}
但是我写了main函数,在main下运行 JSON.parseObject(json, clazz),却没有问题,说明这个jar应该是好的,不知道哪位大神遇到过这个问题。或帮我分析下问题可能出在什么地方。
...全文
359 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningyougang 2014-07-16
  • 打赏
  • 举报
回复
问题已解决,将操作系统从winxp调整为64位的win7就可以了!
ningyougang 2014-07-15
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
[quote=引用 5 楼 ningyougang 的回复:] [quote=引用 4 楼 wlwlwlwl015 的回复:] 这样再试试:return (T)JSON.parseObject(json, clazz); 建议你打印一下参数,把代码都拆分开多打几个断点,一步一步跟,记得run debug server...
按照你的方法,有进展,我加了(T)返回泛型之后,我的程序通过了,调到了alibaba的源码方法,由于他的源码方法没有加返回的泛型,所以在他的源码程序里就卡死了。[/quote] 问题解决了么?如果是你说的那样,就考虑换一种封装方式,或者换一个jar~人家的源码没加泛型你肯定就不能这样返回了~[/quote] 我把源码拿下来调试,并将源代码进行修改,即使加上泛型后,当执行到下面还是直接卡死了 public static final <T> T parseObject(String text, Class<T> clazz, Feature... features) { return (T) parseObject(text, (Type) clazz, ParserConfig.getGlobalInstance(), DEFAULT_PARSER_FEATURE, features); } 但是同样的代码在别人机器上执行却没有问题。 目前可能我本机的环境根别人不一样,我的是winxp 32位。别人是win7 64位。 打算换系统,试试!
xlight2023 2014-07-14
  • 打赏
  • 举报
回复
使用astjson,还是先了解清楚了再用。这个比较是个开源,还没达到非常成熟的地步,可能会有各种bug或问题。
ningyougang 2014-07-14
  • 打赏
  • 举报
回复
引用 6 楼 wlwlwlwl015 的回复:
[quote=引用 5 楼 ningyougang 的回复:] [quote=引用 4 楼 wlwlwlwl015 的回复:] 这样再试试:return (T)JSON.parseObject(json, clazz); 建议你打印一下参数,把代码都拆分开多打几个断点,一步一步跟,记得run debug server...
按照你的方法,有进展,我加了(T)返回泛型之后,我的程序通过了,调到了alibaba的源码方法,由于他的源码方法没有加返回的泛型,所以在他的源码程序里就卡死了。[/quote] 问题解决了么?如果是你说的那样,就考虑换一种封装方式,或者换一个jar~人家的源码没加泛型你肯定就不能这样返回了~[/quote] 还没有解决,因为这是别人的项目,我刚过来接手这个项目,对这个项目还不是很熟悉。
ningyougang 2014-07-14
  • 打赏
  • 举报
回复
引用 8 楼 abc_key 的回复:
使用astjson,还是先了解清楚了再用。这个比较是个开源,还没达到非常成熟的地步,可能会有各种bug或问题。
我一般用jackjson用得多,这个性能都没有什么问题。fastjson我也没有用过。其他的项目
zy_think123 2014-07-14
  • 打赏
  • 举报
回复
自己加一个泛型返回
小灯光环 2014-07-11
  • 打赏
  • 举报
回复
引用 5 楼 ningyougang 的回复:
[quote=引用 4 楼 wlwlwlwl015 的回复:] 这样再试试:return (T)JSON.parseObject(json, clazz); 建议你打印一下参数,把代码都拆分开多打几个断点,一步一步跟,记得run debug server...
按照你的方法,有进展,我加了(T)返回泛型之后,我的程序通过了,调到了alibaba的源码方法,由于他的源码方法没有加返回的泛型,所以在他的源码程序里就卡死了。[/quote] 问题解决了么?如果是你说的那样,就考虑换一种封装方式,或者换一个jar~人家的源码没加泛型你肯定就不能这样返回了~
ningyougang 2014-07-11
  • 打赏
  • 举报
回复
引用 4 楼 wlwlwlwl015 的回复:
这样再试试:return (T)JSON.parseObject(json, clazz); 建议你打印一下参数,把代码都拆分开多打几个断点,一步一步跟,记得run debug server...
按照你的方法,有进展,我加了(T)返回泛型之后,我的程序通过了,调到了alibaba的源码方法,由于他的源码方法没有加返回的泛型,所以在他的源码程序里就卡死了。
小灯光环 2014-07-11
  • 打赏
  • 举报
回复
这样再试试:return (T)JSON.parseObject(json, clazz); 建议你打印一下参数,把代码都拆分开多打几个断点,一步一步跟,记得run debug server...
ningyougang 2014-07-11
  • 打赏
  • 举报
回复
引用 1 楼 yangjinjvs 的回复:
不卡死才怪。。。
兄弟,有何高见?
ningyougang 2014-07-11
  • 打赏
  • 举报
回复
在多给点提示信息: 我查了下classpath下,这个alibaba提供的astjson-1.1.36.jar是有的。 另外当程序运行到return JSON.parseObject(json, clazz)时,我右键点击json这个形参,选择inspect来查看变量的值,eclilpse弹出报错提示:Cannot perform nested evaluations
yangjinjvs 2014-07-11
  • 打赏
  • 举报
回复
不卡死才怪。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧