- 博客(331)
- 资源 (13)
- 收藏
- 关注
原创 element问题总结
1.table行样式row-style 单元样式cell-style <el-table :data="tableData" :row-style="tableRowStyle" border> <el-table-column prop="shoudlPay" label="应收费" align="center"></el-table-column> </el-table>// 方法tableRowStyle({
2021-09-13 17:39:38
1759
原创 echarts问题总结
1.点击事件简单应用const _this = this// vue中参数传递this.chartOne = echarts.init(document.getElementById('chartOne'));this.chartTow.setOption(optionOne); //设置optionthis.chartTow.getZr().on('click', (params) => {// getZr() if (!params.target) { // 点击在
2021-08-04 17:53:33
2013
1
原创 CSS问题总结
css设置超出宽度文本显示/* 单行超出*/.pintr { width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }/* 多行超出超出 -webkit-line-clamp: 3; 行数*/ .pintr { overflow: hidden; text-overflow: ellipsis; display: -webkit-bo
2021-07-23 10:46:57
1529
1
原创 Database(数据库)和 Schema(模式)
Database(数据库)和 Schema(模式)是两个最基础却又极易被混淆的核心概念。对于初学者甚至有一定经验的开发者来说,理清这两者的关系,是构建稳健数据架构的第一步。简单来说,如果把数据库比作一座存放海量数据的“大仓库”,那么 Schema 就是这座仓库内部的“建筑蓝图”与“楼层分区”。
2026-06-11 11:22:35
29
原创 分布系统CAP 定理(也称布鲁尔定理)
2000 年,Eric Brewer 提出了 CAP 猜想(后被证明为定理)。一致性(Consistency, C):所有节点在同一时刻看到的数据是完全相同的。即更新操作成功并返回客户端后,后续的读操作必须能读到这个最新值。可用性(Availability, A):每个请求都能在合理的时间内收到非错误的响应。即使部分节点出现故障,系统也能继续处理请求,不会超时或拒绝服务。分区容错性(Partition Tolerance, P):当网络发生异常导致节点间无法通信(即网络分区)时,系统仍能继续运行。
2026-06-09 15:19:27
360
原创 Java线程同步机制
并发编程的本质是在“安全性”与“性能”之间寻找平衡。volatile是轻量级的信使,是坚固的盾牌,而Lock则是精密的瑞士军刀。在实际工程中,应遵循“不可变对象 > 原子类/并发容器 > synchronized > Lock”的优先级原则,避免过度设计,用最简洁的代码构建最稳健的并发系统。
2026-06-08 15:02:10
229
原创 Java单点登录
单点登录(Single Sign-On, SSO)是指在多个相互信任的独立应用系统中,用户只需进行一次身份认证,即可访问所有授权的系统资源,无需重复登录。同时支持:用户在任意一个系统中退出登录,所有关联系统都会自动注销会话。
2026-05-25 11:03:20
337
原创 Java反编译
Java源代码(.java)通过javac编译后生成字节码文件(.class),JAR包本质是.class文件的压缩包。反编译即通过专用工具,将二进制字节码逆向解析为接近原始编写逻辑的Java可读代码。反编译是Java开发的实用技能,本文覆盖从IDE集成、图形化工具到命令行批量处理的全场景方案,新手可快速上手。IDE(IDEA/Eclipse)内置反编译最便捷,适合日常调试;JD-GUI独立直观,适合临时查看与导出少量源码;CFR命令行支持批量与高版本Java,附官方下载链接;
2026-05-14 10:00:11
444
原创 MCP服务
MCP服务(Model Context Protocol,模型上下文协议)是Anthropic公司2024年底开源的开放标准,用来标准化大模型(LLM)与外部工具、数据、API的连接,被称为“AI界的USB‑C接口”。前台(浏览器)不能直接原生调用 MCP 服务必须经过后端中转(Java 后端充当 MCP 客户端)你现在是 Java 技术栈,直接用「Java后端代理」是最优解。
2026-04-25 13:31:28
482
原创 配置SSH免密
客户端生成公私钥对:客户端执行ssh-keygen命令生成唯一的公私钥对。私钥保存在客户端本地,公钥将被发送到服务端。公钥分发至服务端:通过或手动方式将公钥复制到服务端的文件。这相当于服务端记录下了客户端的“身份标识”。客户端发起连接请求:客户端向服务端发起 SSH 连接请求。服务端发起挑战:服务端收到请求后,会生成一个随机字符串,作为挑战信息发送给客户端。客户端回应挑战:客户端收到挑战信息后,使用本地的私钥对这个随机字符串进行加密,生成签名,并将签名和公钥一起发送回服务端。
2026-03-19 17:20:13
455
1
原创 maven 插件
功能 :负责Java源代码的编译作用 :在编译阶段执行,负责将 .java 源文件编译成 .class 字节码文件将 .java 源文件编译成 .class 字节码文件配置编译版本(如Java 8)、编码格式(如UTF-8)等编译参数确保代码在编译时符合指定的Java版本要求执行阶段 : compile 阶段(在构建过程中较早执行)核心价值是 Java 项目编译的基础,最关键的配置是「Java 版本」和「编码」,必须显式配置以避免兼容问题;版本配置:Java 8 用。
2026-03-18 18:04:07
536
原创 Maven build配置
build核心作用是定义 Maven 构建规则,最关键的是<plugins>(插件配置)和(版本统一);新手优先掌握「编译插件(指定 Java 版本)」「打包插件(自定义 jar 名/主类)」,解决 80% 的构建问题;resource节点用于管理资源文件,开启可替换资源中的 Maven 变量;多模块项目务必用统一插件版本,避免版本冲突。
2026-03-18 17:15:49
377
原创 Maven 依赖分离
普通项目:推荐方案一,结构清晰,运行简单。:推荐使用layers分层模式,优化镜像构建速度。注意:分离后部署时,务必保证lib目录和主 Jar 的相对位置与配置一致。是 Maven 中处理依赖最核心的插件,提供了复制、解压、解析、分析项目依赖等功能,是实现依赖分离、离线构建、依赖冲突排查的关键工具。以下是该插件的全面配置详解,结合核心Goal(目标)和实际场景示例说明。
2026-03-17 20:53:14
516
原创 乐观锁和悲观锁
秒杀、库存、订单→ 高冲突 →悲观锁 / 分布式锁用户信息、配置、日志→ 低冲突 →乐观锁分布式系统→ 基本都用乐观锁 + 重试如果你的业务是“读多写少”或者“冲突概率低”,请用乐观锁(版本号/CAS),性能好,用户体验流畅。如果你的业务是“写多读少”且“冲突极其频繁”,或者不允许重试失败(必须强一致且快速反馈),请用悲观锁(数据库行锁/synchronized),虽然慢但稳。现代互联网架构趋势:尽量使用乐观锁配合消息队列削峰或Redis 原子操作。
2026-03-06 14:46:07
364
原创 微服务的高并发访问是通过什么实现
分流:集群+负载均衡,把流量分给多实例;缓存:Redis+ES,把查询压力从数据库转移到缓存;异步:MQ削峰,把突刺流量变成平稳流量;保护:熔断/降级/限流,防止系统被压垮;打散:读写分离+分库分表,把数据库压力分散。这套方案能支撑从100QPS到10万+QPS的场景,也是阿里、京东、美团等大厂高并发架构的核心逻辑—— 理解并落地这8个核心点,你就能搞定绝大多数业务的高并发需求。
2026-03-06 09:48:39
450
原创 实时数仓与宽表同步
实时数仓是指数据从产生、采集、清洗加工,到最终可供查询分析的全链路延迟控制在秒级甚至毫秒级的数据仓库架构,彻底打破传统离线数仓的时间壁垒,实现数据“产生即可用”。实时数仓的核心是低延迟、高可用、一致性,实时宽表则是优化OLAP查询的关键手段。从经典的Canal+Kafka+Flink架构,到现代Flink CDC+MPP数据库的极简方案,技术演进的核心方向是减少冗余组件、降低运维成本、提升同步效率。
2026-03-06 09:42:32
473
原创 Java工程师快速学会Kotlin
全量学习内容按“基础→中级→进阶→框架整合”排序,优先攻克★★★★★和★★★★的高频知识点,冷门内容可按需补充;每个知识点必须配套“改写 Java 代码”的实战,拒绝纯理论学习;核心目标不是“背完所有语法”,而是“用 Kotlin 解决 Java 开发中的实际问题”,最终实现开发效率提升 30%~50%。这套清单覆盖了 Kotlin 从入门到进阶的所有核心内容,你可以按天分配任务,完成一个打勾一个,确保无遗漏,且全程贴合 Java 工程师的认知习惯,学习成本最低、收益最高。
2026-03-04 14:47:16
358
原创 第三方图标库
要最全、最稳:选要现代、轻量、免费:选要国内、可定制:选要一站式、不用装多个包:选Iconify一个工具/库搞定所有图标需求,不用在多个图标库之间切换、适配;仅需安装 Iconify 这一个依赖,替代原本要装的 Font Awesome、Remix 等多个包,减少项目依赖和体积;核心优势:对新手友好,不用记不同库的使用方式,也不用处理多库冲突,开箱即用。Iconify 是前端图标解决方案的“终极形态”,尤其适合新手和多图标需求的项目;一站式、轻量化、语法统一,不用在多个图标库之间切换适配;
2026-03-03 16:50:33
1129
原创 MyBatis和MyBatis-plus
这是开发者直接调用的接口,不需要写实现类,MyBatis 会动态生成代理。// 根据 ID 查询用户// 插入用户// 动态查询示例MyBatis 是 Java 生态中最灵活、最可控的持久层解决方案。虽然它需要开发者编写更多的 SQL,但这换来了对性能的极致掌控和对复杂业务逻辑的完美支持。如果你在中国从事 Java 后端开发,精通 MyBatis(及其增强版 MyBatis-Plus)是必备技能。结合你刚才问的和Trae。
2026-03-02 22:24:46
911
原创 Java 文件上传下载
原生Servlet:依赖解析文件,需手动处理请求/响应流,无框架依赖,适合基础场景。Spring Boot Void版:通过直接写入文件流,下载接口无返回值,是最常用的简化方式。Spring Boot 返回值版:使用封装文件资源,所有接口有明确返回值,符合Spring最佳实践,便于统一管理。核心共性:都需要处理文件存储路径、唯一文件名生成、响应头设置(解决下载乱码)、文件大小限制和异常捕获。
2026-02-27 17:15:26
347
原创 Java的JIT、AOT与GraalVM解析
JIT与AOT是Java的两种互补编译方式:JIT主打跨平台和峰值性能,覆盖常规场景;AOT主打启动速度和低内存占用,适配云原生/嵌入式场景;GraalVM是Java实现AOT的核心工具,其Native Image功能是编译原生可执行文件的关键,且核心组件(Graal编译器)已集成到标准JDK 17/21;开发者无需纠结“二选一”:常规应用用JIT(标准JDK)即可,追求极致启动性能则选择GraalVM AOT编译,开发阶段用JIT、生产阶段用AOT是最优实践。
2026-02-27 15:27:26
871
原创 Kubernetes (k8s) 环境中,Docker 容器、Nginx 服务如何协作
Docker 是基础:将 Nginx/后端服务打包成镜像,提供隔离的运行环境,通过卷挂载实现数据持久化;Nginx 是核心网关:接收用户请求,按配置转发给后端服务,处理静态资源、负载均衡和响应封装;K8s 是编排管理者:通过 Service 实现服务发现、Ingress 暴露入口、Pod 调度和存储管理,打通所有组件的网络和数据通道。用户请求 → K8s Ingress → Nginx 容器 → 后端服务容器 → 反向返回,三者各司其职,共同完成数据的接收、转发、处理和返回。
2026-02-27 13:58:42
281
原创 前端动画库
快速实现基础动画:优先选(纯CSS),零成本上手;复杂/高性能动画:选GSAP,覆盖所有场景,是专业前端的首选;React项目:选,API贴合React开发习惯;还原设计师动画:选Lottie,直接复用AE制作的动画;轻量级自定义动画:选Anime.js,体积小且灵活。选择动画库的核心原则:优先匹配技术栈(如React用Framer Motion),其次看动画复杂度(简单用Animate.css,复杂用GSAP),最后考虑性能和体积。
2026-02-27 10:23:28
339
原创 SpringDoc和Swagger
层级关系:OpenAPI规范是底层标准,Swagger是该规范的早期品牌/工具集,SpringDoc是适配OpenAPI 3的Spring Boot新一代工具库;核心区别:SpringDoc对应OpenAPI 3,兼容新版Spring Boot;Springfox(Swagger 2)对应旧版规范,已基本停更;使用建议:新项目直接用SpringDoc,老项目可逐步迁移到SpringDoc以适配新版本。
2026-02-27 09:54:18
1134
原创 静态类型和强类型
静态类型≠\neq强类型。你可以有静态弱类型(C/C++)。你可以有动态强类型静态/动态解决的是“何时发现错误”的问题。强/弱解决的是“类型转换是否自动/随意”的问题。如果你追求代码的健壮性和可维护性,通常建议寻找静态且强类型的语言(如 Java, Rust, TypeScript, Go)。
2026-02-26 16:44:49
911
原创 Composition API 和 Options API
优点:逻辑封装成独立函数,命名可控、来源清晰、无冲突;示例(封装计数器逻辑为组合函数):// composables/useCounter.js// 暴露需要的状态/方法// 组件中使用// 按需引入,命名清晰</script>核心差异:Options API 按“选项”拆分代码,逻辑碎片化;Composition API 按“功能”组合代码,逻辑内聚,复用更优雅;开发体验:Composition API 无this陷阱,TS 支持完善,是 Vue3 主推的写法;选型建议。
2026-02-25 14:24:44
669
原创 Pinia 和 Vuex
核心差异:Pinia 移除了 Vuex 的mutationsmodulesnamespaced等冗余概念,API 更简洁,贴合 Vue3 生态;开发体验:Pinia 对 TS 支持更好,无同步/异步限制,模块化更自然;官方态度:Pinia 是 Vue 官方推荐的新一代状态管理库,Vuex 已进入维护模式,无新功能迭代。
2026-02-25 14:21:16
603
原创 前端UI框架
常用框架核心特点:以Vue技术栈为主(Element Plus、Ant Design Vue等),生态成熟、社区活跃,适配企业级中后台、移动端等主流开发场景。其他框架适用场景:多基于jQuery/React等技术栈(如LayUI、Material-UI),或为工具型导航/小众框架,适用于特定技术栈或个性化需求。选型建议:Vue项目优先选「常用」分类下的框架,非Vue项目可根据技术栈(React/jQuery)从「其他」分类中匹配。
2026-02-24 15:01:56
636
原创 Springboot - druid 连接池
配置方式:Spring Boot项目优先使用,通过配置;纯Java项目手动初始化。核心参数:重点关注maxActive(最大连接数)和(空闲检测),平衡性能与连接可用性。核心优势:Druid的监控面板是核心亮点,能直观查看连接池状态和SQL执行情况,便于生产环境排查问题。
2026-02-13 14:49:02
896
1
原创 mysql数据库存储引擎
InnoDB 是 MySQL 默认存储引擎,核心优势是支持事务(ACID)、行级锁、外键和崩溃恢复;适合高并发、对数据完整性和安全性要求高的业务(如电商、金融);相比 MyISAM,InnoDB 牺牲了少量读性能,但换来更强的可靠性和并发能力,是生产环境的首选。MySQL 采用“插件式存储引擎”设计,不同引擎适配不同业务场景,下面重点讲解学习/生产中最常见的 6 种引擎(覆盖 99% 的使用场景):生产首选:InnoDB 是绝大多数业务的最优解,兼顾安全性、并发和完整性;特殊场景。
2026-02-12 22:03:20
824
mysql-connector-java-commercial-5.1.7-bin.jar
2018-09-04
阿里Java开发手册(泰山版)压缩包
2020-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