自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (2)
  • 收藏
  • 关注

原创 AOP实现接口加密

使用AOP切面实现接口入参加密解密。

2023-09-30 16:36:41 202

原创 minio实现文件上传下载

minio实现文件上传下载

2023-06-13 18:05:54 1343

原创 根据实体excel导入导出百万数据,可修改表头名称

实现excel的百万数据导出导入

2023-06-13 16:58:46 1295

原创 IDEA插件easycode模板-无代码生成表CURD代码

IDEA插件easycode模板-无代码生成表CURD代码,一键运行

2023-05-31 23:27:21 333

原创 docker三分钟内安装常用中间件(mysql、redis等)

docker安装mysql。

2023-05-14 13:48:59 98

原创 问题记录:idea maven 打包报错 �÷�: javac <options> <source files>

问题记录:idea maven 打包报错 �÷�: javac <options> <source files>

2023-02-17 16:11:27 375 1

原创 java实现的非关系型数据库:nosqldb

nosqldb是一个用Java实现的基于文件存储的 非关系型数据库管理系统,由个人开发者mabo独立开发nosqldb 将不同表的数据保存在不同的目录下,而不是将所有数据放在一个大仓库内,这样就增加了查询速度并提高了灵活性data.nosqldb存储数据index.nosqldb存储索引如下图所示nosqldb无需对表结构进行定义,即无需创建表就可以进行数据库操作。

2023-01-05 18:42:04 882 3

原创 java实现数据库:mbdb-基于文件存储的关系型数据库

mbdb数据库目前只有表的概念,所有的操作都是基于表进行操作mbdb支持json格式对表结构进行定义,添加数据之前需要首先定义表结构。表结构文件存储的是表结构的json字符串。

2022-10-01 09:32:39 1662

原创 RestHighLevelClient实现搜索引擎

海量数据的情况下,SQL中的模糊查询%s%会导致索引失效,但是业务场景需要根据某些字段进行查询。搜索引擎会为数据添加索引,并且支持模糊查询,范围查询,精确查询所以海量数据的全文搜索,最好是用搜索引擎来进行实现。以下是开源搜索引擎elasticsearch的 RestHighLevelClient简单工具实现,添加数据获取数据全部使用json操作。

2022-08-24 23:06:56 484

原创 实体List导出为excel表格(支持excel打开加密解密)

实体List转为excel。

2022-08-07 23:48:28 474

原创 一个注解替换synchronized关键字:分布式场景下实现方法加锁

单机部署场景下,当我们需要锁住少量代码块或者方法,通常会使用synchronized关键字进行加锁,如下所示} }但是,在分布式场景下,由于jvm之间无法通信,一个服务是无法感知另外一个服务对当前代码快加锁。该demo实现了分布式场景下,使用一个注解,对方法进行加锁。单机也可以使用。...

2022-08-03 18:25:33 508

原创 SpringBoot单机和分布式(RocketMQ解决)WebSocket聊天室

HTTP 协议有一个缺陷:通信只能由客户端发起。HTTP 协议做不到服务器主动向客户端推送信息。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。因此,出现了 WebSocket。.........

2022-08-02 19:31:28 2669

原创 数据库表结构生成excel工具

将数据库的表结构,生成excel。

2022-07-28 18:48:45 373

转载 java:根据ip获取位置信息(开源Ip2region离线文件实现)

java:根据ip获取位置信息(离线文件实现)

2022-07-27 18:21:48 791

原创 SpringBoot如何优雅的处理所有的异常接口返回值为JSON

当调用接口后,执行的代码发生了异常,通常就会返回如下页面通过配置后,可以对所有的异常接口进行处理,返回如下的Json返回子更加美观,也方便查找错误格式化后。

2022-07-24 22:45:57 568

原创 Java并发编程12种锁的具体实现方式

Java12种锁的具体实现方式synchronized(常用)Locklock,unlocktrylockReadAndWriteLock(读写锁)Atomic(i++操作)LongAdder(Atomic的优化)CountdownLatch(门闩)Exchanger(线程交换数据)Locksupport(类似于lock)Phaser (过程中,锁部分线程)CyclicBarrier(循环栅栏)Semaphore(限流)Unsafe(操作内存实现线程安全-不推荐)synchronized(常用)使用J

2022-07-24 16:54:35 1478

原创 自己用的Java学习路线图

java的学习路线图个知识点

2022-07-24 16:54:23 343

