hang.li Blog

「离开世界之前 一切都是过程」

内网穿透&remotedebug

@[toc] 背景 本地没问题,上线有问题 支付、各种回调、没法调试 内网穿透工具 frp 需要公网机器 官网 文档 下载地址 下载地址 花生壳 ngrok arthas jad:支持jvm中类的查看 watch:查看某次调用的入参、返回、异常抛出、成员变量 热部署、反编译。。。。。 ...

jenkins

背景 现在上线流程: 后端 叫上n个人 拉代码(git checkout 。。。 ) maven -> 指定环境 -> 打包(mvn clean package -Pdev) 传包(ssh ………….) ssh 到服务器上。。。。。 执行一堆命令(cd。。。stop。。。mv。。。start。。。) 前端 npm build 。。。。。。。。。...

线程池简单实现

UML 核心代码 任务队列满时执行的拒绝策略 枚举单例 + 策略(DenyPolicyStrategy.java) ```java package com.example.executor.service.impl; import com.example.executor.exception.RunnableDenyException; /** 任务数量达到上限时, 线程...

springboot加载流程

SpringApplication构造方法 加载并初始化META-INF/spring.factories,保存到SpringAppliction对象中。 实例化Bootstrapper 实例化ApplicationContextInitializer 实例化ApplicationListener 版本 1 2 spri...

spring.factories是怎么加载的

实例化META-INF/spring.factories example 1 org.springframework.boot.SpringApplication#getSpringFactoriesInstances(java.lang.Class<T>, java.lang.Class<?>[], java.lang.Object...) ...

nacos

nacos安装 传包 解压 1 2 tar -xvf nacos-server-1.4.1.tar.gz cd nacos/bin 在nacos的解压目录nacos/的conf目录下,有配置文件cluster.conf,请每行配置成ip:port。(请配置3个或3个以上节点) 制定jdk环境 1 [ ! -e "$JAVA_HOME/bi...

java.lang.IllegalStateException: Cannot get a text value from a numeric cell

原因 Excel中数值类型值在程序中按字符串类型获取 解决 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 /** * 拿到不同类型单元格中的值 * 1. 字符串: 字符串 ...

红黑树

演示动画 外网地址, 打开可能有点慢: 演示地址 红黑树的特征要求 所有节点不是红色的就是黑色的. 根节点是黑色的. 所有叶子都是NUIL节点, 所有叶子都是黑色. 每个红色节点的两个子节点都是黑色, 也就是不可能有两个相连的红色节点 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点. ( 两个相连的黑色节点算一步, 一个节点到其叶子节点的步...

线性表

栈 后进先出 应用 函数执行模型 任意树的深度遍历算法 … 队列 先进先出 应用 有序的任务列表(消息队列, Lock线程执行队列, 线程池任务队列) 任意树的广度遍历算法 … 数组 ...

hash table

演示动画 https://www.cs.usfca.edu/~galles/visualization/OpenHash.html 哈希表 由一个数组实现, 因为数组有下标, 而且连续 ,方便拿到哈希索引直接找到对应位置 哈希算法 java HashMap 哈希表为特殊的哈希表,长度为2的整数幂 每个value根据hashCode处理后,与哈希表长度按位...