- 博客(13)
- 收藏
- 关注
原创 LeetCode 122. 买卖股票的最佳时机 II
状态定义:动态规划的核心是维护两个状态变量:持有股票(stock)和不持有股票(cash)时的最大利润。状态转移卖出操作:从stock转移到cash,增加利润。买入操作:从cash转移到stock,减少成本。无限次交易:通过状态切换,允许多次买卖,每次卖出后利润可用于后续买入。与一次交易对比:一次交易(LeetCode 121)只需记录最低价和最大差价;无限次交易需动态管理状态,利润更高。
2025-12-02 20:49:46
1027
原创 Java中的InputStreamReader:字节流到字符流的桥梁
在Java的I/O流体系中,扮演着至关重要的角色。它属于(Reader的子类),主要功能是将(InputStream)转换为字符流,并支持指定字符编码格式。这种转换在处理文本数据时尤为关键,因为不同系统或文件可能采用不同的字符编码(如UTF-8、GBK等)。
2025-12-01 13:38:32
435
原创 Java 中的 BufferedReader 类详解
是 Java 处理文本输入的高效工具,其缓冲机制与逐行读取功能大幅简化了开发流程。无论是本地文件、网络流还是控制台输入,结合和合理的异常处理,可构建健壮且高性能的读取逻辑。
2025-12-01 13:31:58
650
原创 深入理解JVM:幸存区(Survivor)中的From和To,你真的懂了吗?
在JVM内存模型中,新生代(Young Generation)的Eden区与两个幸存区(Survivor Space)的设计常让人困惑。尤其是两个名称动态变化的幸存区——新对象首次存活会直接进入From区;若对象在GC时年龄达标,则直接晋升老年代。本文将通过代码、日志和流程图,彻底解析其核心机制。答:若To区非空,复制存活对象时会导致数据覆盖,破坏对象完整性。:From与To是动态逻辑概念,通过角色互换实现内存高效复用。:角色互换保证了内存复用,避免单块区域始终闲置。标识两块物理区域,而。
2025-11-23 13:05:10
325
原创 深入理解Java四大引用:强引用、软引用、弱引用与虚引用
强引用是最常见的引用类型,也是Java默认的引用方式。当对象被强引用关联时,垃圾回收器永远不会回收该对象,即使内存不足时,JVM宁愿抛出OutOfMemoryError异常也不会回收强引用对象。软引用描述有用但非必需的对象。内存充足时,这些对象不会被回收;内存不足时,垃圾回收器会回收软引用对象。这使得软引用非常适合实现内存敏感的缓存。弱引用比软引用更弱。无论内存是否充足,只要发生垃圾回收,弱引用指向的对象就会被回收。弱引用不会阻止对象被终结或回收。虚引用是最弱的引用类型。
2025-11-21 10:54:39
1255
原创 Java中两种创建String对象的方式
以下是关于Java中String对象在存储上分为字符串常量池(串池)和堆的区别的总结与扩展。我将从核心概念出发,逐步解释两者的差异、内存管理机制、性能影响及实际应用,确保内容真实可靠。Java中String存储的串池和堆区别体现了内存管理的精妙设计:串池通过对象复用优化内存和性能,而堆提供灵活性。
2025-11-19 15:27:07
1034
原创 Java中双等号(==)与equals()方法的深度解析
在Java编程中,和是两种常用的比较操作,但它们的行为和适用场景有着本质的区别。本文将从底层原理、内存机制和实际应用三个维度进行全面剖析。内存原理:内存原理:2 典型类的重写实现String类:ArrayList类: 常量池与字符串池的底层1 字符串常量池原理JVM内存模型:2 包装类常量池范围 包装类 常量池范围 实现方式 Byte -128~127 ByteCache
2025-11-19 11:14:10
861
原创 深入浅出人工智能:从概念到应用,一篇带你读懂AI的变革力量
AI是一门研究如何让机器模拟人类智能的科学,目标是实现思考、学习、决策和解决问题的能力。弱人工智能(Narrow AI):专注于特定任务,如人脸识别、语音助手。当前广泛应用阶段。强人工智能(General AI):在任意任务上媲美人类,具备自我意识。尚处探索阶段。超人工智能(Super AI):超越人类智慧,更多是哲学概念。AI是一场技术革命,既是机遇也是挑战。作为开发者,我们不仅是见证者,更是塑造者。本文提供了从理论到代码的全栈指南,现在就开始你的AI之旅吧!讨论话题。
2025-11-18 17:03:31
1193
原创 Java集合框架详解:List、Set、Map的区别与使用场景
在Java编程中,集合框架是我们日常开发中最常用的工具之一。List、Set和Map作为三大核心接口,各自有着不同的特性和适用场景。本文将深入剖析它们的区别,并通过丰富的代码示例帮助大家彻底掌握。
2025-11-18 16:47:15
993
原创 总搞不清static关键字的作用?
在Java中,static关键字是一个修饰符,用于表示某个成员(变量、方法、代码块或嵌套类)属于类本身,而不是属于类的某个特定实例。这意味着无论创建多少个类的对象,静态成员都只有一个副本。以下是static静态变量被类的所有实例共享。当类被加载时,静态变量只初始化一次。静态变量可以通过类名直接访问,而不需要创建类的实例。静态方法属于类,而不属于任何特定实例。因此,静态方法不能直接访问非静态成员(变量或方法),因为它们依赖于实例的存在。静态方法可以通过类名直接调用,而不需要创建实例。
2025-11-17 18:42:19
442
原创 测试开发入门(含Apifox详细开发流程)
本文是一份详细的接口测试学习笔记,重点介绍了HTTP/HTTPS协议、API通信原理及Apifox工具的使用方法。内容包括URL请求、请求头/体、状态码等基础概念,以及接口测试标准化流程、自动化测试场景实现。笔记通过黑马商城案例演示了Apifox的Query参数、Body参数等核心功能,并涵盖断言测试、变量管理、数据库操作等进阶内容。特别介绍了Mock数据生成和Runner自动化测试部署,包括Docker环境配置。该笔记适合测试开发初学者,提供从基础到实战的完整学习路径,强调自动化测试在项目中的重要性。
2025-10-20 21:02:14
947
原创 Docker入门
Docker 是一种轻量化的“容器”技术,可以将软件及其依赖环境(比如代码、系统工具、配置文件等)打包成一个独立的标准化单元。你可以把它想象成一个快递箱:无论寄到哪台电脑(服务器),箱子里装的东西都能一模一样地运行起来,不会因为环境不同而出错。镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。创建镜像的过程其实就是把上述文件打包的过程。加入自定义网络的容器可以通过容器名互相访问创建自定义网络将mysql加入heima网络除此之外可以在创建容器时就加入网络。
2025-10-15 10:53:21
1343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