自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(163)
  • 收藏
  • 关注

原创 Java 中求几次方的几种方法

如果需要整数次方且不想使用 Math 类,可以用循环实现:i++) {​// 使用示例// 输出: 32。

2025-04-03 18:13:01 393

原创 BigInteger 和 long 的区别

特性longBigInteger范围有限 (-2⁶³ 到 2⁶³-1)理论上无限(受内存限制)类型基本数据类型对象类型性能快慢内存使用少 (8字节)多 (取决于数值大小)运算符支持支持 +, -, *, / 等运算符必须使用方法 (add(), subtract() 等)典型用途常规整数计算密码学、大数计算、精确计算选择哪种类型取决于你的具体需求。对于大多数常规编程任务,long 就足够了。只有在处理非常大的数字或需要精确计算时才需要使用 BigInteger。

2025-04-03 18:11:47 199

原创 Java中的整除思想

2的幂次方任意数值多线程操作单线程计算极大数值常规数值整除判断需求基数性质位运算优化%运算符判断并发环境需求不可变数值对象基础元语运算数值规模BigDecimal处理基础类型运算。

2025-04-02 21:37:19 713

原创 Java中深度优先搜索(DFS)与广度优先搜索(BFS)的深入对比

// 递归实现(图结构)void dfs(Node node) {    if (node == null || visited.contains(node)) return;      visited.add(node);  // 访问节点逻辑    for (Node neighbor : node.neighbors) {        dfs(neighbor); &

2025-04-02 21:19:38 668

原创 Integer缓存池

Integer a = 127;Integer b = 127;System.out.println(a == b); // true ✅​Integer c = 128;Integer d = 128;System.out.println(c == d); // false ❗​Integer e = -128;Integer f = -128; System.out.println(e == f); // true ✅1.2 JLS规范中的明文规定// 根据Java语言规范

2025-03-27 20:29:09 588

原创 深入Java注解原理

Override// 检查类是否为finalif (!element);

2025-03-27 20:17:50 860

原创 方法重载与重写

/ 整型相加// 浮点型相加(参数类型不同)// 三数相加(参数数量不同)// 编译错误!仅返回类型不同不能构成重载。

2025-03-25 20:11:00 660

原创 为什么Java刻意回避多继承

当Unicorn同时继承Bird和Horse时,无法确定调用哪个父类的eat()方法。

2025-03-25 19:47:15 879

原创 透彻解析HTTP与HTTPS

ERROR: [Mermaid] Parse error on line 5: ...[链路层] --> Ethernet# 透彻解析HTTP与HTTPS:从明文传输 -----------------------^ Expecting 'SEMI', 'NEWLINE', 'EOF', 'AMP', 'START_LINK', 'LINK', got 'UNICODE_TEXT'

2025-03-24 20:22:25 1354

原创 十种负载均衡实现方式全景拆解

(F5 BIG-IP硬件结构原理图)基于ASIC芯片的硬件加速支持100Gbps+吞吐量的流量清洗SSL/TLS卸载专用加密卡BGP动态路由集成# F5 TMSH配置示例members {

2025-03-24 20:15:05 868

原创 负载均衡深度解码

加权轮询策略# 健康检查配置​server {listen 80;

2025-03-23 09:52:15 794

原创 分布式系统与微服务的本质差异

ERROR: [Mermaid] Parse error on line 1: mindmap root((架构范式 ^ Expecting 'open_directive', 'NEWLINE', 'SPACE', 'GRAPH', got 'ALPHA'

2025-03-23 09:42:56 566

原创 事务回滚核心技术

事务回滚机制是保障数据一致性的终极防线,需要深入理解从存储引擎到分布式系统的多层实现逻辑。在云原生时代,新型架构对传统回滚机制提出了新的挑战,构建柔性事务能力将成为关键竞争力。问题表现:- 00:30集中取消订单时系统响应陡增- 事务回滚耗时从平均50ms升至2000ms​根因定位:1. 热点账户的全局锁争用2. Undo Log表未做分片处理3. 默认重试策略导致雪崩效应​优化方案:- 账户ID取模分片Undo Log表- 引入退避算法的重试机制- 增加本地临时回滚日志缓冲。

2025-03-22 15:30:40 714

原创 Seata分布式事务实现原理

Seata通过创新的AT模式降低了分布式事务的使用门槛,结合灵活的多模式支持,已成为云原生时代分布式事务的首选方案。深入理解其核心实现原理,是构建高可靠事务系统的关键。

2025-03-22 15:26:18 718

原创 Spring Cloud微服务架构深潜

Spring Cloud作为微服务领域的经典实现,在技术生态成熟度与开发效率方面仍保持显著优势。但在云原生时代,需要与新技术栈形成互补组合。理解其核心价值与局限,才能做出最优架构决策。

2025-03-21 19:41:18 769

原创 Nacos配置中心核心实现原理全景解析

Nacos配置中心通过巧妙的长轮询机制和分布式一致性协议,在微服务架构中实现了"配置即代码"的理想状态。理解其底层实现原理,将助力开发者构建更灵活可靠的分布式系统。

2025-03-21 19:37:10 648

原创 RocketMQ事务消息核心原理深度剖析:如何保障分布式事务一致性?

RocketMQ事务消息通过创新的二阶段提交机制,在保证高性能的同时实现了高可靠的事务一致性。"业务逻辑+消息系统"的组合拳,为构建复杂分布式系统提供了新范式。

2025-03-20 11:29:40 732

原创 消息队列深度解析

消息队列是构建现代分布式系统的核心枢纽。选择适合的技术方案,结合可靠的架构设计,将使系统具备更好的扩展性和容错能力。欢迎在评论区交流你的项目实践经验!文中所有示意图均采用优快云官方图床。

2025-03-20 11:22:09 695

原创 深度解析Java常量池

Java常量池体系Class文件常量池运行时常量池字符串常量池方法区存储堆内存存储。

2025-03-19 15:28:42 659

原创 JVM内存溢出(OOM)的场景

JVM Memory线程私有区线程共享区程序计数器虚拟机栈本地方法栈堆内存方法区/元空间。

2025-03-19 15:24:00 900

原创 深入解析Java跨平台原理

源代码编译方式直接编译为机器码Windows的可执行文件.exeLinux的可执行文件.elfmacOS的可执行文件.machJava独特的中间格式字节码文件.classJVM虚拟机。

2025-03-18 22:18:16 889

原创 深入浅出垃圾回收算法

38%25%17%20%内存管理常见问题分布内存泄漏野指针重复释放碎片化自动检测无效内存对象安全回收内存资源优化内存空间利用率。

2025-03-18 22:01:40 672

原创 Spring Boot与Spring Cloud深度对比

可选项SpringBoot。

2025-03-17 21:41:10 748

原创 Spring Cloud微服务架构深度解析

Bean// 权重响应时间策略。

2025-03-17 21:39:57 883

原创 Redis跳表

有序数据结构平衡树族跳跃链表族AVL树红黑树B+树Redis跳表LevelDB跳表实现复杂度比红黑树低5倍天然支持范围查询便于并发控制(无需全局重平衡)

2025-03-16 20:54:00 766

原创 Redis九大核心数据类型

int len;// 已使用长度int free;// 剩余空间char buf[];// 字节数组最大支持512MB数据支持数值自动计算可存储二进制数据。

2025-03-16 20:47:19 887

原创 Redis集群实现原理

客户端代理层分片1分片2分片3从节点1从节点2从节点3从节点4从节点5从节点616384个哈希槽(Hash Slot)主从复制架构Gossip协议网络。

2025-03-16 20:40:31 242

原创 深入解剖Java内存模型(JMM)

/ 2002年著名问题代码int a = 0;​a = 1;// (1)// (2)​assert a == 1 : "魔幻时刻来临!// 可能断言失败:在JSR-133规范发布前,该断言可能抛出令人费解的错误。

2025-03-16 20:35:36 588

原创 原子性、可见性、有序性深度解密

i < 10000;// 经典错误姿势// 同时启动10个线程执行increment()// 最终结果永远不可能是10*10000=100000:输出98231(每次运行结果不确定)

2025-03-16 20:26:00 664

原创 Happens-Before的九重契约

/ (1)// (2)​// (3)// 可能输出0!:即使(1)在(2)之前执行,reader线程可能看到flag=false但value=0。

2025-03-16 20:23:07 766

原创 Java锁性能优化

秒杀系统吞吐量突然从2万QPS骤降到2000 QPS:通过Arthas的monitor命令发现耗时异常// 错误实现:高频调用的商品库存校验方法// 每次访问都会触发全局锁竞争:采用分段锁设计使总QPS恢复8.5万。

2025-03-16 20:14:58 674

原创 彻悟Java阻塞队列

try {// 暴露监控指标...

2025-03-15 22:52:03 721

原创 深度剖析Java线程池的九层功力修炼指南

/ 暴露各项指标到JMX。

2025-03-15 22:44:56 685

原创 深挖Java动态代理的七大终极秘密

想象这样一个场景:你需要为UserService添加访问日志,但不想污染业务代码,该怎么办?动态代理的黑魔法就此展开!public interface UserService {    void createUser(String name);}​public class UserServiceImpl implements UserService {    public void createUser(String name) {   &nb

2025-03-15 22:40:13 641

原创 深入理解JDK与JRE的核心区别与实战应用

这些问题都源于对Java环境体系的不熟悉,本文将带你揭开JDK和JRE的神秘面纱!定义:Java应用的运行时容器 核心组件:JREJava虚拟机核心类库其他支持文件rt.jar:包含Java SE标准类库charsets.jar:字符集支持安全策略文件:java.policy定义:Java开发者的瑞士军刀 核心组件:包含JDKJREjavac编译器调试工具调试器反编译器监控工具开发文档C头文件PATH变量的本质区别:# JDK环境配置示例(Linux/Mac)export JAVA_HO

2025-03-15 22:34:10 735

原创 深入解析Java字符串三剑客:String、StringBuffer、StringBuilder

特性String可变性❌✅✅线程安全✅(天然)✅(同步锁)❌性能最低中等最高初始化方式字面量/newnew + 初始容量new + 初始容量内存占用易产生碎片预分配机制预分配机制核心区别记忆三要素可变性 → String不可变线程安全 → 仅StringBuffer安全性能比较 → StringBuilder > StringBuffer > String面试超纲加分点自动装箱对字符串拼接的影响Java 9之后的紧凑字符串优化字符编码对字节数组存储的影响。

2025-03-15 22:29:39 793

原创 Java 面向对象编程与面向过程编程

面向过程编程是一种编程范式,侧重于一步一步地处理一个个过程或步骤来解决问题。它通过函数或子程序的形式组织代码,每个函数完成一个具体的任务。面向对象编程是一种编程范式,侧重于对象和类的抽象及其之间的交互来解决问题。它强调封装、继承和多态等特性,通过对象来组织代码。面向过程编程和面向对象编程各有优势,选择哪一种编程范式取决于具体的应用场景和需求。对于小规模的简单程序,面向过程编程更为直接和高效;而对于大型复杂系统,面向对象编程能够提供更好的代码组织和复用机制。

2025-03-15 22:20:18 677

原创 面向对象三大特性:封装、继承、多态深度解析

OOP。

2025-03-15 21:50:50 1192

原创 阿里巴巴Arthas终极指南:从线上诊断到热更新的实战艺术

Command(name = "mysearch", help = "自定义文件搜索命令")@Override// 实现搜索逻辑能力维度推荐命令使用频率快速诊断dashboardthread★★★★★深度分析watchstack★★★★☆紧急修复redefine★★☆☆☆性能调优profilermemory★★★☆☆工程师箴言"Arthas不是万能药,但它是Java工程师必须掌握的听诊器。

2025-03-10 21:39:32 691

原创 深入理解CSRF攻击:原理、案例与全方位防御指南

安全层级防御措施实施要点客户端设置Strict/Lax模式服务端CSRF Token+校验随机化+绑定会话业务逻辑敏感操作二次验证密码/短信验证码监控异常请求报警检测缺失Token的请求安全箴言"没有绝对的安全,只有分层的防御体系。" —— 匿名安全工程师。

2025-03-10 21:18:51 755

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除