logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Springboot从consul中获取配置

3、在http://127.0.0.1:8500页面的 key/value 新建文件夹 /config/your-service/2、新增 bootstrap.yml ,springboot版本低于3.3是优先读取bootstrap.yml的配置的。Springboot项目如何实现一启动就读取consul配置的信息如数据库连接。以下是实现步骤:(Springboot版本是 2.2.5.RELEAS

#spring boot#java-consul#consul
Linux(Centos7) 安装OPENJDK8

1. 安装 OpenJDK 8(含编译工具)在最后加上:(上一步的路径,注意去掉JRE)3. 查看 JAVA_HOME 路径。

#linux#运维#服务器
【实战优化】内层聚合快、关联后慢?SQL Server/MySQL 通用优化方案

应急优化:改用 LEFT JOIN 或加执行计划提示(FORCE ORDER/STRAIGHT_JOIN),快速见效;稳定优化:临时表落地聚合结果,彻底摆脱优化器依赖,适配海量数据场景;长期优化:给维度表补充 “关联字段 + 查询字段” 的索引,从根源提升关联效率。实际开发中,建议优先采用 “临时表 + 索引” 的组合方案,既保证性能稳定性,又兼顾业务逻辑准确性,是解决这类问题的最优实践。

#mysql#数据库
Java实战:封装Redis非阻塞分布式锁,彻底解决表单重复提交主键冲突

针对Java后端表单重复提交、并发主键冲突问题,通过Redis非阻塞分布式锁+函数式封装,既能从根源解决并发问题,又能保证代码优雅性。核心思路是锁控制并发,数据库状态控制幂等,双层保障杜绝重复提交。本文封装的工具类可直接接入项目,适配绝大多数防重复提交场景,无需重复造轮子。

#java#redis#分布式
Linux 下查看 Java 服务进程占用(CPU / 内存)并定位具体服务

在服务器运维过程中,经常会遇到服务器负载高、内存占用过大的问题,通过top命令可以快速看到哪些进程占用资源最高,但很多时候只能看到java进程,无法直接定位是哪个微服务、哪个 Jar 包占用了大量 CPU 或内存。本文详细介绍如何通过 Linux 命令,从top定位高占用 PID,再精准找到对应的 Java 服务启动目录、Jar 包名称、启动参数,快速定位问题服务。top→ 定位高占用 PIDps

#linux#java#运维
MySQL字符串数字筛选与转换 + Java Integer/Long数值长度避坑指南

用VARCHAR字符串字段存储纯数字数据,常见场景包括:订单编号、设备ID、手机号、金额、配置数值、流水号等。由此衍生两个致命问题:数据库脏数据多:字段混杂字母、符号、空格、空字符串,无法直接排序、计算、比对;后端报错频发:数据库字符串转Java数值时,频繁出现数字格式异常、数据溢出、数值错乱。很多开发者只懂简单转换,不懂筛选过滤、不懂整型数值极限,导致线上bug频发。本文手把手教你工业级标准写法

#mysql#java#数据库
MyBatis 调用存储过程接收 OUTPUT 输出参数

java运行/*** 调用存储过程,接收OUT输出参数* @param userParam 入参+出参封装对象*/mode=OUTjdbcType实体类(规范)Map(简洁)执行后输出参数自动回写到入参对象,直接取值即可。

#mybatis
Java 8 Stream API 浅析

Java 8 引入的Stream API彻底改变了这一现状,它提供了一种声明式的数据处理方式,让开发者能够以更简洁、更优雅的代码实现复杂的数据筛选、转换、聚合等操作。Stream(流)是 Java 8 中引入的一个抽象概念,它本质上是一系列支持聚合操作的元素序列,但与集合(Collection)有显著区别:​。需求 1:提取筛选后用户的 “姓名和薪资”,转换为Map<String, Integer

#java
Java 8 DateTime API

为解决这些痛点,Java 8 引入了全新的DateTime API(位于java.time包下),遵循 “不可变对象” 设计原则,提供了清晰、易用且线程安全的日期时间处理方案。适用于需要跨时区的场景(如 “服务器日志时间”“国际航班起飞时间”),核心类是 **ZonedDateTime**(包含日期、时间、时区),依赖ZoneId(时区 ID)定位时区。适用于不需要时区的场景(如 “用户生日”“订

#java
Java 异步支付的 “不安全” 风险点控制

核心思路:定义订单支付的 “状态流转规则”,确保每个状态只能按指定顺序切换(如 “待支付→支付中→支付成功 / 失败”),避免状态跳变。核心思路:异步任务处理支付时,不仅依赖 “实时调用结果”,还需结合 “第三方回调通知” 和 “定时任务查询”,确保结果不丢失。第三方支付平台回调通知晚于异步任务执行,导致任务误判 “支付失败”,后续无法同步真实结果。支付接口调用成功,但更新订单状态时线程异常中断,

#java
    共 33 条
  • 1
  • 2
  • 3
  • 4
  • 请选择