原创 Base64与文件互转

Base64与文件互转。

2022-07-24 16:52:09 7834

原创 一个注解实现方法返回数据写入缓存(切面、Redis实现)

底层采用redis来进行存储,用有超时时间的set方法来存储。采用切面的方式,对方法进行动态代理,一共分为两种情况。先去缓存中读取该方法的返回值,如果为空,则执行方法。TimeUnit超时时间的单位。timeOut超时时间。不为空,直接返回缓存数据。valuekey值。.........

2022-07-21 21:54:12 361

原创 实体注解-批量生成10000条测试数据

实体注解-批量生成10000条测试数据

2022-07-19 22:13:24 636

原创 使用一个注解实现SpringBoot接口限流(Redis、反射、切面实现)

sentinel的限流功能非常强大,但是单机springboot如何实现简单的接口限流。这篇文章将告诉你如何用一个注解@BlockHandler,就可以将你的接口通过切面的方式实现限流。

2022-07-18 21:21:06 1192 1

原创 使用两个注解,三步完成SpringBoot事件监听(反射,切面实现)

当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务方法追加到该事件之后。但是当有N多个这样的需求的时候我们都这样一个个去添加修改事件的源码吗?这篇文章将告诉你如何用一个注解,就可以将你的业务代码通过切面的方式添加到事件的前后,而不需要修改事件的代码。.....................

2022-07-16 17:27:25 614

原创 利用切面、注解、反射实现SpringBoot的事件监听

当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务方法追加到该事件之后。但是当有N多个这样的需求的时候我们都这样一个个去添加修改事件的源码吗?这篇文章将告诉你如何用一个注解,就可以将你的业务代码通过切面的方式添加到事件的前后,而不需要修改事件的代码。..................

2022-07-15 22:08:37 788 1

原创 接口的参数返回封装类Result

接口的参数返回封装类Result。

2022-07-14 19:35:27 1000

原创 三步完成SpringbootWeb项目使用自定义注解

开发中我们可能要在spring项目中使用自定义注解来完成额外的业务模块,该demo将展示如何适应AspectJ,用切面的方式,使用自定义注解

2022-07-14 16:20:41 236

原创 itext修改pdf文字

该demo是基于itext对PDF特殊信息进行脱敏处理,提供如下2种方法

2022-07-14 13:44:43 1924 7

原创 ThreadLocal线程安全示例及其原理

线程安全是多线程编程时的计算机程序代码中的一个概念。 在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他操作,调用这个对象的行为都可以获得正确的结果,那么这个对象就是线程安全的。...

2022-07-10 15:13:50 4523

原创 数据结构与算法每日一练(Java)

数据结构与算法(Java)

2022-06-09 21:24:11 227

原创 毕设:基于Vue+Socket+Redis的分布式高并发防疫健康管理系统

摘要: 疫情期间,校园疫情上报线上压力大,使用频繁。像校园疫情上报该类型并发量较高,访问频繁的系统需要进行快速响应。传统的系统并发量低,无法在这种情况下满足用户的使用需求。本系统采用BS架构,客户端维护简单。系统采用前后端分离,前端PC和移动端分离,后端分布式部署,既可以提高访问速度又能提升系统稳定性,在遇到个别服务器出现异常情况下,仍然可以保证用户正常使用。............

2022-06-01 10:43:51 685

原创 邮箱发送邮件(包含附件,网易、QQ)

QQ邮箱发送邮件package email;import com.seeyon.ocip.exchange.exceptions.BussinessException;import java.io.File;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import java.util.Properties;import javax.activatio

2022-03-05 01:01:58 686

原创 设计模式(Java)

设计模式单例模式饿汉模式懒汉模式枚举实现单例模式工厂模式CSDN博客地址 https://blog.csdn.net/weixin_47053123Github项目下载地址https://github.com/MaBo2420935619单例模式饿汉模式像一个饿汉一样,不管需不需要用到实例都要去创建实例,即在类产生的时候就创建好实例,这是一种空间换时间的做法。作为一个饿汉而言,体现了它的本质——“我全都要”。对于饿汉模式而言,是线程安全的,因为在线程创建之前实例已经被创建好了。代码演示

2021-12-10 16:01:51 268

原创 【设计模式七大原则及Java示例】

