• 由于线程停在某个无法进行垃圾回收的点(可能是因为已对代码进行了优化),因此无法计算表达式的值


    由于线程停在某个无法进行垃圾回收的点(可能是因为已对代码进行了优化),因此无法计算表达式的值.

    先说下我出现这个异常情况的条件:我是在做WEB服务接入时,发生的,为了调用接口的方法,我先封装了一次,封装方法有2个参数,都是类类型。其它的这种方法都可以,只有这一个接口不通过。例如这个封装的方法叫M1,那它是这样的M1(class1 c1,class2 c2),其中在调用它时,c1,c2都是正常的,属性和字段都有值。但跟踪到这个方法时,通过看c1,c2的值会发现c1,c2中的属性就会有:由于线程停在某个无法进行垃圾回收的点(可能是因为已对代码进行了优化),因此无法计算表达式的值

    但字段是好的。当时我想难道是类型属性的问题,又一行一行的检查了一下,发现没有问题啊。于是把两个类中的成员全注释。发现还是有这个问题。

    在网上搜索了一些内容,没有任何帮助,都是按情况解决的。不具有通用性。

    通过这个例子,看到构造器时,灵光一闪,终于发现了问题所在。原来是构造器的参数过多造成的。这个接口有150多个属性,所以我构造了一个150个参数的构造器。

    改过之后,就好了。

    所以,出现这个问题,所得经验如下:

    1 与计算机系统无关,

    2 与vs2008环境无关

    3 与vs2008配置项无关

    4 检查代码吧,是代码的问题。

  • 相关阅读:
    从属性文件中读取配置
    Page Object Manager
    在Selenium中使用JavaScriptExecutor处理Ajax调用?
    wait
    常用操作
    Selenium收藏官方网址
    PageObject样例
    解决办法-错误:Access denied for user 'root'@'localhost'
    Struts2中的OGNL详解
    用C++,调用浏览器打开一个网页
  • 原文地址:https://www.cnblogs.com/jams742003/p/3656489.html
Copyright © 2020-2023  润新知