我正在跟踪应用程序中的内存泄漏问题(ruby 2.1).我正在使用这两种技术:ObjectSpace.dump_all将所有对象转储到JSON流然后进行离线分析.我使用的第二种技术是实时分析ObjectSpace.reachable_objects_from.在这两种方式中,我发现我泄漏的对象是由对象引用的RubyVM::Env.有人可以向我解释一下是什么RubyVM::Env.如何删除这些引用?
这个类来自供应商库:
public class JsonParser {
public <T> T parse(String json, Class<T> type) { ... }
}
Run Code Online (Sandbox Code Playgroud)
这些是我的模型:
public class Video {
@Key
private String title;
public String getTitle() {
return title;
}
}
public class Response<TResult> {
@Key
private TResult result;
public TResult getResult() {
return result;
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
此代码有效:
JsonParser parser = new JsonParser();
String json = "{ \"title\": \"Hello world\" }";
Video video = parser.parse(json, Video.class);
Run Code Online (Sandbox Code Playgroud)
此代码不起作用:(语法错误Response<Video>.class)
JsonParser parser = new JsonParser();
String json …Run Code Online (Sandbox Code Playgroud)