小编sea*_*ges的帖子

"压缩烫发"值代表什么?

我正在调查我们的一个生产系统上的JVM崩溃,下面的hs_err_pid日志文件片段中的以下内存值代表什么?

Heap
 par new generation   total 1258624K, used 955445K [0x00000005c0000000, 0x00000006155b0000, 0x000000066aaa0000)
  eden space 1118784K,  73% used [0x00000005c0000000, 0x00000005f1e52598, 0x0000000604490000)
  from space 139840K,  98% used [0x000000060cd20000, 0x00000006153db100, 0x00000006155b0000)
  to   space 139840K,   0% used [0x0000000604490000, 0x0000000604490000, 0x000000060cd20000)
 tenured generation   total 2796224K, used 1745107K [0x000000066aaa0000, 0x0000000715550000, 0x00000007c0000000)
   the space 2796224K,  62% used [0x000000066aaa0000, 0x00000006d52d4d90, 0x00000006c2e0c400, 0x0000000715550000)
 compacting perm gen  total 482944K, used 482943K [0x00000007c0000000, 0x00000007dd7a0000, 0x0000000800000000)
   the space 482944K,  99% used [0x00000007c0000000, 0x00000007dd79fff0, 0x00000007dd7a0000, 0x00000007dd7a0000)
No shared spaces configured.
Run Code Online (Sandbox Code Playgroud)

我关注的是"压缩的perm gen"用法:它是指最大分配的perm gen堆使用的百分比,还是最大堆使用的百分比,还是其他什么?提供的百分比似乎是使用/总计的一个除法,这是分配的perm …

java jvm crash-reports crash-dumps jvm-crash

4
推荐指数
1
解决办法
2703
查看次数

HttpSessionListener未检测到会话超时

我有一个javax.servlet.http.HttpSessionListener的实现,它应该检测Struts项目中的用户会话失效/超时.

sessionDestroyed()似乎永远不会被调用,我可以通过删除我的JSESSIONID并刷新页面来重现这一点.我还发现让浏览器保持打开状态直到会话超时具有相同的效果.

该站点使用Java 1.5在JBoss 4.2.3.GA中运行.

我开始怀疑HttpSessionListener不能达到我的预期,我错过了什么?

编辑:

我的监听器在我的web.xml中注册如下:

<listener>
    <listener-class>com.domain.web.listener.LogoutListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

java session-timeout java-ee

3
推荐指数
1
解决办法
8944
查看次数

断言错误在 Python 中的简单模拟上“未调用”

我第一次尝试使用 Python 模拟模块(使用 pip 下载)。我在设置断言时遇到问题,我已将其范围缩小到以下代码:

class TestUsingMock(unittest.TestCase):

    def setUp(self):
        self.fake_client = mock.Mock()

    def test_mock(self):
        self.fake_client.copy = mock.Mock()
        self.fake_client.copy("123")
        self.fake_client.assert_called_with("123")

if __name__ == "__main__":
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

F
======================================================================
FAIL: test_mock (__main__.TestVCSDriver)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "./mock_test.py", line 17, in test_mock
    self.fake_client.assert_called_with("123")
  File "/Library/Python/2.6/site-packages/mock.py", line 859, in assert_called_with
    raise AssertionError('Expected call: %s\nNot called' % (expected,))
AssertionError: Expected call: mock('123')
Not called
Run Code Online (Sandbox Code Playgroud)

没有断言,一切正常。我究竟做错了什么?

python mocking

3
推荐指数
1
解决办法
6978
查看次数

Friend运算符重载会导致"已定义的"链接器错误

我偶然发现了一个我可以解决的问题,但我不确定它为什么不起作用.

这是我试图使用的代码.为了简洁起见,已经剥离了字段.让我知道他们是否需要,我会把它们放回去:

#pragma once
#ifndef __PageStyle__
#define __PageStyle__
class PageStyle
{
public:
    friend bool operator<(const PageStyle& lhs, const PageStyle& rhs);
};

bool operator<(const PageStyle& lhs, const PageStyle& rhs)
{
    return (lhs.name < rhs.name);
}
#endif
Run Code Online (Sandbox Code Playgroud)

在我的源文件中,我做了类似这样的事情:

#include "PageStyle.h"

...
void PageStyleManager::loadPageStyles() {
    std::set<PageStyle> pageStyles;
    ...
}
Run Code Online (Sandbox Code Playgroud)

编译好的代码,但链接器吐了出来:

1>PageStyleManager.obj : error LNK2005: "bool __cdecl operator<(class PageStyle const &,class PageStyle const &)" (??M@YA_NABVPageStyle@@0@Z) already defined in BaseContentFiller.obj
Run Code Online (Sandbox Code Playgroud)

BaseContentFiller是PageStyleManager的基类,也是以类似方式使用PageStyle的其他类.

经过深入研究后,我发现为了我的目的(使用STL集中的类)我毕竟不需要非成员朋友版本.我让操作员成为一个内联的公共成员,并且代码链接没有问题.

为什么会出现这个问题?我确保我使用过标题保护,这是我第一次遇到运算符重载的真实体验,我想知道我做错了什么.

c++ linker operator-overloading

2
推荐指数
2
解决办法
3384
查看次数