【JVM学习】7.JVM调优1 前言本章将主要介绍调优工具及各自的使用方法,最后给出实战案例。 2 工具2.1 JDK工具假如你自己手动安装过JDK,那一定不会对下表中的工具感到陌生。比如用的最多的java。Windows下的JDK工具集合 不同平台,其对应的名字相差 2023-07-10 JVM学习JVM JVM调优
【JVM学习】6.玩转类加载与类加载器0 前言在【JVM学习】3.JVM中的对象一文中,我们给出了一个JVM对象的详细创建流程,整个流程图如下:JVM对象的创建过程 本章将会对类的加载过程及常见的类加载器做出详细梳理和介绍。 1 类的生命周期类从被加载到虚拟机内存中开始,到卸载 2023-07-07 JVM学习JVM 类加载 类加载器 类的生命周期
【LeetCode】257.二叉树的所有路径1 问题给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1示例1 输入:root = [1,2,3,null,5]输出:[“1->2->5”, 2023-07-07 算法LeetCode 二叉树 数据结构 DFS
【LeetCode】129.求根节点到叶节点数字之和1 问题给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。计算从根节点到叶 2023-07-07 算法LeetCode 二叉树 数据结构 DFS
【LeetCode】114.二叉树展开为链表1 问题给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针left始终为 null 。 展开后的单链表应该与二叉树先序遍历顺 2023-07-04 算法LeetCode 二叉树 数据结构 递归 迭代
【RocketMQ学习】2.玩转各种消息1 前言上一章节,主要介绍了RocketMQ的物理架构和逻辑概念。这一章主要列举其中的消息类型以及各自的应用场景,举例。 2 普通消息2.1 发送RocketMQ支持以下三种方式发送一条MQ:同步发送、异步发送、单向发送。各自优劣见下表: 2023-07-04 RocketMQ学习RocketMQ 消息
【LeetCode】109.有序链表转换二叉搜索树1 问题给定一个单链表的头节点 head,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差不超过 1。 示例 1示例1 输入: head = [-10,-3 2023-07-04 算法LeetCode 二叉树 数据结构 递归 快慢指针
【LeetCode】108.将有序数组转换为二叉搜索树1 问题给你一个整数数组 nums ,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。 高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例 1示例1 输入:nums = [-1 2023-07-04 算法LeetCode 二叉树 数据结构 二分法 递归
【LeetCode】117 填充每个节点的下一个右侧节点指针II1 问题给定一个二叉树:struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针 2023-06-30 算法LeetCode 二叉树 数据结构 BFS
【RocketMQ学习】1.基础知识1 消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。 1.1 作用解耦、异步、削峰、分发 2 物理架构RocketMQ底层架构 启动流程: NameSer 2023-06-30 RocketMQ学习RocketMQ
【JVM学习】5.HostSpot的细节1 前言前一章节介绍了常见的对象存活判定算法和垃圾收集算法,里面提到了很多专有名词,这一章节主要就这些专有名词,加上自己的理解进行详细介绍。 2 三色标记(Tri-color Marking)在三色标记法之前有一个算法叫Mark-And-S 2023-06-30 JVM学习JVM 三色标记 安全点 跨代引用 写屏障
【JVM学习】4.垃圾回收机制及算法1 定义垃圾收集器(Garbage Collector,下文简称GC)。 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭; 栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需 2023-06-28 JVM学习JVM GC算法