小编Pra*_*ani的帖子

为什么我们不能在静态方法中使用'this'关键字

class Sub {
    static int y;
    public static void foo() {
         this.y = 10;
    }
}
Run Code Online (Sandbox Code Playgroud)

我理解,它this代表调用该方法的对象,并且静态方法不绑定到任何对象.但在上述情况下,变量y也是静态的.

如果我们可以在类对象上调用静态方法,为什么我们不能允许静态方法来设置类的静态变量.

这个附加约束的目的是什么?

java oop static this

33
推荐指数
3
解决办法
6万
查看次数

如何使用MockMvcResultMatchers.jsonPath

MvcResult result = this.mockMvc.perform(
                MockMvcRequestBuilders.get(mockUrl))
                .andExpect(MockMvcResultMatchers.status().isOk())
            .andExpect(MockMvcResultMatchers.content().contentType("application/    json;charset=UTF-8"))
                .andDo(MockMvcResultHandlers.print())
Run Code Online (Sandbox Code Playgroud)

给我以下内容:

MockHttpServletResponse:
           Status = 200
    Error message = null
          Headers = {Content-Type=[application/json;charset=UTF-8]}
     Content type = application/json;charset=UTF-8
             Body = {"version":"0.1"}
    Forwarded URL = null
   Redirected URL = null
          Cookies = []
Run Code Online (Sandbox Code Playgroud)

但是,测试它

MvcResult result = this.mockMvc.perform(
                MockMvcRequestBuilders.get(mockUrl))
                .andExpect(MockMvcResultMatchers.status().isOk())
            .andExpect(MockMvcResultMatchers.content().contentType("application/    json;charset=UTF-8"))
                .andExpect(jsonPath("$.version").value("0.1"))
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

java.lang.AssertionError: No value at JSON path "$.version", exception: net/minidev/json/writer/JsonReaderI

