自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 JAVA笔试题目

1.标识符的使用2.类名和java文件名的关系3.java数据类型关系

2024-06-25 01:34:30 164

原创 Redis实战篇02

使用setnx可能会出现的极端问题:Redisson的简介: 业务代码的改造:

2024-06-09 13:38:40 321

原创 重温java基础

1.java四大特性2.转义字符的使用:3.路径详解:

2024-05-11 17:34:35 138

原创 学习配置文件

设置get和set方法,还有toString方法。

2024-04-22 01:20:56 300

原创 学习JFinal

参数说明:第一个参数是如果是字符串就是指定key名称,如果是索引就是从0开始索引。第二个参数就是如果前端没传参就是指定默认值。getParaToInt(double,float):这个就是将参数强制转化成指定类型,第二个参数同上。

2024-04-22 00:13:23 572

原创 学习MQ异步

这个与路由类型差不多的,只是路由key支持通配符的方式。生产者代码:指定路由key就好了。

2024-04-14 01:29:59 453

原创 学习天机04(优惠劵)

因为领取优惠券的操作,涉及到操作db的操作很多,比如说查询优惠卷,统计已经领取的数量,更新已经发放的数量和新增用户券。所以了防止在高并发的情况下对我们的数据库造成的压力。使用同步变异步的操作来减缓压力,主要是使用mq。由于一些校验的操作需要提醒给用户,所以红框的操作需要借助redis完成,因为mq是异步的。

2024-04-07 19:13:11 741

原创 积累的项目小技巧

在实体类添加@TableField注解即可。

2024-03-23 14:04:50 157

原创 学习天机03(优惠卷)

整体流程:优惠卷表设计:优惠卷范围表设计:兑换码表设计:

2024-03-23 01:27:39 212

原创 天机项目的面经总结

首先时库内表分区或者是分表,可以解决大多数问题,如果单个库压力太大,再考虑分库,水平分库结合分表,实现数据的分片,进一步提高数据存储规模。

2024-03-18 10:23:03 210

原创 每日面经03

答:length()方法是获取字符串长度,charAt(int index)是返回指定索引的字符,equals(Object anther)比较两个字符串的内容是否完全相同,compareTo(String s)按照字典顺序比较两个字符串,相等是0,小于为负数,否者是正数。

2024-03-11 17:33:28 186

原创 每日面经04

答:在Java中,对于字符串或任何对象,我们通常使用equals()方法来比较对象的内容。当我们需要比较对象的引用时,我们使用==运算符。对于自定义的引用类型,为了比较对象的内容,我们需要覆写equals()方法和hashCode()方法。如果我们的对象需要排序功能,我们还会实现Comparable接口并覆写方法。

2024-03-11 02:07:01 206

原创 Redis企业实战篇

1.基于Session实现登录

2024-02-26 21:48:16 89

原创 学习Redis基础篇

1.初识Redis1.认识NoSQL2.认识Redis

2024-02-22 21:35:11 150

原创 每日面经02

ArrayList。

2024-02-20 17:43:54 284

原创 项目的一些难点

乐观锁是一种在数据库层面上避免并发冲突的机制。它通常通过在数据库记录中添加一个版本号(或时间戳)来实现。每次更新记录时,都会检查版本号是否与数据库中的版本号匹配,如果匹配,则更新数据并将版本号加一。这确保了在更新期间没有其他操作更改了记录。

2024-02-20 14:10:25 776

原创 学习天机02(评论,点赞、积分)

构造函数的注入。

2024-02-12 16:14:18 447

原创 Stream流的用法

不用关心方法体,只需要关心入参和返回参数,格式:(...)->业务代码,ATT+回车(恢复原始的方法体)

2024-02-06 00:03:23 128

原创 学习天机项目的笔记

修改本地的的host文件(配置小工具)如果直接输入域名就能访问,就是不用输入端口号的话,就需要配置nginx80是naginx的默认端口号监听即可(配置nginx.conf),一个server代表一个虚拟主机。

2024-01-20 12:10:08 645

原创 常用的linux指令

设置redis的用户名和密码。

2024-01-20 01:46:00 359

原创 每日面经总结

Java 的数据类型可以分为两大类:基本类型(Primitive Types)和引用类型(Reference Types)。下面是这两种类型的详细分类:基本类型 (Primitive Types)Java 中有 8 种基本类型,分为四类:1. 整数型- `byte`:8位,取值范围从 -128 到 127。- `short`:16位,取值范围从 -32,768 到 32,767。- `int`:32位,取值范围从 -2^31 到 2^31-1。

2024-01-17 00:37:09 907

原创 菜鸟学习集合

注意的细节。

2024-01-08 08:13:34 362

原创 记录一次mybatis的判断sql

【代码】记录一次mybatis的判断sql。

2024-01-03 14:52:26 370

原创 学习MySQL运维篇

1.日志1.错误日志2.二进制日志1.日志格式2.日志删除3.查询日志4.慢查询日志2.主从复制1.概述2.原理3.搭建1.服务器的准备2.主库的配置

2024-01-03 09:06:40 377

原创 使用breetlsql完成in查询

【代码】使用breetlsql完成in查询。

2024-01-02 16:56:52 364

原创 关于根据字段注入无法成功的bug

通过@Autowired public DmUserMapper dmUserMapper;注入,程序运行的时候出现null空指针异常的情况。

2023-12-27 10:39:59 379 1

原创 学习mysql高级篇

