小编Jas*_*son的帖子

JvisualVM中采样器和分析器之间的区别是什么?

我发现JvisualVM中有两个插件,一个是采样器,另一个是探测器.

我还发现他们有类似的用户界面,但结果有很大差异,那么对他们来说有什么不同呢?

为什么他们有很大的不同?

java profiler visualvm jvisualvm

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

Redis 命令 HMSET 的字段数是否有任何限制?

Redis 命令 HMSET 字段的最大数量限制是多少?如果我通过 HMSET 将 100000 个字段设置为一个键,与使用每个字段作为键相比是否会导致性能问题?

redis

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

Properties.load会关闭InputStream吗?

我看到了这个例子,但我没有看到close()在 上调用的方法InputStream,所以会prop.load()自动关闭流吗?或者示例中存在错误?

java properties inputstream java-io

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

当executorService.shutdown(); 应该叫

我们有一个服务方法GetDataParallel(),它当前可能被许多客户端调用,我们使用ExecutorService调用其中的MyCallable.但是我发现除非我调用executorService.shutdown(); 应用程序永远不会退出,为什么应用程序无法退出,我们必须在应用程序退出之前手动关闭所有线程池线程?在服务环境中我认为我们不需要调用executorService.shutdown(); 保持应用程序活着,对吗?

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class MultiThreading {

    static ExecutorService executorService = Executors.newFixedThreadPool(100);
    private List<String> _BusinessUnits= new ArrayList<String>();
    public static void main(String[] args) throws Exception {

        MultiThreading  kl =new MultiThreading();
        kl.GetDataParallel();
        Thread.sleep(10000);
        System.out.println("111111111");
         //executorService.shutdown();

    }

    public   void GetDataParallel( ) throws Exception
    {
        _BusinessUnits.add("BU1");
        _BusinessUnits.add("BU2");
        _BusinessUnits.add("BU3");

        for(final String v : _BusinessUnits)
        {
            ExecutorServiceTest.executorService.submit( new MyCallable());
        }
    }
}

  class MyCallable implements Callable  {
    @Override
    public String call() throws Exception {
        Thread.sleep(1000);
        //return …
Run Code Online (Sandbox Code Playgroud)

java multithreading threadpool

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

看到很多clr!CLRSemaphore ::等待调用堆栈

我们看到很多像下面这样的callstack,我可以知道这种情况会发生什么情况吗?

OS Thread Id: 0x48654 (559)
Current frame: ntdll!NtWaitForSingleObject+0xa
Child-SP         RetAddr          Caller, Callee
00000020a76cf480 00007fffd4ea1118 KERNELBASE!WaitForSingleObjectEx+0x94, calling ntdll!NtWaitForSingleObject
00000020a76cf520 00007fffce50ce66 clr!CLRSemaphore::Wait+0x8a, calling kernel32!WaitForSingleObjectEx
00000020a76cf5e0 00007fffce50d247 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109, calling clr!CLRSemaphore::Wait
00000020a76cf620 00007fffce50d330 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9, calling clr!ThreadpoolMgr::UnfairSemaphore::Wait
00000020a76cf6c0 00007fffce5de8b6 clr!Thread::intermediateThreadProc+0x7d
00000020a76cfb40 00007fffce5de89f clr!Thread::intermediateThreadProc+0x66, calling clr!_chkstk
00000020a76cfb80 00007fffd60613d2 kernel32!BaseThreadInitThunk+0x22
00000020a76cfbb0 00007fffd7be5454 ntdll!RtlUserThreadStart+0x34
OS Thread Id: 0x3bd4c (560)
Current frame: ntdll!NtWaitForSingleObject+0xa
Child-SP         RetAddr          Caller, Callee
00000020a774e910 00007fffd4ea1118 KERNELBASE!WaitForSingleObjectEx+0x94, calling ntdll!NtWaitForSingleObject
00000020a774e9b0 00007fffce50ce66 clr!CLRSemaphore::Wait+0x8a, calling kernel32!WaitForSingleObjectEx
00000020a774ea70 00007fffce50d247 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109, calling clr!CLRSemaphore::Wait
00000020a774eab0 00007fffce50d330 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9, calling clr!ThreadpoolMgr::UnfairSemaphore::Wait
00000020a774eb50 …
Run Code Online (Sandbox Code Playgroud)

c# debugging multithreading windbg threadpool

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

clr abi文档中的"this"指针

"这个"指针

仅限AMD64:在.NET Framework 4.5中,托管的"this"指针被视为本机"this"指针(意味着当调用使用返回缓冲区并且在RDX而不是RCX中传递时它是第二个参数) .

我在clr abi文档中找到了上面的语句,基于我的理解,它取决于.NET Framework 4.5,当调用使用返回缓冲区并在RDX中传递时,"this"指针是第二个参数.

所以我有两个问题:

  1. 缓冲区的含义是什么?缓冲区引用流缓冲区,如httpwebresponse或其他什么?

  2. 如果我们使用静态类怎么样,我认为在那种情况下,没有"this"指针存在并且上面的语句指定给实例对象,对吧?

.net c# clr windbg coreclr

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

如何进行 hbase 范围扫描?

我有一个带有 rowkey 的 hbase 表,如 row1, row2, row3 .... 和 rowN ,我想要的是从 row100 到 row200 获取带有 rowkey 的行,如何编写查询子句或设计 hbase 表来进行查询快点?

hbase

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

如何使用windbg输出部分结果!da地址?

如果数组包含100000000个项目,那么输出所有项目就太长了,所以我想知道如果我只想用windbg输出数组中的十个项目,例如!da前10个地址,如何处理?

debugging windbg sos

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