at org.springframework.test.util.JsonPathExpectationsHelper.evaluateJsonPath(JsonPathExpectationsHelper.java:245)
at org.springframework.test.util.JsonPathExpectationsHelper.assertValue(JsonPathExpectationsHelper.java:99)
at org.springframework.test.web.servlet.result.JsonPathResultMatchers$2.match(JsonPathResultMatchers.java:99)
at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:171)
at com.vmware.skyscraper.rts.runbooks.RunbookControllerTest.testGetSingleRunbook(RunbookControllerTest.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito jsonpath

14
推荐指数
2
解决办法
4万
查看次数

点击苹果通知时重定向到applescript编辑器

我在用

osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
Run Code Online (Sandbox Code Playgroud)

在Mac中显示通知.但是,在单击通知时,我将被重定向到applescript编辑器.我是否可以将用户重定向到URL或单击生成的通知时打开目录?

macos notifications applescript

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

如何对不返回任何内容的函数进行单元测试?

是否可以通过模拟找到函数中局部变量的值?

class A:
  def f(self):
    a = 5000 * 10
    B().someFunction(a)
Run Code Online (Sandbox Code Playgroud)

如何为此功能编写单元测试?我已经嘲笑了,someFunction因为我不希望测试范围超出块。我可以测试函数其余部分的唯一方法是检查函数末尾的变量 a 的值是否为 50000。我该怎么做呢?

python unit-testing mocking

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

获取ZipInputStream的大小

无论如何在我们完全读取流之前找到/估计ZipInputStream的大小?

例如,我们可以在读取userdata之前使用getNextEntry获取条目的元数据.

Inputstream有一个方法available()来返回可以从此输入流中读取的字节数的估计值,但我无法为ZipInputStream找到类似的方法.

java zip zipinputstream

6
推荐指数
1
解决办法
5630
查看次数

Yarn 与 NPM 内存消耗

当我使用yarn 与npm 运行微服务时,我发现内存使用情况存在显着差异。我认为,由于 Yarn 应该只是一个包管理器,因此它不应该(根据我的理解)影响内存使用,因为 NPM 和 Yarn 都会导致相同的“node some.js”命令。什么可能导致内存使用量的差异?他们将node_modules加载到内存中的方式不同吗?

docker 统计结果

以绿色突出显示的行是没有内存退化的行,它们都是从容器注册表中提取的微服务。显示内存消耗增加的微服务都是本地构建的。

memory node.js npm yarnpkg

6
推荐指数
0
解决办法
1091
查看次数

应用程序启动时显示NSPopover

我正在使用Pyobjc来创建NSStatusItem.单击它时,我显示的是NSPopOver.这工作正常.但是,我的要求是在应用程序启动时立即显示弹出框,而不会由用户执行任何操作.直接在finishLaunching中调用回调不起作用.有没有办法实现这个目标?即使可以模拟NSStatusView上的点击,它也会很好.

class TestApp(NSApplication):

    def finishLaunching(self):
        # Make statusbar item
        statusbar = NSStatusBar.systemStatusBar()
        self.statusitem = statusbar.statusItemWithLength_(NSVariableStatusItemLength)
        self.statusitem.setTarget_(self)
        self.statusitem.setAction_('statusItemClicked:')
        self.icon = NSImage.alloc().initByReferencingFile_('app-icon.png')
        self.icon.setScalesWhenResized_(True)
        self.icon.setSize_((20, 20))
        self.statusitem.setImage_(self.icon)
        self.statusitem.setHighlightMode_(1)

        # self.statusItemClicked_(None)

    def statusItemClicked_(self, notification):
        self.viewController = SimpleXibDemoController.alloc().initWithWindowNibName_("Login")

        # Show the window
        self.viewController.showWindow_(self.viewController)
        rect = self.statusitem.valueForKey_('button').frame()
        self.viewController.popover.showRelativeToRect_ofView_preferredEdge_(rect, self.statusitem.valueForKey_('button'), NSMaxYEdge)
Run Code Online (Sandbox Code Playgroud)

pyobjc objective-c nsstatusitem nspopover

5
推荐指数
1
解决办法
462
查看次数

为什么TCP拥塞控制的初始阶段称为慢启动?

为什么TCP拥塞控制中的初始阶段实际上是指数级的,而加性增加阶段却具有线性拥塞窗口的增长,为什么将其称为慢启动?

network-programming tcp

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

Perl正则表达式奇怪的行为

方法1:

$C_HOME = "$ENV{EO_HOME}\\common\\";
print $C_HOME;
Run Code Online (Sandbox Code Playgroud)

给出C:\ work\System11R1\common\

即环境变量正在扩展.

方法2:

解析具有C_HOME = $ ENV {EO_HOME}\common \的属性文件

while(<IN>) {
    if(m/(.*)\s+=\s+(.*)/)
    {
        $o{$1}=$2;
    }
}

$C_HOME = $o{"C_HOME"};
print $C_HOME;
Run Code Online (Sandbox Code Playgroud)

这给出了$ ENV {EO_HOME}\common \的输出

即环境变量没有扩展.

如何在第二种情况下确保环境变量得到扩展.

regex perl

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

如何将数字编码为字符串,以使生成的字符串的字典顺序与数字顺序的顺序相同

例如.如果我们有两个字符串2和10,如果我们按字典顺序排序,那么10将首先出现.

非常简单的解决方案将重复一个字符n次.

eg. 2 can be encoded as aa

10 as aaaaaaaaaa

This way the lex order is same as the numeric one.
Run Code Online (Sandbox Code Playgroud)

但是,有更优雅的方式来做到这一点吗?

algorithm lexicographic

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

为什么Datetime对象不能在c#中出现波动?

我可以想到一些使用案例,让DateTime对象成为原子非常有用.从语言设计的角度来看,有什么优势可以使DateTime不稳定?

c# datetime volatile

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