必知必会Java命令:JPS
最近想着把工作中使用过的java命令都梳理一下,方便日后查阅。虽然这类文章很多,但自己梳理总结后,还是会有一些新的收获。这也是这篇笔记的由来。 今天先聊聊 jps 命令。 命令概述⭐ jps 命令是JDK提供的一个工具,用于查看目标系统上的Java进程基本信息(进程ID, 启动类,启动参数等)。命令在JDK安装目录的bin目录下,比如在我的window下…
在这个技术方向,积累扎实的知识与实践。
共 547 篇文章最近想着把工作中使用过的java命令都梳理一下,方便日后查阅。虽然这类文章很多,但自己梳理总结后,还是会有一些新的收获。这也是这篇笔记的由来。 今天先聊聊 jps 命令。 命令概述⭐ jps 命令是JDK提供的一个工具,用于查看目标系统上的Java进程基本信息(进程ID, 启动类,启动参数等)。命令在JDK安装目录的bin目录下,比如在我的window下…
1 什么是Quartz Quartz是一个作业调度框架,它可以与J2EE和J2SE应用相结合,也可以单独使用。它能够创建多个甚至数万个jobs这样复杂的程序,jobs可以做成标准的java组件或EJBS。Quartz很容易上手,创建一个任务仅需实现Job接口,该接口只有一个方法void execute(JobExecutionContext…
在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下。因为这些改变可能在升级的时候,造成影响。 # Double.toString() 和 Float.toString() 的精度问题修复 比如:对于 Double.String(1e23) : 在Java 19后,输出内容为: 1.0E23 在Java 18中,输出内容为:…
1. 请简单描述一下 Reactor 模型在 Netty 中的应用。 在Netty-Server 中一般使用的是 Reactor 的 多线程 池模型,而Netty-Client 中一般使用的是 Reactor 单线程池模型。具体来说,NioEventLoopGroup 充当着线程池。每一个 NioEventLoopGroup 中都包含了多个…
NioEventLoopGroup和NioEventLoop 源码 分析 1. NioEventLoopGroup的构造分析 EventLoopGroup parentGroup = new NioEventLoopGroup(); EventLoopGroup childGroup = new NioEventLoopGroup();…
NioEventLoop 任务的执行 今天跟核心方法,关于任务的处理 下面是EventLoop第一次执行execute方法的时候,会触发的逻辑,会执行一个核心Runnable任务,该任务会进行 selector 的选择,然后处理三类任务,以及I/O就绪事件:…
1. 客户端启动 服务端启动已经说完了,接下来看下客户端启动,有了之前的经验,现在看客户端会容易的很多: public class SomeClient { public static void main(String[] args) throws InterruptedException { NioEventLoopGroup group = new…
Channel 的 inBound 与 outBound 处理器 1. 先了解一下相关核心类的API ChannelHandler、ChannelInbound/OutboundHandler…
Netty 源码解析 1. Reactor 模型 在解析 Netty 源码之前,我们首先要搞清楚 Reactor 模型。因为现在的网络通信框架,大多数都是基于 Reactor 模型进行设计和开发的,Netty 也不例外。 1.1 Reactor 单线程模型 Selector…
由于 Netty 的底层是 NIO,所以在读 Netty 源码之前,首先了解一下 NIO 网络编程 相关知识。 直接看官方的注释,因为注释是最权威的。 1. NIO 简介 NIO,New IO(官方),Non-blocking IO(非官方),是 JDK1.4 中引入的一种新的 IO 标准,是一种同步非阻塞 IO。NIO 是以 块…