我们有一个应用程序的公开测试版,偶尔会导致堆空间溢出.JVM通过永久度假来做出反应.
为了分析这一点,我想在失败的时候窥视记忆.Java不希望我这样做.该过程仍在内存中,但它似乎不被认为是一个java进程.
有问题的服务器是debian Lenny服务器,Java 6u14
/opt/jdk/bin# ./jmap -F -dump:format=b,file=/tmp/apidump.hprof 11175
Attaching to process ID 11175, please wait...
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypeEntryTypeNameOffset" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:390)
at sun.jvm.hotspot.HotSpotTypeDataBase.getLongValueFromProcess(HotSpotTypeDataBase.java:371)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:102)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:85)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:179)
at sun.tools.jmap.JMap.main(JMap.java:110)
Debugger attached successfully.
sun.jvm.hotspot.tools.HeapDumper requires a java VM process/core!
Run Code Online (Sandbox Code Playgroud) 我一直在阅读MVC,其中作者认为可测试性是MVC的主要优势之一.他们将它与ASP.NET WebForms进行比较,以及测试WebForms中的代码是多么困难.
我确实理解这很困难,但有人可以解释过去如何编写单元测试来测试逻辑背后的代码吗?
哎呀!上次我在我的存储库中合并两个分支时似乎做错了什么:
原始存储库http://img532.imageshack.us/img532/9039/screenshotrm.png
这远非我所期待的.有没有办法安排这个烂摊子并获得如下的东西?我做错了什么?
我在找什么http://img684.imageshack.us/img684/9977/screenshot2ah.png
之前已经问过问题,我看到ddd新闻组的错误报告,但没有一个建议的解决方案适合我.
它出现了,但当你尝试做一些事情,比如打开一个文件时,它会挂起"等待GDB准备好"的消息.
其他人报告的一个关键事实是,它对某些用户而不是其他用户都有效.我对环境进行了比较,但未发现任何显着差异.任何建议将非常感谢.
是否可以在文本和边框之间的Rich Text Box控件中添加填充?
我尝试将一个富文本框对接到一个面板内,其四边的填充设置为10,并完成了我想要的.除非需要填充富文本框的垂直滚动条,否则也会填充.
我已经创建了一个JSF应用程序,我想在一个页面中嵌入一个链接,当点击它时会导致支持bean编组一些xml并强制打开另存为下载对话框,以便用户可以选择一个位置保存文件.我已经编写了JAXB代码.
这是怎么做到的?
谢谢
我刚刚在ruby 1.9.1上运行了我的rails 2.3.8 app.要进入控制台,启动网络服务器,任何初始化rails的东西,在ruby 1.9中比在ruby 1.8.7中长3-4倍.我正在使用ruby版本管理器,因此我可以轻松地在ruby 1.9和ruby 1.8.7之间切换.速度差异发生在生产和开发中.我想使用1.9,因为一旦一切运行它必须更快,但启动时间非常糟糕,应用程序在第一次请求时在Heroku上超时.
任何想法为什么ruby 1.9会慢3-4倍?我无法理解我的生活.
如果我有两个简单的模型:
class Tag(models.Model):
name = models.CharField(max_length=100)
class Post(models.Model):
title = models.CharField(max_length=100)
tags = models.ManyToManyField(Tag, blank=True)
Run Code Online (Sandbox Code Playgroud)
给定一个带有多个标签的Post对象add,我知道要删除它们中的任何一个,但是如何进行批量删除(全部删除)?谢谢
在白天的工作中,我使用VB6(我知道,但不要模拟受影响的......)应用程序,它使用了我们编写的许多库(也是在着名的VB6中).其中一个支持库有大量私有成员通过公共属性公开,我被要求删除属性,并将私有成员变量提升到与原始属性同名的公共字段.
现在,我不是COM专家,但我的印象是,类中的每个暴露项都获得了它自己的GUID.因为我们将从每个值从2个Guids(Property Get和Property Let)变为仅使用一个(公共字段)的情况开始,我期望这会破坏二进制兼容性 - 但它似乎没有做到了.
有谁能解释为什么?
在C++中,拥有一个具有函数的类有什么好处......
说
class someClass{
public:
void someFunc(int arg1);
};
Run Code Online (Sandbox Code Playgroud)
然后在int main之后声明函数的实际功能
int main()
{ return 0; }
void someClass::someFunc(int arg1)
{ cout<<arg1; }
Run Code Online (Sandbox Code Playgroud)
此外,在.h头文件中声明类,然后将功能放在#include .h文件的.cpp文件中有什么好处?