摘要 使用 subscribeOn 我们用 subscribeOn 来决定数据序列的构建函数在哪个 Scheduler 上运行。以上例子中,由于获取 Data 需要花很长的时...
摘要 使用 subscribeOn 我们用 subscribeOn 来决定数据序列的构建函数在哪个 Scheduler 上运行。以上例子中,由于获取 Data 需要花很长的时...
Java代码的执行分类 我们都知道开发语言整体分为两类,一类是编译型语言,一类是解释型语言。那么你知道二者有何区别吗?编译器和解释器又有什么区别?这是为了兼顾启动效率和运行效...
前言 Java 在 JDK 1.4 引入了 ByteBuffer 等 NIO 相关的类,使得 Java 程序员可以抛弃基于 Stream ,从而使用基于 Block 的方式...
使用实例 监听器: 带有事务的业务代码: 源码: TransactionalEventListenerFactory: 作用: 这个类用来创建ApplicationListe...
JMX最常见的场景是监控Java程序的基本信息和运行情况,任何Java程序都可以开启JMX,然后使用JConsole或Visual VM进行预览。下图是使用Jconsle通过...
前言 在上篇文章通过实战走近Java Agent探针技术[https://juejin.cn/post/7025410644463583239]中,在进行热替换的时候,我们使...
一、前言 所谓Java Agent,其功能都是基于java.lang.instrument中的类去完成。Instrument提供了允许Java编程语言代理检测JVM上运行的程...
一. 前提 很早之前就了解到目前主流的APM开源框架如Pinpoint、SkyWalking等等都是通过java.lang.instrument包提供的字节码增强功能来实现的...
代理模式 生活处处可见代理,我们经常会碰到各种代理,比如我们常见的微商其实就是一种代理商,他们直接负责和客户交互,但是其实真正卖的东西还是在厂家那里,这里微商就是厂家的一种代...
一、准备工作 1.1 Wireshark 下载安装(MAC版) Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可...
何为延迟队列 队列,即先进先出的数据结构,就和食堂打饭一样,排在最前面的先打饭,打完饭就走;延迟队列即队列中的元素相比以往多了一个属性特征:延迟。延迟队列中的每个元素都指定了...
前言 guava-retrying github地址:https://github.com/rholder/guava-retrying[https://github.com...
标准Java库没有提供足够的方法来操作其核心类,Apache Commons Lang提供了这些额外的方法。Apache Commons Lang为java提供了大量的帮助工...
前言 提到缓存,可能第一时间想到的就是Redis、Memcache等,这些都属于是分布式缓存,而在某些场景下我们可能并不需要分布式缓存,毕竟需要多引入维护一个中间件,那么在数...
标准Java库没有提供足够的方法来操作其核心类,Apache Commons Lang提供了这些额外的方法。Apache Commons Lang为java提供了大量的帮助工...
大家应该都经历过为了学习Hibernate、Spring这样的框架,需要引用大量Jar包而忙得焦头烂额的经历吧。在Java中管理Jar包确实是一件麻烦事情。而且有时候就算你电...
创建线程会产生系统开销,并且每个线程会占用一定的内存等资源,同时线程的销毁也需要带来一定的压力。过多的线程还会带来由于上下文切换等等的性能损耗。 使用线程池的好处:1)提高响...
什么是方法内联 方法内联,是指JVM在运行时将调用次数达到一定阈值的方法调用替换为方法体本身,从而消除调用成本,并为接下来进一步的代码性能优化提供基础,是JVM的一个重要优化...