跳到主要内容
Apache王也道长

Apache王也道长

喜欢写一点代码,喜欢折腾

产品

正在打磨的产品

把技术文章沉淀成产品能力,也把产品研发过程继续写成文章。

开发中

Cloud Album

面向海外用户的私有云相册,围绕备份、整理和订阅体验持续打磨。

从真实产品研发出发,记录 iOS 客户端、MinIO 存储、海外支付与增长实验的完整过程。

iOS AppMinIO 存储海外订阅

技术博客

最新文章

PC微信助手

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

注入dll到微信

0x0 首先要打开微信进程

进程注入属于高风险底层技术,容易触发安全软件并破坏目标进程。仅应在隔离环境中分析自有程序或获得授权的测试目标,不能用于控制第三方账号或绕过安全机制。

Seata 0.8.1~1.0.0客户端启动过程分析

· 阅读需 5 分钟
Apache王也道长
软件开发者与技术作者

1. 加载registry配置

transactionServiceGroup默认为${spring.application.name}-fescar-service-group 可以通过spring.cloud.alibaba.seata.txServiceGroup指定

本文分析的是早期 Seata 版本,类名和启动流程可能已在新版本中调整。阅读时应结合对应标签源码,不要把旧版内部实现当成稳定 API。

深入理解 JVM:类加载、运行时数据区、字节码与垃圾回收

· 阅读需 12 分钟
Apache王也道长
软件开发者与技术作者
  • 加载:查找并加载类的二进制

  • 连接

    • 验证:确保被加载的类的正确性
    • 准备:为类的静态变量分配内存,并将其初始化为默认值
    • 解析:把类中的符号引用转为直接引用

JVM 知识应与具体 Java 版本和收集器实现对应。学习时可以围绕类如何加载、对象如何分配、方法如何执行、垃圾如何回收四条主线建立整体结构。

Java List 源码分析:ArrayList、LinkedList、Vector 与 CopyOnWriteArrayList

· 阅读需 9 分钟
Apache王也道长
软件开发者与技术作者

了解基本数据结构在java中很是重要,今天在这里我们来常用的List接口,以及不同的实现。

ArrayList

LinkedList

Vector

CopyOnWriteArrayList

etc...

环境:JDK1.8

阅读 List 源码应围绕随机访问、插入删除、迭代和并发修改展开。不同实现没有绝对优劣,选择时需要结合访问模式、数据规模和线程安全要求。

nacos集群安装

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

nacos 1.0.0-RC 伪集群部署 0. 准备机器 Nacos 同时承载注册中心和配置中心,集群故障会影响大量服务。部署时要避免节点共享同一故障域,并验证数据库、网络、鉴权和客户端重连行为。

servicecomb-saga omega分析

· 阅读需 2 分钟
Apache王也道长
软件开发者与技术作者

在微服务热火朝天的时代,分布式事务变的更加急迫,那么如果解决分布式事务是一个一直以来的难题,今天我们来介绍一个保证最终一致性的分布式事务的框架servicecomb-saga。

Saga 适合长事务和跨服务业务,但一致性依赖每个正向操作都设计可靠、幂等的补偿动作。源码分析应结合一次成功与一次失败链路观察事件顺序。

Canal 入门教程:MySQL Binlog、Server 启动与客户端订阅

· 阅读需 3 分钟
Apache王也道长
软件开发者与技术作者

服务端

服务端ip:192.168.1.101

  1. 下载canal 到/opt/softwares

    wget https://github.com/alibaba/canal/releases/download/canal-1.0.26-preview-2/canal.deployer-1.0.26-SNAPSHOT.tar.gz

Canal 通过模拟 MySQL 从库协议读取 binlog,适合缓存更新、搜索索引同步和异构数据复制。搭建时需要同时检查 MySQL 日志格式、复制权限、位点和下游消费幂等性。

记一次lombok的问题

· 阅读需 4 分钟
Apache王也道长
软件开发者与技术作者

一、案发现场

此问题的案发现场是测试环境,为了减少不必要的类,我们这里用一个简单的例子进行模拟。

lombok version:1.16.14

jdk version:1.8

上代码: Lombok 同时依赖构建工具的注解处理和 IDE 支持,IDE 能识别并不代表命令行一定能编译。排查时应以 Maven 或 Gradle 的干净构建结果为准。

总访问量 -- · 访客数 --