- 博客(68)
- 收藏
- 关注
原创 Python 的数据结构实战——List、Dict、Set 与 List Comprehension
写给习惯 ArrayList、HashMap 和 Stream API 的你本文是《从 Java 到 Python:一位后端工程师的零基础学习之旅》系列的第六篇。在 Java 中,我们依赖 ArrayList、HashMap、HashSet 等集合类处理数据,配合 Stream API 实现过滤、映射、聚合等操作——代码虽强,但往往需要多行。而在 Python 中,列表(List)、字典(Dict)、集合(Set) 不仅是基础数据结构,更是语言级的“第一公民”
2026-05-25 16:04:20
599
3
原创 面向对象编程(OOP)在 Python 中的实现——类、继承与特殊方法
写给习惯 POJO、getter/setter 和 final class 的你本文是《从 Java 到 Python:一位后端工程师的零基础学习之旅》系列的第五篇。在 Java 中,OOP 是构建大型系统的基石:一切皆对象类必须显式定义字段、构造函数、访问器继承、封装、多态是三大支柱而 Python 虽然也支持完整的面向对象编程,但它的态度更务实:“如果一个功能可以用简单函数实现,就不要强行用类。”但这并不意味着 Python 的 OOP 能力弱——恰恰相反,它更灵活、更动态,甚至
2026-05-25 15:59:28
394
原创 函数、模块与包管理——从 public static 到 import 的思维转换
本文对比了Java和Python在函数、模块与包管理方面的差异。对于习惯Java工具类和Maven的开发者,Python提供了更灵活的函数定义方式(无需类封装)、简洁的模块系统(.py文件即模块)和requirements.txt依赖管理。文章详细介绍了Python函数的默认参数、可变参数、多返回值等特性,以及如何通过模块和包组织代码结构。同时建议采用类似Java项目的目录结构,并展示了类型提示功能如何让Python具备类似Java的静态检查能力。最后指出Python的模块化哲学更强调组合与复用,是一种更轻
2026-05-17 14:20:27
473
原创 Python 基础语法 vs Java —— 从变量到控制流
本文对比了Java和Python在语法上的主要差异,帮助Java开发者快速适应Python。重点包括:1)Python使用缩进而非大括号定义代码块;2)动态类型与静态类型的区别;3)命名风格从camelCase转为snake_case;4)条件语句和循环的语法差异,如elif替代else if,for循环基于迭代器等;5)Python特有的循环else子句。文章强调Python通过简洁语法提高可读性,建议开发者遵循PEP8规范,并提供了将Java代码转换为Python风格的实用示例。
2026-05-17 14:14:23
381
原创 Spring 的 Bean 对象什么?
本文主要探讨Spring框架中的Bean对象概念及其管理机制。首先指出传统Java项目中对象管理的问题:通过new关键字创建对象导致高耦合和高维护成本。随后介绍简易容器解决方案(如SimpleContainer)通过缓存和依赖注入减少对象创建开销。 重点对比了Spring Bean与其他对象管理工具的区别: 与手动容器相比,Spring提供完整的IoC/DI、生命周期管理和AOP支持; 与Google Guice相比,Spring配置更灵活,生态更完善; 与Java EE CDI相比,Spring是事实标准
2026-05-07 10:41:51
533
原创 环境搭建与第一个 Python 程序——告别 public static void main
《从Java到Python:零基础环境搭建指南》为Java开发者介绍了Python开发环境的快速搭建方法。文章对比了两种语言的环境配置差异:Python只需官网下载安装包并勾选PATH选项,比Java的JDK配置更简单;包管理工具pip类似于Maven但无需编译;Python程序无需类定义和main方法,一行print即可运行。还介绍了Python的REPL交互模式、IDE选择建议和默认UTF-8编码支持。最后预告了后续将讲解的虚拟环境和项目结构内容,帮助Java开发者理解Python"简单优于复
2026-05-07 10:32:51
346
原创 为什么 Java 开发者要学 Python?——我的学习动机与目标
《Java开发者转向Python的实用指南》是一篇针对有Java背景的技术人员学习Python的指导文章。作者作为资深Java开发者,阐述了学习Python的必要性:Python在AI、数据科学等新兴领域占据主导地位,而Java更适合企业级后端开发。文章对比了两者的差异,指出Java适合构建稳定的大型系统,Python则擅长快速原型开发和数据处理。作者分享了自己的学习目标,包括构建RAG知识库、开发AI应用等,并预告后续将详细介绍环境配置、语法对比及实战项目。该系列旨在帮助Java开发者快速掌握Python
2026-05-07 10:27:29
566
原创 《Java 时间处理演进:从 java.util.Date 到 Java 8+ 新时间 API》
本文详细讲解了Java时间处理的演进历程。早期java.util.Date和Calendar存在线程不安全、设计混乱等问题,Joda-Time曾作为临时解决方案。Java8引入的java.time包(JSR-310)彻底革新了Java时间处理,提供不可变、线程安全的LocalDateTime等类,具备清晰的语义命名、强大的格式化支持和简明的时区处理。通过5个典型场景对比,展示了新API在格式化、计算、比较等方面的优势。建议新项目直接使用java.time,避免旧API的陷阱,并给出了数据库交互、JSON序列
2025-10-31 10:32:59
1105
原创 新手也能学得会的之 Java 时间类 使用与设计
本文详细介绍了Java中的时间处理机制。第一部分解释了Unix时间戳作为计算机时间表示的基础,以及Java如何通过Date类和java.time包处理时间。第二部分分析了Date类的设计缺陷,包括时区、夏令时等问题,并介绍了现代Java时间API的改进。第三部分探讨了时间格式化与本地化处理,包括SimpleDateFormat和Fastjson的使用。第四部分讲解了SpringBoot项目中时间数据的请求处理,包括JSON和表单数据的格式化和协议传输问题。
2025-10-31 10:25:07
1147
原创 SLF4J 日志学习
文详细介绍了SLF4J日志框架的核心概念与最佳实践。主要内容包括:SLF4J作为日志门面的优势(解耦、统一接口、性能优化)日志配置详解(变量定义、输出策略、级别控制、轮询策略)异步日志与MDC上下文的应用性能对比:{}占位符与字符串拼接的区别(占位符在日志关闭时性能优势显著)
2025-09-30 22:50:27
1053
原创 Java-01-基础篇-JDK日志(JUL)
本文介绍了Java标准库自带的日志框架JUL(java.util.logging)的核心功能和使用方法。主要内容包括:1)JUL的基本实现和日志级别(SEVERE/WARNING/INFO等)的国际化支持;2)日志处理器的配置,支持控制台、文件等多种输出方式;3)自定义日志格式的方法。虽然JUL功能完整,但由于配置复杂、性能一般、扩展性差、与主流框架集成困难等原因,在开发中逐渐被Logback/Log4j2等现代日志框架取代。
2025-09-30 22:46:00
1112
原创 设计模式之代理模式
本文详细介绍了Java中代理模式的实现方式,包括静态代理、JDK动态代理和CGLIB动态代理。静态代理需要手动编写代理类,适用于简单场景但扩展性差;JDK动态代理利用反射机制在运行时生成代理类,要求目标类必须实现接口;CGLIB则通过继承方式为没有实现接口的类创建代理,但存在JDK9+兼容性问题。文章还对比了CGLIB与现代替代品ByteBuddy的区别,后者支持JDK9+模块系统且功能更强大。通过多个代码示例,展示了如何在不同场景下应用代理模式实现日志记录、性能监控等功能,同时保持代码的解耦和可维护性。
2025-08-22 11:21:23
1045
2
原创 新手也能学得会之 spring-core 内嵌的 CGLIB
本文探讨了Spring框架中CGLIB的实现与应用。Spring将CGLIB核心代码打包在spring-core中,主要用于AOP代理和@Configuration类增强,避免了外部依赖冲突。文章详细分析了CGLIB在Spring中的使用场景
2025-08-22 11:18:44
1419
3
原创 新手也能学得会之 Converter【spring-core 转换器】
本文系统介绍了Spring框架中的类型转换机制,主要包括以下几个核心接口:1. Converter接口:基础类型转换接口,支持固定源类型到目标类型的转换,可通过andThen方法组合多个转换器。2. ConditionalConverter接口:提供条件判断能力,决定是否执行特定转换。3. GenericConverter接口:支持复杂类型转换,包含ConvertiblePair内部类定义类型对,能处理泛型、集合等复杂场景。4. ConditionalGenericConverter接口:结合前两者的功能,
2025-07-24 11:26:23
1141
3
原创 新手也能学得会之Environment 2【sping-core-资源管理05】
摘要: 本文深入解析了Spring框架中的AbstractEnvironment类及其相关组件,重点剖析了配置文件的加载与管理机制。主要内容包括:1)AbstractEnvironment的核心属性与构造逻辑,如活跃/默认配置文件的存储容器、属性源管理器及解析器;2)Spring配置文件的两种指定方式(spring.profiles.active和spring.profiles.default)及其优先级规则;3)PropertyResolver和ConfigurablePropertyResolver接口
2025-07-24 11:25:15
949
2
原创 新手也能学得会之Environment 接口【sping-core-资源管理04】
Spring框架中的Environment接口是管理应用环境配置的核心组件,提供统一访问不同环境(如开发、测试、生产)配置的能力。关键特性包括:1. 继承PropertyResolver接口,支持属性解析和占位符替换;2. 通过Profile机制区分环境配置,支持逻辑表达式匹配;3. 采用PropertySources管理多属性源(系统变量、JVM参数等),并处理优先级;4. 提供StandardEnvironment(标准JavaSE)、StandardServletEnvironment(Web应用)等
2025-07-10 11:48:09
977
1
原创 Linux - firewall 防火墙
Firewalld是Linux系统动态防火墙守护进程,支持区域划分、服务管理和端口控制等核心功能。它通过firewall-cmd命令提供灵活配置,包括:1)基本操作(状态查看、服务启停);2)规则管理(服务/端口添加/删除,支持临时和永久配置);3)高级功能(IP过滤、NAT转发、富规则)。相比传统iptables,firewalld具有动态更新、区域化管理和图形界面支持等优势,典型应用包括Web服务器的安全防护(开放指定服务/端口、设置IP白名单等)。配置文件位于/usr/lib/firewalld/和/
2025-07-10 11:45:42
1082
1
原创 想搞懂 AI 最新玩法?先弄清楚 Prompt、Agent 和 MCP 是什么
【摘要】在大模型系统和智能代理开发中,Prompt、Agent和MCP是三个核心概念:1)Prompt作为用户与模型的交互桥梁,通过优化提示词引导模型输出;2)Agent是具备自主决策能力的智能代理,能规划任务、调用工具并执行复杂操作;3)MCP是规范Agent与模型间通信的协议标准,支持多模型协作和工具调用。三者协同工作形成分层架构:用户输入经LLM推理后,由Agent通过MCP协调执行,工具层对接外部服务,最终结果经LLM处理后返回用户。当前Agent技术正向多模型协作(提升鲁棒性)、专业化分工和低代码
2025-06-30 17:57:52
2970
原创 新手也能学得会之PropertySource 接口【sping-core-资源管理03】
摘要:本文系统介绍了Spring框架中的PropertySource机制,用于统一管理不同来源的配置属性。重点内容包括:1) PropertySource抽象类及其核心方法;2) 多种实现类如MapPropertySource、PropertiesPropertySource等;3) YAML/JSON等特殊格式的处理方式;4) JVM和系统环境变量支持;5) Web应用中的ServletContext/ConfigPropertySource;6) 测试用的MockPropertySource。通过分析源
2025-06-30 14:36:31
1087
原创 新手也能学得会之Resource 接口【sping-core-资源管理01】
Spring Framework 资源管理核心解析 摘要: 本文深入剖析了Spring Framework 6.2.7版本中资源管理的核心设计。通过分层架构分析,重点讲解了spring-core模块的Resource体系: 核心接口解析 InputStreamSource:定义资源输入流标准 Resource:统一资源访问接口,提供exists()/getInputStream()等通用方法 具体实现包括UrlResource(网络)、FileSystemResource(文件系统)、
2025-06-23 14:45:38
1086
2
原创 新手也能学得会之ResourceLoader 接口【sping-core-资源管理02】
ResourceLoader是Spring框架中用于统一加载资源的核心接口,主要功能是根据不同前缀(如classpath、file、http)加载各类资源并返回Resource对象。它通过DefaultResourceLoader等实现类支持多种资源加载方式,并允许通过ProtocolResolver扩展自定义资源协议(如数据库存储的配置)。典型应用包括配置文件读取、静态资源加载等场景,实现了资源访问的统一抽象。Spring的资源加载机制既支持标准协议,也提供灵活的自定义扩展能力。
2025-06-23 14:44:48
1139
原创 新手也能学会-MQTT 用户与权限管理
能不能连接(认证)—— 这是用户名/密码或 TLS 的作用。能不能发布(publish)某个 topic能不能订阅(subscribe)某个 topic分类控制方式文件认证用户名 + 密码(bcrypt 存储)授权Topic 级权限acl_file(精细控制读写)通过配置这两个文件,Mosquitto 实现了灵活而安全的 MQTT 权限体系,适合物联网、消息网关等多用户场景。
2025-05-11 11:53:28
1030
2
原创 新手也能学会-MQTT 基础知识
消息中间件(MQ)是一种用于解耦、异步通信、流量削峰和缓存的通信中介,常见的实现包括Kafka、RabbitMQ和RocketMQ。MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,专为低带宽、高延迟或不稳定网络环境设计,广泛应用于物联网(IoT)。其核心特点包括轻量级、发布/订阅模型、消息质量服务(QoS)和持久化会话。MQTT在智能家居、工业物联网、智慧城市、健康医疗、农业物联网和智能电网等领域有广泛应用。MQTT协议自1999年由IBM设计以
2025-05-11 11:47:26
1745
原创 写给像我这样的AI 初学者
AI,全称“Artificial Intelligence”,即“人工智能”。简单来说,它是让机器模拟人类的智能行为,比如“感知”、“判断”和“行动”。
2025-04-21 18:01:12
1206
10
原创 新手也能看懂的:Shell 脚本编程
涵盖字符串处理、文件操作、数值比较等常见场景,并特别强调[ ]和[[ ]]的区别、变量引用的安全写法等关键知识点,适合Shell编程初学者系统学习。
2025-04-21 17:56:51
2023
6
原创 Linux - 系统服务管理(Systemd)
Systemd 就像 Linux 的“调度总管”,负责把系统和服务安排得明明白白!类型表现形式文件路径或操作服务定义.service文件启动控制符号链接*.wants/目录下的链接日志记录二进制文件(journal)服务状态文件系统接口/proc/定时任务、socket也是文件.timer.socketSystemd 的设计延续了 Unix 的哲学,把系统的行为用“文件”来定义和管理,这一点让它既统一、可编程、又可读可控。
2025-04-14 16:09:35
1810
12
原创 新手也能看懂的:Linux 怎么下载资源?curl、wget 和 dnf 一次讲明白!
新手也能看懂的:Linux 怎么下载资源?curl、wget 和 dnf 一次讲明白!
2025-04-14 16:00:23
1655
3
原创 新手必看:Linux文件系统基础与文件操作简单教程
Linux中在文件系统的设计理念上,有一句一切内容皆文件 的思想设计语句。如何理解?想象一下,你家有一个巨大的柜子,这个柜子里有很多层架子,每层又有小格子,每个格子里可以放文件、放工具、放盒子……Linux 文件系统就像这个“万能柜子”。它最顶上有一个起点,叫做根目录,也就是,所有东西都从这里开始。就像树有根,这个就是所有目录、文件的“根源”。
2025-04-14 15:53:09
968
3
原创 Java-01-源码篇-JUC并发编程-原子类
在J.U.C并发包之中,有一个原子包(java.util.concurrent.atomic)该包里面的类都天生拥有原子性质。Atomicinteger, AtomicLong, AtomicBoolean 数组类型:AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray等相关讲解
2025-03-31 18:11:44
1237
3
原创 Linux 常用命令使用
生活当中我们接触windows 系统比较多,尽管我们没有系统相关windows相关知识,但我们依旧能够很快的掌握并使用,主要原因是windows的操作界面是图形界面。而Linux大多数是字符界面。也有Linux支持图形界面的发行版。windows的字符界面windows的图形界面,就是日常使用的界面。
2025-03-31 18:11:05
497
1
原创 Linux 发展历史
Linux 的发展历史可以分为几个关键阶段,从起源到现代的发展。领域的核心操作系统,未来仍将保持强劲的发展势头。如果你对 Linux 具体技术感兴趣,比如。Linus Torvalds 开发 Linux 0.01。Linux 在 AI、云计算、量子计算等领域持续增长。Unix 商业化(IBM、Sun、HP 等)Slackware、Debian 发行版发布。IBM 投资 10 亿美元支持 Linux。微软宣布支持 Linux(WSL)Linux 2.0,支持 SMP。Linux 已经成为。
2025-03-31 18:10:26
1329
1
原创 医院信息系统与AI赋能的介绍
电子病历系统是用来记录、存储、管理和查询患者的电子化健康记录的系统。它的目标是将传统的纸质病历转化为电子形式,确保信息能够高效、准确地传递和存储。患者信息管理:包括病史、体检记录、实验室检查结果、药物使用情况等。病历文档:包括入院记录、诊疗记录、检查报告等文档的电子存储。信息查询:医生、护士可以随时查看患者的历史信息,便于诊断与治疗决策。临床决策支持:提供基于病历数据的建议和预警,辅助医生做出治疗决策。数据标准化:不同系统之间的数据格式、标准和协议可能存在差异,需要统一数据标准和接口规范。
2025-03-31 18:09:46
1214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