240 发简信
IP属地:江西
  • synchronized相比reentrantLock性能不好原因分析:
    synchronized为重量级锁时:
    猜测1 syn锁的获取和释放需要操作系统的互斥量(mutex)实现,均需要用户态和内核态的切换;lock是CAS获取和释放的锁,无需切换
    猜测2 syn和lock底层都有等待的线程集合,都是阻塞。syn的阻塞是系统来处理的,需用户态和内核态的准换;lock的阻塞是执行jdk中的代码来阻塞的,应该是一直是在用户态的

    赞同上面说法吗

  • 一般事务中不建议使用rpc调用吧

    FESCAR:阿里重磅开源分布式事务解决方案

    FESCAR:阿里重磅开源分布式事务解决方案 FESCAR名字的由来:Fast & EaSy Commit And Rollback FESCAR是啥? 被用在微服务架构中的...

  • Reentrantlock和synchronized的区别

    Reentrantlock和synchronized是每个java开发的必修课,关于它们的资料十分丰富。但我经过搜索始终没有找到对两者进行系统对比的文章,这篇博客就因此应运而...

  • 120
    java interview

    本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向。在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点。 主要包括以下几个部分: Java 基础...

  • 待开发功能里的Lu-mesh是什么呢

    本人开源项目 Lu-Rpc

    Lu-Rpc 是个专为学习者准备的 RPC 框架, 初始架构非常简单, 可供初学者扩展和学习. Lu 可以认为是中文世界的撸, 即撸 Rpc--- 造个 Rpc 轮子. Lu...

  • 120
    SOFABolt 源码分析2 - RpcServer 服务端启动的设计

    RpcServer server = new RpcServer(8888); server.registerUserProcessor(new MyServerUserPr...

  • 120
    Sublime Text3搭建Tensorflow环境

    最近在Mac上练习一些Tensorflow简单代码,搭建了Sublime Text3的Tensorflow环境,Ubuntu环境下搭建步骤类似 电脑:Mac 软件:Subli...

  • 120
    netty源码分析4 - Recycler对象池的设计

    本节来看一下netty的Recycler对象池的设计与源码解析。相关的源码已经抽取为一个框架:https://github.com/zhaojigang/concurrent...

  • 三次握手第一个图的ack是不是错了?

    Java程序员必须掌握的网站知识 —— TCP

    本文主要通过整理网络上的资料,整理出的关于TCP方面的简单理论知识。作为Java程序员虽然更多的时候我们都是直接调用现成的API,但是对网络知识有个宏观的概念能方便我们更好的...

  • 120
    Java程序员必须掌握的网站知识 —— TCP

    本文主要通过整理网络上的资料,整理出的关于TCP方面的简单理论知识。作为Java程序员虽然更多的时候我们都是直接调用现成的API,但是对网络知识有个宏观的概念能方便我们更好的...

  • 阅读源码之我见

    过年后从胜任工作的喜悦中缓过劲来,发现自己在Java之路上只是刚刚入门,于是开始了恶补。最先主要是看书补习基础知识,后来一步步逐渐阅读源码。相对于读书看视频这些直观的知识输出...

  • Netty实现简易的应用层协议

    前一阵在工作中用到了RabbitMQ,因此对几种常见的消息队列产生了兴趣。首先从GitHub上下载了RocketMQ的源码打算一探究竟。在阅读remoting这个模块时遇到了...

  • Dubbo中SPI扩展机制详解

    前面我们了解过了Java的SPI扩展机制,对于Java扩展机制的原理以及优缺点也有了大概的了解,这里继续深入一下Dubbo的扩展点加载机制。 Dubbo扩展点加载的功能 Du...

  • 120
    Tomcat整体框架

    最近在看《Tomcat内核设计剖析》,发现这本书写的真的很好,并没有陷在源码当中,从整体设计的角度对Tomcat进行了讲解。当涉及到具体逻辑讲解的时候,大多使用伪代码,简洁明...