- 博客(772)
- 收藏
- 关注
原创 SaaS平台的前世今生
SaaS是一种通过互联网提供软件服务的模式,用户无需在本地安装软件,只需通过浏览器即可访问和使用软件应用。与传统的本地部署软件相比,SaaS平台具有较低的前期成本、易于部署和升级、可根据需求灵活扩展或缩减服务等优势。例如,常见的办公自动化软件、客户关系管理系统(CRM)、企业资源规划系统(ERP)等都可以通过SaaS模式提供服务。三翼鸟数字化技术平台-定制平台开发。
2025-09-18 17:24:13
375
原创 2025最新JAVA面试八股文,万字长文!
【Java核心知识点总结】 线程/程序/进程:程序是静态代码,进程是程序的动态执行实例,线程是更小的执行单位,共享进程资源,轻量高效。 集合框架 ArrayList:基于动态数组,自动扩容,线程不安全,支持快速随机访问。 HashMap vs Hashtable:HashMap非线程安全、允许null键值,Hashtable线程安全、性能较低。 JVM核心 内存模型:堆(对象实例)、栈(线程私有)、方法区(类信息)。 GC机制:分代回收(新生代/老年代),算法包括标记-复制、标记-整理。 类加载:加载→验证
2025-09-18 17:23:33
374
原创 Java面试大全八股文(完整版)
本文总结了Java核心面试知识点,涵盖基础、集合、并发、JVM、框架等方面内容。主要内容包括: 集合体系:ArrayList基于动态数组,LinkedList基于链表,两者在随机访问和增删操作上各有优势。HashMap采用数组+链表+红黑树结构解决哈希冲突。 **线程相关
2025-09-18 17:16:53
310
原创 Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
域名请求多了一个不该存在的斜杠。将:9900/解析成了路径的一部分,导致路径变为。错误的路径无法匹配任何路由规则,返回false。因为没有找到匹配的路由,所以无法返回。请求被鉴于请求没有找到任何业务 Handler,Spring Boot 默认配置中的 SimpleUrlHandlerMapping会将请求交给 ResourceWebHandler处理,期望它能找到静态资源。然而,在静态资源目录下,自然找不到这个文件。同样无法处理该请求,最终导致抛出错误。
2025-09-17 15:24:34
649
原创 服务器上如何搭建jenkins 服务CI/CD[特殊字符][特殊字符]
Jenkins 作为一款开源的自动化服务器,广泛应用于 CI/CD 管道的构建与管理。它不仅支持多种编程语言和工具链,还拥有丰富的插件生态系统,能够满足不同团队的需求。
2025-09-17 15:23:15
232
原创 2026Java最新面试八股文(完整版)
Java多线程面试核心要点摘要: 线程基础:守护线程(Daemon)在用户线程结束后自动终止,用户线程必须显式结束;线程与进程区别在于进程是资源分配单位,线程是CPU调度单位。 线程同步: 使用synchronized实现同步方法和同步块 volatile保证内存可见性和禁止指令重排 可重入锁(ReentrantLock)提供更灵活的锁机制 乐观锁(CAS)与悲观锁的选择 并发工具: Executor框架管理线程池避免频繁创建销毁线程 阻塞队列(BlockingQueue)实现生产者-消费者模式 Concu
2025-09-17 15:21:11
411
原创 Java面试八股文2026最新版
本文摘要: Java并发安全三大特性:原子性、可见性、有序性;volatile保证后两者。单例模式需volatile防止指令重排。线程创建方式有继承Thread、实现Runnable/Callable接口。ThreadLocal通过线程隔离保证安全但需防内存泄漏。CAS通过乐观锁保证原子性但存在ABA问题。JUC辅助类包括CountDownLatch等。JVM内存分区、垃圾回收算法及典型回收器G1。类加载双亲委派机制防止核心类被篡改。MySQL索引类型、事务特性及隔离级别解决并发问题。Spring事务原理、
2025-09-17 15:15:37
616
原创 TypeScript设计模式:迭代器模式
迭代器模式的核心思想是将集合的遍历逻辑从集合本身分离出来,交给一个独立的迭代器对象。单一职责:集合负责存储数据,迭代器负责遍历逻辑。灵活性:支持多种遍历方式(如正序、倒序、过滤等)。封装性:隐藏集合的内部实现,客户端只需关注如何使用迭代器。在 TypeScript 中,迭代器模式可以通过内置的Iterable和Iterator接口实现,也可以通过自定义方式实现更复杂的逻辑。迭代器模式通过分离遍历逻辑,提供灵活的集合访问方式。
2025-09-16 15:04:06
540
原创 Javer 学 c++(十三):引用篇
结论:c++中推荐使用引用技术,因为语法方便。引用的本质是指针常量,但是所有的指针操作编译器都帮我们做了。作用:函数传参时,可以利用引用让形参修饰实参(也就是通过形参修改实参)在函数形参列表中,可以加 const 修饰形参,防止形参改变实参。优点:之前形参修饰实参只能通过指针来进行,引用可以简化指针。作用:给变量起别名 语法:数据类型 &别名 = 原名。引用的本质:在 c++ 内部实现是一个指针常量。只要用到引用,编译器就会自动进行解引用的操作。作用:主要用来修饰形参,防止误操作。
2025-09-16 15:03:30
123
原创 Java面试常见八股文整理(2025年持续更新)
本文总结了Java开发面试中的核心技术要点,涵盖以下方面: 沟通表达:清晰介绍个人经历、项目职责和职业规划 Java基础: 集合框架分类及应用场景 线程创建方式及区别 线程安全问题解决方案 Spring IOC依赖注入方式 数据库与SQL: SQL注入原理及防范 MyBatis中#与$的区别 数据库范式理论 分布式系统: CAP定理与BASE理论 分布式事务解决方案 微服务组件及治理策略 中间件: Redis集群与高可用机制 MQ消息可靠性保障 分布式调度框架对比 系统设计: 高可用部署方案 版本管理与投产
2025-09-16 15:02:45
1011
原创 Java面试八股题(100道基础篇)
Java核心知识摘要:本文系统梳理了Java编程的核心知识点,包括基础概念、面向对象特性、集合框架、并发编程等重要内容。1. 基础篇:重点讲解JDK与JRE区别、面向对象三大特性(封装继承多态)、接口与抽象类差异、泛型机制及类型擦除、四种访问控制符、final/static关键字的特殊用法等。2. 集合框架:深入分析HashMap底层实现(数组+链表/红黑树)、动态扩容机制、线程安全问题;对比Hashtable/TreeMap/HashSet特性;解析ArrayList与LinkedList的核心差异及适用
2025-09-16 14:36:49
1282
原创 SQL调优全攻略:从原理到实战
在当今数据驱动的时代,数据库性能直接影响着企业的运营效率和用户体验。作为最流行的开源关系型数据库之一,MySQL承载着无数关键业务系统的数据存储与查询需求。然而,随着数据量的增长和业务复杂度的提升,SQL查询性能问题逐渐成为许多开发者面临的共同挑战。你是否遇到过这些场景?关键报表查询突然从秒级响应变成分钟级等待促销活动期间数据库服务器CPU持续飙升至警戒线简单的分页查询随着数据增长变得越来越慢明明已经添加了索引,查询性能却没有明显改善这些问题背后往往隐藏着SQL执行效率低下的隐患。
2025-09-15 14:34:17
853
原创 TransmittableThreadLocal:穿透线程边界的上下文传递艺术
在并发编程领域,线程上下文传递如同精密机械中的润滑油,既要确保各部件独立运转,又要在需要协作时实现精准衔接。相信Java开发者们都熟悉ThreadLocal,ThreadLocal作为经典的线程封闭解决方案,却始终面临着跨线程传递的难题。当这个难题遭遇现代高并发场景中的线程池技术时,矛盾变得愈发尖锐。TransmittableThreadLocal(TTL)正是在这样的背景下应运而生,它用精妙的设计哲学重新定义了线程上下文传递的边界。
2025-09-15 14:33:44
671
原创 Java初级面试题整理 (147题)。
Java核心面试要点摘要 本文整理了Java核心面试知识点,包含以下主要内容: JVM基础:Java虚拟机概念、JDK与JRE区别、字节码执行原理 面向对象特性:封装、继承、多态的实现原理及优势,方法重载与重写规则 数据类型:8种基本类型及其包装类
2025-09-15 14:33:16
1011
原创 java 高级笔试题_JAVA高级工程师笔试题及答案
这篇文章总结了Java高级工程师常见的面试题及答案,内容涵盖基础语法、集合框架、JVM原理、异常处理、多线程、Web开发等多个方面。主要包括:抽象类与接口的区别、finally执行时机、ArrayList/Vector/LinkedList特性、JVM类加载机制、String与StringBuffer差异、final/finally/finalize区别、sleep与wait差异、GC机制、Servlet架构、JDBC连接过程等核心知识点。这些问题全面考察了Java开发者的技术深度和广度,是准备Java高级
2025-09-15 14:13:59
967
原创 AWS IoT Core 成本优化实战:从 PoC 到生产的省钱之旅
从最初基于 HTTP 轮询的简陋设计,到拥抱 VPC、EKS 和 Global Accelerator 构建起的全球化、高可用的 MQTT 网络;从“野蛮生长”带来的高昂账单,到通过“三大战役”对成本进行精细化控制——这趟旅程不仅是一次技术架构的升级,更是一场关于“取舍”与“平衡”的深度实践。安全与隔离是架构的基石:在系统设计之初,就应通过 VPC 等手段建立起稳固的“护城河”,这不仅关乎安全,也为后续的性能优化和成本控制打下基础。善用云的原生能力。
2025-09-14 15:13:56
959
原创 Java 异常 - Java 异常处理规范
Java 是一种强类型语言,对异常的处理有严格要求。Java 编译器要求:👉凡是可能抛出受检异常(Checked Exception)的代码,要么捕获它(catch),要么声明它会抛出(specify throws)。这就叫做:🧠(捕获或声明要求)✔️ 编译时必须捕获或声明。
2025-09-14 15:12:50
287
原创 Java笔试题大全(附带答案)
本文是一套Java基础与Web开发的选择题集,涵盖了语法特性、异常处理、Servlet、JSP、JDBC、MVC设计模式、垃圾回收机制等核心知识点。题目涉及抽象方法声明、静态变量作用域、方法重写规则、Servlet生命周期、JSP指令、容器布局、SQL语句分类等内容,包含单选题和多选题两种题型,并附有详细解析。重点考察了面向对象编程、Web组件使用、线程处理、数据类型转换等实际开发中的常见问题,适合检验Java和Web开发的基础知识掌握程度。
2025-09-14 15:11:58
879
原创 Java高级常见面试题总结
本文主要介绍了多线程编程的相关知识,包括多线程的优势、可能带来的问题、线程安全、创建线程的方法以及线程池等核心内容。文章首先阐述了多线程在提高系统并发能力和性能方面的作用,尤其是在多核CPU环境下;然后分析了线程安全与不安全的概念,以及单核CPU上线程运行的效率问题;接着详细讲解了线程创建、线程池使用和参数设置等关键技术;最后比较了HashMap与Hashtable、ArrayList与LinkedList等重要数据结构的区别。文章内容涵盖多线程编程的多个关键知识点,对理解并发编程具有重要参考价值。
2025-09-14 15:08:10
799
原创 从 java8 升级 java17 的调整
从jdk8一直坚挺的使用过来,用了很多年了也已经非常习惯和了解了。为什么我现在要升级jdk17呢?由于连带的框架的升级,,到,所需要的版本也在不断的限制,放弃了原有的jdk8。jdk17引入了许多实用的新特性,使代码更简洁、易读、易维护. 在性能上也有显著的改善。使用了多年的java8,在面对不断更新的jdk和springboot,为了更好的适配新的AI,我们还是尽量选择拥抱新技术,当然历史项目的沉重包袱确实很难一下子卸下,需要慢慢过渡。新技术的使用最好还是应用在新项目上的尝试和体验。
2025-09-11 14:34:39
318
原创 Java初级面试题整理 (147题)。
Java语言特点包括简单易学、面向对象、平台无关性、可靠性、安全性、多线程支持和网络编程便利。其核心机制包括字节码和JVM实现跨平台运行,采用Unicode编码。面向对象三大特性是封装、继承和多态,与面向过程相比更易维护但性能较低。数据类型分为8种基本类型和引用类型,自动装箱拆箱机制优化了基本类型操作。集合框架中List、Set、Map各有特点,HashMap非线程安全。反射机制允许运行时获取类信息,序列化用于对象持久化传输。并发编程中需区分并行与并发的概念。关键语法涉及final/static用法、重载与
2025-09-11 14:32:32
829
原创 200个高级Java面试题汇总
本文摘要: 本文介绍了Java编程中的10个核心概念: 可变参数的使用方法 断言(Assertion)的用途和使用场景 垃圾回收机制及其实例 初始化数据块的两种类型(静态/实例) 正则表达式和字符串令牌化 日期操作和格式化 Calendar类的使用方法 数字格式化处理 每个概念都配有代码示例说明 重点强调了这些特性在实际开发中的正确使用方式 这些知识点涵盖了Java基础语法、内存管理、日期处理等重要内容,是Java开发者需要掌握的核心技术。
2025-09-11 14:29:01
1148
原创 用 Python UTCP 直调 HTTP、CLI、MCP……
近年来,AI 需要调用外部工具越来越普遍。传统的 MCP(Model Context Protocol)方式往往需搭建中间层代理,既臃肿又拖延。这是官方 Python 实现,GitHub 上有近 440 颗⭐,采用 MPL-2.0 开源许可 (你也可以用 JSON 配置文件初始化客户端,这些逻辑已现代化清晰划分 (,不绕道中间代理,延迟低、结构清晰。
2025-09-10 15:01:49
538
原创 MySQL 中文拼音排序问题
在做通讯录、人员列表等功能时,经常会碰到的问题。我们在这里可以用一个简单的例子进行说明先创建测试数据下面,我们希望查出数据,并且按照很简单,这样就行了可是,执行后却发现,结果似乎并不符合预期这些排序是,而不是拼音顺序。那么,我怎么实现呢?
2025-09-10 15:01:17
290
原创 Java高级面试题整理(附答案)
Java面试核心问题解析 wait/notify机制 为什么在Object类而非Thread中声明? 作为线程通信机制,需要确保每个对象可用 锁机制与线程通信是两个独立领域 基于Hoare的监视器思想设计 不支持的语法特性 多重继承:避免菱形继承问题,简化设计 运算符重载:保持代码清晰,避免编程错误 String不可变:确保线程安全,适合作为Map键 关键实现要点 单例模式:推荐枚举实现,避免双重检查锁定问题 死锁处理:保证锁的获取顺序一致 序列化:注意transient字段和serialVersionUI
2025-09-10 15:00:44
1064
原创 最新java笔试题目(含答案55题)
本文摘要:这是一份Java核心面试题集,包含50道选择题和5道简答题,涵盖面向对象、继承封装、异常处理、集合框架、JDBC等核心知识点。选择题考察了封装继承特性(如题目1)、super/this用法(题目3)、final关键字(题目8)、集合类特性(题目34)等;简答题涉及String与StringBuffer区别、抽象类接口比较、sleep与wait差异等高频考点。题目设计注重考察Java编程基础知识和实际应用能力,如题目2验证继承访问规则,题目23测试try-catch-finally执行顺序等。整套试
2025-09-10 14:57:07
898
原创 Java实现墨水屏点阵图
点阵图是由称作像素(图片元素)的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。点阵图的格式包括PNG、TIFF、BMP、JPEG等,通常在放大时会显得参差不齐,但从远处观看时颜色和形状又显得是连续的可以使用PCToLCD工具熟悉点阵图。
2025-09-09 14:37:37
158
原创 10道经典java面试题_实习生必问(java基础)
本文总结了Java常见面试题,主要包含:1)final、finally、finalize的区别;2)HashMap与Hashtable的区别;3)String对象创建;4)sleep()与wait()的区别;5)short类型运算问题;6)重载(Overload)与重写(Override)的区别;7)Set集合元素去重方法;8)error与exception的区别;9)常见运行时异常;10)equals()与==的区别。这些知识点涵盖了Java基础、集合、多线程等核心概念,是面试中的高频考点。
2025-09-09 14:36:52
1129
原创 Java高级面试题整理(附答案)
Java高级面试问题摘要 文章总结了10个常见的Java高级面试问题,涵盖核心Java概念: wait/notify机制:解释了为什么这些方法定义在Object类而非Thread类中,涉及线程通信机制和对象监视器概念。 多重继承限制:讨论了钻石继承问题和设计复杂性,指出接口单继承是更清晰的替代方案。 运算符重载:从JVM复杂度、避免错误和工具支持等角度分析Java不支持的原因。 String不可变性:详细说明了字符串池、线程安全、哈希缓存和安全考量等关键原因。 密码存储:比较char[]与String的安全
2025-09-09 14:29:04
1007
原创 SpringBoot与Quartz整合,实现订单自动取消功能
虽然 Spring Boot 自带的 @Scheduled 注解对于简单的、单机、内存中的定时任务非常方便,但 Quartz 提供了几个 @Scheduled 无法比拟的关键优势,这些优势对于构建一个健壮、可管理、生产就绪的定时任务系统至关重要。
2025-09-08 14:39:32
418
原创 Java已死?别慌,看我如何用Java手写一个Qwen Code Agent,拯救Java
从通义灵码、CodeBuddy等编程助手,到Cursor、Trae等AI编程IDE,再到Claude Code、Gemini Cli、Qwen Code等命令行工具,AI编程Agent这个赛道一直很热闹,那么这些AI Agent是如何实现的呢?然后定义Agent需要的工具,在AgentTools中可以定义多个工具,@Tool和@ToolParam都是我自己定义的,并没有用Spring AI。这块代码比较多,贴在文章里也不方便阅读,这里就只给出实现思路,大家想要完整代码可以加我微信领取,微信在文末。
2025-09-08 14:39:01
852
原创 面试题总结 —— JAVA高级工程师
SpringBoot核心知识点摘要 SpringBoot简化了Spring开发,提供版本锁定、起步依赖、默认配置和内置Tomcat等特性。其自动装配基于@SpringBootApplication注解,通过读取spring.factories文件实现组件加载。核心注解组合了配置、自动装配和组件扫描功能。Starter机制简化依赖管理,自动导入和配置相关组件。配置加载支持多种方式,如配置文件、环境变量等,bootstrap.yml优先于application.yml加载。读取配置推荐@Configuratio
2025-09-08 14:38:18
1017
原创 Java基础面试总结(八股)
本文摘要:文章系统梳理了Java核心知识点,包括方法重载与重写的区别、访问修饰符作用域、this关键字用法、抽象类与接口差异、变量类型区别等基础概念。重点解析了static/final关键字、equals与hashCode关系、对象创建方式、字符串处理及异常机制,并对比了BIO/NIO/AIO的特点。同时涵盖了序列化原理、IO流分类及经典面试题剖析,为Java开发者提供了全面的技术复习指南。
2025-09-08 14:33:31
1120
原创 SpringBoot 实现支持多个微信小程序的登录
在实际业务场景中,需要一个后台同时支持多个微信小程序的登录。例如,企业有多个不同业务的小程序,但希望统一在同一个后台系统里进行用户认证和数据处理。这时候,我们就需要一个灵活的方式来管理多个小程序的appid和secret,并根据前端传递的appid与code获取对应的openid实现登录。本文将基于SDK 实现一个通用的多小程序登录模块。
2025-09-07 16:01:28
302
原创 [Golang 修仙之路] 场景题:红包系统设计
所谓的SET化,或者说硬件资源隔离,就是给每个服务都配备独立的完整的硬件资源(数据库、中间件等),让每个服务可以独立部署。通过部署多套服务,来缓解上述2个问题。正因为如此,红包系统水平扩展比较容易,因为可以让一台机器处理一定范围的红包,不同红包之间的状态不会互相影响。红包状态流转:已创建 -- 已支付 -- 已生效 -- 已抢完 -- 已过期。红包系统流量特点:整体并发流量巨大,对于单体红包流量不是很大。两个大的方向:实时计算 和 预先生成。
2025-09-07 16:00:54
248
原创 Java面试八股文之就业版(2025)
Java集合框架核心知识点摘要 Set实现类 HashSet:基于HashMap实现,元素无序且不可重复,底层使用哈希表存储 LinkedHashSet:继承HashSet,维护插入顺序,基于LinkedHashMap实现 TreeSet:基于TreeMap实现,元素自动排序,可自定义Comparator HashMap核心特性 JDK1.7:数组+链表(头插法) JDK1.8优化:数组+链表/红黑树(尾插法),链表长度>8转红黑树,<6转回链表 线程不安全问题:并发put可能导致数据覆盖/循环
2025-09-07 16:00:01
1072
原创 2025Java的100道面试题(就业必备)
Java集合框架核心面试题摘要 本文总结了Java集合框架中的关键知识点,主要包括: Iterator与ListIterator:Iterator单向遍历,ListIterator双向遍历并支持修改 HashMap与Hashtable:HashMap非同步、允许null值,Hashtable同步;HashMap采用快速失败机制 快速失败机制:迭代时检测并发修改并抛出ConcurrentModificationException 同步方案:使用Collections.synchronizedMap()使Has
2025-09-07 15:51:50
1068
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人