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

浙公网安备 33010602011771号