跳到主要内容

59 篇博文 含有标签「java」

查看所有标签

LeetCode 2 两数相加 Java 解法:链表遍历与进位处理

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

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 这道题的关键是像手算加法一样从低位到高位遍历两个链表,并持续保存进位。实现时要覆盖链表长度不同、最后仍有进位和节点为空的情况。

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 同时承载注册中心和配置中心,集群故障会影响大量服务。部署时要避免节点共享同一故障域,并验证数据库、网络、鉴权和客户端重连行为。

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 的干净构建结果为准。

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