- 博客(520)
- 收藏
- 关注
原创 PHP 类常量详解:从入门到精通
类常量是类中定义的固定值,一旦定义就不能修改。// 圆周率 const E = 2.71828;// 自然对数的底 }为什么用类常量?避免"魔法数字"(如直接写 3.1415926)集中管理配置值提高代码可读性class Config { // ✅ 正确:类内部,方法外部 public const DB_HOST = 'localhost';public function test() { // ❌ 错误:不能在方法内部定义 // const LOCAL = 10;} }
2025-08-01 15:40:59
83
原创 Rust-搞定图片上传功能
快来跟我一起体验Rust之美吧,最近几天都写的很难,所幸都攻克了 简单但是可能我是小白 很多问题总算踩过去了。接下来我们参考我们之前的接口部分,返回上传图片成功以后的数据,这里我们先以实现功能为主。现在可以看到我们传入的文件都在upload下,我们分配一下,图片和视频区别后面。静态资源目录搭建好了以后,再次访问,我们的图片可以完美展示啦。之中处理方法逻辑,编写我们的上传,这里我们先测试一下。这个时候返回的接口地址,已经成为我们想要的路径了。入口文件之中添加我们的静态文件地址。测试我们的接口,返回如下。
2025-08-01 15:40:28
72
原创 Django模型查询与性能调优:告别N+1问题
以上代码会产生 1 次查询获取所有 Book,加上 N 次查询获取对应的 Author(N 为 Book 数量),共 N+1 次查询。多对多关联中,add()、set() 和 remove() 可直接使用主键。适用于多对多和反向关系,通过批量查询后在 Python 中关联。N+1 查询是常见的性能问题,表现为主查询后执行 N 次额外查询。使用Q() 对象构建复杂查询,实现灵活的数据权限计算。对象,其中每个元素是一个字典),适合提取特定字段。对象,其中每个元素是一个元组),内存占用更低。获取单一字段值列表。
2025-08-01 15:39:56
827
原创 2025java程序员基础面试题
本文总结了Java基础常见的面试题,主要内容包括: JDK、JRE和JVM的区别:JDK包含JRE和开发工具,JRE包含JVM和核心类库,JVM是实现跨平台的关键。 字节码的作用:Java源文件编译生成的.class文件,具有可移植性和执行效率高的特点。 Java与C++的区别:Java不支持指针和多重继承,有自动内存管理机制。 面向对象特性:抽象、封装、继承和多态,以及五大设计原则(SRP、OCP、LSP、DIP、ISP)。 关键字详解: static:修饰变量、方法和代码块,类加载时初始化 final:
2025-08-01 14:53:06
810
原创 OpenAI结构化输出(Structured Outputs)完全指南:从基础到实战
OpenAI结构化输出指南:提升API数据交互的稳定性与效率 OpenAI结构化输出(StructuredOutputs)通过JSONSchema规范模型响应格式,解决了传统输出中常见的格式混乱问题。该功能支持类型安全验证,确保必填字段完整且枚举值有效,同时简化提示词设计。开发者可通过JavaScript/Python SDK快速实现,支持数学解题步骤分解、论文信息抽取等场景。相比JSON模式,结构化输出能严格遵循预设schema,但需注意5层嵌套深度和5000个属性的限制。最佳实践包括:定义清晰的JSON
2025-07-29 15:58:04
616
原创 【Nginx】Nginx进阶指南:解锁代理与负载均衡的多样玩法
通过合理配置,我们可以充分发挥Nginx的潜力,为网站或应用提供稳定、高效、安全的服务。在分布式系统中,数据库往往是系统的核心,为了保护数据库免受直接访问的风险,我们通常会使用Nginx作为数据库的代理层。这样,外部请求首先到达Nginx,再由Nginx转发到实际的数据库服务器,既增加了安全性,又便于实现负载均衡。对于包含大量静态资源(如图片、CSS、JavaScript文件)的网站,使用Nginx直接提供静态资源服务可以显著提高加载速度,减轻后端服务器的负担。
2025-07-29 15:56:57
310
原创 【What · Why · How】浅析select/poll/epoll与IO多路复用
现在我们再回头来看一下文章开头提出的三个问题:What、Why、HowWhat:什么是I/O多路复用IO 多路复用是一种让单个进程(或线程)能同时监控多个文件描述符(如套接字、文件等),并在其中任一描述符就绪(可读写或发生异常)时得到通知的 I/O 模型。其核心是通过一次系统调用同时管理多个 I/O 操作,而非为每个 I/O 单独创建进程或线程。
2025-07-29 15:56:26
979
原创 JAVA经典面试题附答案(持续更新版)
摘要:Java线程状态包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED。线程状态转换主要涉及:调用start()从NEW到RUNNABLE;获取锁失败进入BLOCKED;调用wait()进入WAITING;设置超时进入TIMED_WAITING;执行完毕进入TERMINATED。控制线程执行顺序可使用join()方法,notify()随机唤醒单个线程,notifyAll()唤醒所有等待线程。停止线程推荐使用interrupt()或标志位,避免使用
2025-07-29 15:16:40
1027
原创 Spring AOP 与事务管理进阶:传播行为原理与实战指南
AOP 的本质:通过代理模式和职责链模式实现方法拦截和增强事务传播的核心:定义嵌套事务的处理规则,确保数据一致性设计模式的力量:合理运用设计模式能构建出灵活且可扩展的框架这些知识不仅帮助我们更好地使用 Spring,更教会我们如何用设计模式解决复杂的技术问题。在实际项目中,正确选择事务传播行为和合理使用 AOP,是构建高可靠性系统的关键。
2025-07-27 14:25:47
584
原创 Elasticsearch深度分页解决方案
在Elasticsearch的实际应用中,高效的分页查询是开发者经常面临的挑战。当数据量达到百万甚至千万级别时,传统的分页方式会遭遇严重的性能瓶颈。和,从原理到实践,帮助您彻底掌握这两种技术。
2025-07-27 14:24:26
801
原创 基于DataX的数据同步实战
DataX作为阿里开源的数据同步利器,在批处理场景下表现出色。通过本文介绍的高频轮询和Canal集成方案,可以将其扩展到准实时同步场景。对于严格的实时性要求,建议结合Flink等流处理框架构建更完善的解决方案。
2025-07-27 14:23:37
338
原创 C#集合全面解析
在C#编程中,集合是存储和操作数据的重要工具。本文将详细介绍C#中最常用的哈希集合和字典类型,通过简单易懂的例子帮助理解它们的使用方法和底层原理。哈希是一种将任意长度的数据转换为固定长度数值的算法。在集合中,哈希用于快速定位数据位置。通俗理解:哈希就像是给每个东西分配一个唯一的"房间号码",把复杂的东西转换成简单的数字编号,方便快速找到它。想象一个图书管理员,图书馆里有100个房间(0-99号)。当有人给他一本书时,他需要决定把这本书放在哪个房间里。
2025-07-27 14:23:03
899
原创 Java面试八股文必备题合集
Java线程本质上是操作系统线程的一对一映射,通过pthread_create创建。保证线程安全需关注原子性(synchronized/atomic包)、可见性(volatile)和有序性(happens-before原则)。创建线程有4种方式:继承Thread类、实现Runnable/Callable接口、使用线程池。线程通信可通过共享变量(wait/notify)、Lock/Condition等机制实现。正确停止线程应采用协作式方法(标志位/interrupt/Future.cancel),避免使用已废
2025-07-27 14:01:08
1180
原创 Flink-反压-4.源码分析-浮动缓冲区和专属缓冲区
由BufferManager的releaseFloatingBuffers()调用。补充,BufferManager.notifyBufferAvailable()逐个回收所有的浮动缓冲区,调用。
2025-07-25 16:40:50
218
原创 Maven中的这些坑,99%的人不知道!
能用:会执行会用:理解生命周期、解决依赖冲突善用通过剔除无用依赖使用archetype生成标准化项目集成规范构建Maven的本质不是工具约束,而是架构纪律。当你不再被构建失败打断思绪,当你的依赖树如水晶般透明,才算真正驯服了这只“构建巨兽”。
2025-07-25 16:40:04
869
原创 Linux 基础修炼手册
在编辑一些重要的配置文件时,会出现没有权限更新的情况,这时要在命令前加上。建议线上服务都注册为 systemd 服务,这样你就能更优雅地管理它。这一串一共10个字符,第一位是判断是文件还是目录,后面每3位为一组。同理,默认显示文件前10行内容,由于不常使用,不多赘述。当您忘记某个命令的用法或者参数的意义时,你可以使用。第三组:其他人(others)的权限。编辑器对新手更友好,可以正常使用。第一组:所有者(owner)的权限。第二组:所属组(group)的权限。命令,操作时通常需要。**空格键 ** 或。
2025-07-25 16:38:45
681
原创 Java面试八股文合集(持续更新)
本文总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、多线程、JVM等核心内容。Java数据类型包括8种基本类型和引用类型;面向对象特性有封装、继承、多态;集合框架重点解析了HashMap底层实现(数组+链表/红黑树)和扩容机制;多线程部分详细介绍了线程状态、同步机制(synchronized、Lock)、线程池参数配置;JVM部分讲解了内存模型、垃圾回收等机制。文章还对比了StringBuilder/StringBuffer、重写/重载等常见面试考点,并提供了完整面试笔记获取方式,适合Java开
2025-07-25 15:04:56
1074
原创 Neo4j 演员-电影关系系统 (SpringBoot 实现)
下面是一个完整的 SpringBoot 项目,使用 Neo4j 数据库实现演员演电影的关系模型,采用三层架构,使用 MyBatis 进行 Neo4j 的查询操作(不使用 Spring Data Neo4j 的 ORM 风格)。
2025-07-24 14:36:34
248
原创 Redis核心知识点(突出重点+深度细化)
底层通过“内存存储+单线程+epoll”支撑超高并发;缓存问题需针对性解决(穿透用布隆过滤器/空值,击穿用锁/永不过期,雪崩用随机过期);持久化(RDB/AOF)和集群(主从/哨兵/Cluster)保障数据安全和水平扩展;事务与Lua脚本确保复杂操作的原子性。掌握这些知识点,可应对90%以上的Redis生产场景。
2025-07-24 14:36:03
230
原创 Spring Boot 中使用多线程时,线程数量过多可能导致内存溢出(OOM)
在 Spring Boot 中使用多线程时,线程数量过多可能导致内存溢出(OOM)的核心原因是:。以下是针对性的解决方案,涵盖线程池配置、资源管理、内存优化等关键环节。
2025-07-24 14:35:22
423
原创 字节跳动Java面试题、笔试题(含答案)
本文介绍了Java编程中的核心概念与常见面试题,涵盖了内存模型、类加载机制、反射、序列化、垃圾回收、泛型、异常处理、设计模式、集合框架和Lambda表达式等关键知识点。文章通过理论知识讲解和代码示例相结合的方式,深入浅出地解析了Java内存模型如何保证线程安全、双亲委派模型的工作原理、反射机制的应用场景、序列化的必要性、常见垃圾收集算法、泛型的优势、异常处理机制、单例与工厂模式的区别、HashMap与TreeMap的特性对比,以及Lambda表达式的使用价值。这些内容为Java开发者提供了系统的知识框架和实
2025-07-24 13:47:18
616
原创 LangChain4j-ChatModel、EmbeddingModel、ImageModel、ModerationModel、ScoringModel的区别?
所有模型接口在 LangChain4j 中保持。
2025-07-23 15:02:44
338
原创 LangChain4j-ChatModel、EmbeddingModel、ImageModel、ModerationModel、ScoringModel的区别?
所有模型接口在 LangChain4j 中保持。
2025-07-23 15:02:09
408
原创 LangChain4j-ChatMessage的种类以及作用
返回ToolExecutionResultMessage。在 LangChain4j 框架中,不同类型的消息(,每种消息类型有特定的作用和结构。AI生成ToolExecutionRequest。
2025-07-23 15:01:27
280
原创 Java高级开发高频面试题
文章摘要:本文系统总结了Java与MySQL核心技术要点,涵盖Java集合框架、并发编程(Synchronized、ThreadLocal、AQS、线程池)、JVM(内存模型、垃圾回收、调优)以及MySQL索引结构、事务特性(ACID实现原理)、锁机制(行锁/表锁/间隙锁)、性能优化等核心内容。重点解析了HashMap底层扩容机制、MVCC实现隔离性原理、BufferPool缓存策略等关键技术细节,并提供了实际调优经验,如JVM参数配置、索引失效场景、分库分表方案等。全文以面试问答形式组织,包含大量底层实现
2025-07-23 13:55:34
361
原创 你要的synchronized锁升级与降级这里都有
偏向锁是一种中间过渡锁,对于一个对象来说,一旦从偏向锁升级到轻量级锁,将不再经历偏向锁对于一个类来说,如果基于该类创建的对象频繁经历偏向锁切换,超过一定阈值,该类创建的对象将不允许使用偏向锁偏向锁状态下,在线程A已经退出同步块的情况下,线程B过来竞争锁,其实不存在锁竞争轻量级锁下,线程A还在同步块中,线程B自旋竞争锁,在自旋结束前,线程B获取到锁,这种情况下,尚且升级不到重量级锁为什么需要先撤销偏向锁?偏向锁的设计目标是单线程无竞争场景,一旦多线程竞争,JVM 需要回退到更通用的轻量级/重量级锁机制。
2025-07-22 14:32:21
613
原创 java中的异常
Java 允许开发者定义自己的异常类,通常继承自Exception或} }使用示例:if (value < 0) { throw new MyCustomException("值不能为负数");如果继承Exception实现自定义异常则需要手动处理异常,因为继承Exception实现的自定义异常数据受检异常,需要进行处理。如果继承RuntimeException实现的自定义异常,则不需要手动处理(提个问题:为什么RuntimeException明明继承了Exeption,为什么不需要处理?
2025-07-22 14:30:13
363
原创 Java高级开发面试题整理
本文摘要: 文章系统介绍了Java并发编程的核心知识点,包括:1)进程与线程的区别,线程安全实现方式(synchronized、Lock、原子类);2)线程生命周期及悲观锁/乐观锁机制;3) 线程池优势及CountDownLatch应用场景;4) 分布式锁实现方案(Redis、ZK);5) 阻塞队列特性及实现类对比。同时涵盖JVM内存结构(堆、栈、方法区)和Java内存模型(JMM)的原子性、可见性、有序性特性。最后提及volatile、ThreadLocal等关键技术,并提供了获取完整面试笔记的途径。
2025-07-22 13:57:05
1325
原创 Linux部署SSL证书教程
根据实际环境调整路径和配置。如果是云服务器(如 AWS、阿里云),部分平台提供证书托管服务,可直接绑定到负载均衡器或 CDN。将文件上传到服务器的安全目录(如。编辑站点配置文件(如。编辑虚拟主机文件(如。
2025-07-21 14:28:51
219
原创 Bun技术评估 - 15 Project
所以,bun提供了create指令,来提供更强大的项目初始化能力,简单而言,就是可以基于一个框架和模板,来创建bun项目(主要是前端项目)。除了bun内置的init和create命令之外,有一些开发框架,也提供了类似的功能,就是所谓的脚手架,它们可以创建基于这个框架的级别的应用程序的架构,包括了基本的目录结构和相关的安装依赖。本文探讨了bun开发项目相关的内容,包括如何初始化项目,package.json文件格式和内容,bun执行脚本,bunfig.toml文件的作用和配置项目,工作空间等等。
2025-07-21 14:28:16
917
原创 玩转LangChain:JSON文件加载全攻略,从入门到面试通关
想象一下,你有一个装满数据的百宝箱(JSON文件),和一个聪明绝顶的AI助手(LangChain)。如何让AI高效地"消化"这些数据?这就是我们今天要探索的终极奥义!JSON作为数据交换的瑞士军刀,在AI应用中无处不在:而LangChain的JSON加载器,就是打开这些宝藏的万能钥匙。让我们开始这段奇妙之旅吧!输出结果:测试结果:jq语法错误 🐞 错误信息: 💡 解决方案:使用jq play在线测试工具验
2025-07-21 14:27:46
427
原创 Java高级开发2025高频面试提问题目
【Java高级面试题摘要】 线程安全单例模式:双重检查锁定实现(volatile+同步块),确保多线程下只初始化一次实例。 JVM内存模型:堆(共享对象存储,GC回收区)与栈(线程私有,存局部变量和方法调用)。 弱引用应用:WeakReference允许对象被GC回收,适用于缓存场景(如LRU缓存)。 ConcurrentHashMap优化:JDK8采用CAS+Synchronized+红黑树分段锁,提升并发性能。 volatile关键字:保证变量可见性、禁止指令重排,适用于多线程共享状态标记(如标志位)。
2025-07-21 13:35:52
531
原创 go的ctx超时控制
go的ctx超时控制常用于服务的优雅退出,在释放资源时,加一个超时控制,避免服务迟迟未能退出。在使用时,要注意正确异步调用要控制超时的函数。
2025-07-20 14:21:32
137
原创 Java面试八股文核心版(持续更新)
GC 是 Garbage Collection 的缩写,即垃圾回收。它是 Java 虚拟机(JVM)自动管理内存的一种机制。在 Java 程序运行过程中,会不断创建对象,当这些对象不再被使用时,如果不进行回收,就会占用内存空间,导致内存泄漏等问题。GC 的作用就是自动识别并回收这些不再使用的对象所占用的内存,使程序能够高效地运行,而无需程序员手动管理内存。在 Java 中,线程是程序执行的最小单位。它可以执行一个任务或者一系列任务。
2025-07-20 13:47:01
1134
原创 高性能企业级消息中心架构实现与分享(二)
整体架构设计:分层架构、模块划分、接口设计核心功能实现:消息生产、消费、路由、重试机制关键技术细节:事务消息、模板引擎、智能路由性能优化实践:批量处理、连接池、线程池调优通过这些实现,我们构建了一个高性能、高可靠的消息中心系统。
2025-07-18 14:44:12
312
原创 Restful Api接口对接Java后台返回实体格式封装JsonWrite
提示:上面的定义的JsonWrite类中也有其他的辅助类:StatusCode(返回状态码枚举)
2025-07-18 14:43:34
860
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人