年轻人此时不破何时破

1 篇文章 0 订阅

年轻人此时不破何时破

java调试相比于c++简单的多了,几个技巧,打印当前java进程里面启动了几个线程

代码

    ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();
    ThreadInfo[] allThreads = mxBean.dumpAllThreads(false, false);
    for (ThreadInfo threadInfo : allThreads) {
        System.out.println(threadInfo.getThreadId()+"==="+threadInfo.getThreadName());

    }

dubbo的例子:

31===DubboSaveRegistryCache-thread-1
30===Curator-Framework-0
29===main-EventThread
28===main-SendThread(localhost:2181)
27===Curator-ConnectionStateManager-0
25===NettyServerBoss-4-1
23===qos-boss-1-1
22===ObjectCleanerThread
21===ZookeeperDynamicConfiguration-thread-1
20===Curator-TreeCache-0
19===Curator-Framework-0
18===main-EventThread
17===main-SendThread(localhost:2181)
16===Curator-ConnectionStateManager-0
8===JDWP Command Reader
7===JDWP Event Helper Thread
6===JDWP Transport Listener: dt_socket
5===Attach Listener
4===Signal Dispatcher
3===Finalizer
2===Reference Handler
1===main

可以通过这些启动的线程,大致猜测该项目的架构形态,当然只是一个很模糊的形态,具体的还得输入代码

比如:25===NettyServerBoss-4-1

我们大约猜到dubbo的底层的网络模型是netty,看源码果然如此。

看过zk源码的同学的应该知道zk的网络模型也有netty的实现
当然还有很多再比如现在比较流行的谷歌的grpc调用,其实其java中Android中client,有两种实现
一种是okhttp-client,另一种就是netty版本,基本是为了更好的实现http2.0一些协议。

不管怎么说,可见netty在java网络编程中的重要程度,java消息中间件不会netty,那你还算个啥。

所以学netty吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值