随笔分类 -  Java

摘要:前言 记录一下之前在公司遇到的一个问题,后端ID使用了Long类型的雪花算法,ID在返回给前端发现显示的 ID 和 数据库中的 ID 不一致,例如数据库中存储的 ID 是 112232531915911412,显示出来却是 112232531915911400,后面2位变成了0,精度丢失了 原因 这 阅读全文
posted @ 2025-08-01 23:20 ゐ叶う枫ゆ 阅读(112) 评论(0) 推荐(0)
摘要:为什么要使用到分布式锁? 可以想象一下电商系统中的库存扣减场景: public void reduceStock(Long productId, int quantity) { // 1. 查询当前库存 int stock = productDao.getStock(productId); // 2 阅读全文
posted @ 2025-07-30 19:32 ゐ叶う枫ゆ 阅读(27) 评论(0) 推荐(0)
摘要:map.forch执行remove方法报错前序 最近在写项目的时候,使用了map.Forech循环遍历去执行remove方法结果发现抛出ConcurrentModificationException问题。以下是模拟代码展示 public class StringDemo1 { public static void main(String[] 阅读全文
posted @ 2025-04-12 13:53 ゐ叶う枫ゆ 阅读(67) 评论(0) 推荐(0)
摘要:Java序列化父类的字段排在前面今天测试接口的时候,发现了一个问题。我的Json返回的数据出现了以下情况。我的createby,createTime,updateBy,updateTime,remark这些字段都是继承了BaseEntity类。 在 Java 的序列化过程中,继承的字段通常会按照类的层级顺序排列,导致父类的字段排在 阅读全文
posted @ 2025-03-16 19:08 ゐ叶う枫ゆ 阅读(61) 评论(0) 推荐(0)
摘要:SpringCloud认识微服务 单体架构 在认识微服务之前,我先来说说单体架构,我们之前所学的SpringBoot做的最多项目就是单体架构项目。而单体架构是将业务的所有功能集中在一个项目中开发,打成一个包部署。所以单体架构的优缺点就十分的明显,如下图表示。 微服务架构 而微服务就是把单体架构中某些功能或者某些模块给拆分 阅读全文
posted @ 2025-01-07 23:06 ゐ叶う枫ゆ 阅读(48) 评论(0) 推荐(0)
摘要:SpringBoot + MyBatis 实现 MySQL 主从复制动态数据源切换概述 在项目中的某些场景中,需要对数据库进行一些优化。常用的有如下的实现方法:读写分离、引入缓存技术、主从复制、分库分表等。今天来简单介绍一些如何在程序中实现动态切换数据源,可能某台服务器性能比较好,让流量多的方法执行切换到此数据源去操作等等。 当然这种思想也可以扩展实现为读写分离,主库(主数据源) 阅读全文
posted @ 2024-07-25 13:29 ゐ叶う枫ゆ 阅读(566) 评论(0) 推荐(0)
摘要:new String("yefeng")创建了几个对象常见的面试题,下面代码中创建了几个对象 new String("yefeng"); 为了明白这个问题,我们从底层原理来分析 String name = "yefeng"; // 在常量池中 String name1 = new String("yefeng"); // 在堆上 当我们如果直接赋值的话 阅读全文
posted @ 2024-07-09 15:22 ゐ叶う枫ゆ 阅读(43) 评论(0) 推荐(0)
摘要:模板模式模板模式 基本介绍 模板模式:在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方法进行。 简单说,模板方法模式,定义了一个 算法 的 骨架 , 并允许 子类 为 一个或多个 步骤 提供实现 ; 模板方法模式 可以使 子类 在不改变 算法结构 的前提下 阅读全文
posted @ 2024-06-27 12:42 ゐ叶う枫ゆ 阅读(36) 评论(0) 推荐(0)
摘要:最小栈题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶 阅读全文
posted @ 2024-04-07 16:42 ゐ叶う枫ゆ 阅读(80) 评论(0) 推荐(0)
摘要:Spring IOC与工厂模式1. 简单介绍 在讲Spring IOC之前,有必要先来聊一下工厂模式(Factory Pattern)。工厂模式可将Java对象的调用者从被调用者的实现逻辑中分离出来。工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创 阅读全文
posted @ 2024-03-15 11:25 ゐ叶う枫ゆ 阅读(212) 评论(0) 推荐(0)
摘要:获取任意时间的某日期今天刷哔哩哔哩无意中打开了投稿管理,发现上面显示着已加入哔哩哔哩1994天,看着上面的数字感觉到时间过了好快啊。 心里顿时有个想法,想知道加入的这一天是某年某月某日,心想着翻开日历一下一下去翻,但是感觉这样实在是太笨了。 我顿时想着写一个程序去判断一下1994天前是某年的哪一天,问题也随意来之,我应 阅读全文
posted @ 2023-09-21 20:17 ゐ叶う枫ゆ 阅读(63) 评论(0) 推荐(0)
摘要:1. HelloSpring 什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Sp 阅读全文
posted @ 2022-10-04 13:08 ゐ叶う枫ゆ 阅读(39) 评论(0) 推荐(1)
摘要:## 1、回顾MVC ### 1.1、什么是MVC - MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 - 是将业务逻辑、数据、显示分离的方法来组织代码。 - MVC主要作用是**降低了视图与业务逻辑间的双向偶合**。 - MVC不是一种设计 阅读全文
posted @ 2022-10-04 13:08 ゐ叶う枫ゆ 阅读(43) 评论(0) 推荐(1)