特点:对行数据添加了行锁,然后再对这张表添加表锁的时候会逐行检查是否添加了行锁,通过添加了行锁然后再添加意向锁,添加表锁的时候只需要检查是否存在意向锁即可,查看表锁与意向锁是否兼容。

2023-12-24 22:19:20 391 1

原创 使用Mybatis编写sql的符号问题,以及映射不成功的问题

检查实体类的id主键是否加上了以下注解,同时检查自己的数据库是否设置了主键,有些关联表可能会出现没有设置主键的情况,这时候通常的建议是使用条件构造器的方式实现如果说另外的映射不成功,就要检查实体类与mapper与xml文件的名称要对应上,同时注意xml文件方法名就是id是否与mapper层定义的一致。然后就是检查xml的目录是否在对应的mapper目录下。

2023-12-15 09:34:32 441

原创 如何对接第三方数据库视图的数据

在我们做项目的时候,通常需要对接客户那边的数据,有些对接方式是使用数据库视图的方式对接的,在这就已oracle数据为例对接好第三方数据。我们也可以将查询到的数据存储到我们自己创建的表中,进行业务的处理。

2023-12-08 11:37:32 980

原创 关于breetlsql的分页查询PageResult<> result.getList只能查到10条数据的bug

在使用代码result.getList()的时候发现是只能获取到第一页的数据,而不是所有的数据。

2023-11-29 09:26:50 516 1

原创 关于使用swagger注解,属性名没有显示的问题

CodeMsg加上泛型<>这样子分页的data里面的属性名才能显示。

2023-11-14 10:03:00 497 1

原创 如何将同一年份的几个季度信息进行归类

比如说我现在的需求是这样子的,计算出每个年份的剂量值,每个年份分为4个季度,每个季度中有个有效值,年份的剂量值等于4个季度中的有效值之和。那么我们就可以这样子做,但是如果说是你有着更加复杂的算法,那么你也可以是进行方法的改造一下。整体来说这就是一个映射的过程通过设置map不断的去映射。我们常常有这样子的一个需求就是需要统计同一个时间,然后这个时间段内又有不同的数据的时候我们应该怎么去统计呢,这就有一个比较通用的版本。

2023-11-09 11:39:00 48 1

原创 关于breetlsql对List集合判空处理的bug

ObjectUtil.isNotEmpty()可以做到判断size为0的情况,下面是ObjectUtil.isNotEmpty()源码。要是使用了其他java语法的判空,在breetlsql中是识别不到的,如果说使用了下面的语法会报错无法注册定义此方法。问题分析:对List在md模板中做了判空处理发现无效,list的话就算是传参传的是null但是size是0,在java中。是不一样的,breetlsql的是不能判断size=0的,java代码中的就可以了。重点是:breetlsql的。

2023-11-07 10:32:55 83

原创 ObjectUtil.isNotNull()和ObjectUtil.isNotEmpty()的区别

ObjectUtil.isNotNull()和ObjectUtil.isNotEmpty()两个方法都是用来检查对象的状态,但它们的检查级别略有不同。1.ObjectUtil.isNotNull()方法:该方法仅用于检查指定对象是否不为null。2.ObjectUtil.isNotEmpty()方法: 该方法不仅检查对象是否为null,还会检查对象是否为空(例如空字符串、空集合等)。ObjectUtil.isNotEmpty()方法提供了更为全面的检查,因为它会检查null和空的状

2023-11-02 09:49:14 1661

原创 @RequestParam和@RequestBody的区别

当我们在使用的时候为了代码的规范,通常 @RequestParam用于GET请求的查询功能,@RequestBody主要是用于POST请求,要是说需要两者同时的去使用的话需要和前端协调好,接收的从请求的查询字符串中获取参数,比如说是pageSize,pageNo。要是说其他数据需要是以请求体的方式接收的话就不需要再使用@RequestBody了,因为查询是Get请求。

2023-11-02 08:58:55 794

原创 学习MySQL进阶篇

与B-Tree的区别。

2023-10-16 20:07:33 38 1

原创 菜鸟学习MySQL

1.数据库的一些字段类型1.数值类型2.字符串类型3.日期类型

2023-09-28 00:22:30 98

原创 线程池是如何做到线程复用的?有了解过吗?

面试官问如何实现线程复用时,可能确实指的是线程池的工作原理。线程池是一种管理和复用线程的机制,它可以提高线程的利用率和性能。首先判断线程池里的核心线程是否都在执行任务,如果不是则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则判断线程池里的线程是否都处于工作状态,如果没有,则创建一个新的工作线程来执行任务。如果已经满了,则交给拒绝策略来处理这个任务。

2023-09-15 19:31:53 98

原创 菜鸟对于事务的理解

UncheckedException包括error和runtimeException派生出的所有子类对数据库的数据进行批量或连表操作时,为了保证数据的一致性和正确性,我们需要添加事务管理机制进行管理。当对数据库的数据进行操作失败时,事务管理可以很好保证所有的数据回滚到原来的数据,如果操作成功,则保证所有需要更新的数据持久化。例如:1.转账:A对B转账,需要先把A的钱减掉再把B的钱加上,这两个操作任何一个失败,都要撤销整个转账过程,不然会出大问题。

2023-09-15 18:56:36 31

原创 将点赞功能放入到线程池中,并且使用自旋锁保证线程安全,不影响主线程的相关功能实现

乐观锁介绍:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有以下2种方式:1.使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增加一个版本标识,一般是通过为数据库表增加一个数字类型的 “version” 字段来实现。

2023-09-12 21:28:35 60 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除