设计模式总结及Java示例设计模式七大原则单一职能原则接口隔离原则倒转置换原则里氏替换原则合成/聚合复用原则开闭原则迪米特法则单例模式工厂模式CSDN博客地址 https://blog.csdn.net/weixin_47053123Github项目下载地址https://github.com/MaBo2420935619设计模式七大原则单一职能原则单一职责原则(Single Responsibility Principle) SRP单一职责原则好处降低类的复杂性 每个类实现单一职责,

2021-12-04 22:06:24 240

原创 基于SpringBoot和Redis:Redisson的分布式锁的使用

为了保证一个方法在高并发情况下的同一时间只能被同一个线程执行,在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLcok或synchronized)进行互斥控制。但是,随着业务发展的需要,原单体单机部署的系统被演化成分布式系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题。基于SpringBoot和redis,rediss

2021-11-29 19:51:38 875

原创 用java实现纯注解Spring框架的部分内容(包括IOC,AOP,定时器,javaWeb)

用Java实现纯注解Spring框架[包括IOC,AOP,定时器,javaWeb后端]前言一、源码下载地址(github)二、IOC--源码及其实现原理1、IOC(依赖注入)的全过程1、IOC(依赖注入)的全过程三、AOP--源码及其实现原理四、定时器--源码及其实现原理五、JavaWeb(类似SpringBoot)--源码及其实现原理六、如何使用该框架总结前言提示:以下是本篇文章正文内容,下面案例可供参考一、源码下载地址(github)二、IOC–源码及其实现原理1、IOC(依赖注入)的

2021-11-03 22:59:27 144

原创 java读取配置文件工具类

如何读取下方配置文件并且向其中传入参数:执行成功的截图使用改工具类的方法:public static void main(String[] args) { PropertyUtil properties=new PropertyUtil(); Map<String,String> map=new HashMap<>(); map.put("tableName","user"); map.put("id","10

2021-10-17 11:16:20 283

原创 java的生成excel文件工具类

package com.mabo;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Test { public static void main(String[] args) {

2021-10-13 20:51:43 560

原创 vue+socke+redis(可选用)前后端分离:学校疫情上报系统

vue+socke[可选用] 前后端分离:学校疫情上报系统一、项目技术栈介绍1. 前端2.后端二、项目演示及其功能介绍登录注册登录成功管理员页面教师页面学生页面控制台页面三、测试说明四、开发说明五、项目下载一、项目技术栈介绍1. 前端前端采用vue框架。为了美化也采用了elementUI组件页面跳转使用vue路由与后端通信采用axios通信2.后端服务器与数据库交互的中间件使用redis(不使用除了访问速度变慢无其他影响)redis采用集群模式但同时支持一个redis服务器与前

2021-09-21 16:11:16 485

原创 Java对Redis集群部署工具类(单个Redis服务器同样适用)

Java对Redis集群部署工具类(单个Redis服务器同样适用)前言注意一、Redis集群化部署工具类源码二、使用步骤1.引入库2.读入数据总结前言在高并发的前提下,频繁的对数据库访问IO操作会增加数据库负担。Redis中间件可以完美的解决这个问题。我们可以将经常需要读取但是不经常变化的一些数据放入到Redis中,因为读取的时候是向内存中读取数据,可以大大减少运行和等待时间。有效的减少数据库的IO操作,从而提高系统运行的效率。注意Redis集群化部署的时候,一个value值会根据ke

2021-09-06 09:39:48 262

原创 自定义的日志输出到文件的日志工具类

自定义的日志输出到文件的日志工具类在进行一些代码编写的时候,不是所有的情况都会正常执行。将信息写入文件中可以将信息永久保存并且不会丢失,而且更加方便开发进行测试并且该工具类依赖的都是JDK的类库,无需添加其他jar包不要再用System.out来输出信息了自定义的日志输出到文件的日志工具类先看效果提示如何使用源码先看效果提示输出日志的文件夹会读取系统当前时间,如果当前时间为名称的文件夹不存在将会自动创建,保存日志信息的位置在该文件夹下,命名为当前时间的小时(24小时制)。若当前文件不存在,将

2021-08-28 22:21:59 182

原创 常用数据库的数据源配置和驱动maven依赖

前言这里列举了常用的三个数据源的配置MySQLSQL serverOracle<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.spr

2021-08-16 11:39:20 494

c++小学生口算练习系统基于mysql数据库

包括源码和数据库还有部分依赖文件

2021-07-15

Java学习路线.png

Java学习路线.png

2021-05-10

空空如也

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

TA关注的人

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