自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李人

好记性不如烂笔头。 内存虽快,但不持久。https://gitee.com/Li-Ren

  • 博客(92)
  • 资源 (5)
  • 收藏
  • 关注

原创 玩转 Spring boot 系列:(九)基于阿里云RocketMQ消息实战

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集玩转 Spring boot 系列:(五)集成 redis 客户端 Jedis玩

2020-07-20 10:03:34 979

原创 一文搞懂数据库分库分表最佳实践及面试题

春风如贵客,一到便繁华。各位看官点赞再看,养成好习惯(●´∀`●)前言:水平拆表:水平拆分的优点:水平切分的缺点:垂直拆表:垂直切分的优点:垂直切分的缺点:前言:目前很多互联网系统都存在单表数据量过大的问题,这就降低了查询速度,影响了客户体验。为了提高查询速度,我们可以优化sql语句,优化表结构和索引,不过对那些百万级千万级的数据库表,即便是优化过后,查询速度还...

2020-03-27 11:54:54 5691

原创 BigDecimal 四则运算和格式化

1 四则运算加法bigDecimal1.add(bigDecimal2) 减法bigDecimal1.subtract(bigDecimal2) 乘法bigDecimal1.multiply(bigDecimal2) 除法bigDecimal1.divide(bigDecimal2)2 格式化BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直.

2021-10-11 14:40:18 533

原创 算法分析--对大量随机读取数据库的性能优化

春风如贵客,一到便繁华。各位看官先赞再看,养成好习惯(●´∀`●)前言:假设,有一张100W规模,并且活跃度很高的数据库表,需要从数据库中随机读取20条数据,并且对性能要求很高的要求。代码仅作实例!!!方案一:使用数据库随机取20条,代码如下:SELECT *FROM t_user uWHERE 1 = 1ORDER BY RAND()LIMIT 20优点:方便,逻辑简单,代码简洁,不引入新的中间件和风险,方便快速开发。缺点:数据量大之后,存在sql优化的必要

2020-10-20 11:31:47 721

原创 解决 JAVA WebSocket 解析 base64 后中文字符串乱码

春风如贵客,一到便繁华。各位看官先赞再看,养成好习惯(●´∀`●)前言:项目基于WebSocket实现了一个功能,其中要接受一个字符串来处理业务,但是发现该字符串经过base64解码之后存在乱码情况。一下是排查情况。乱码:{"message":"鐧诲綍鎴愬姛"}正常:{"message":"登录成功"}初步判断,可能是字符串的编码机有问题。由于需要进行base64解码,代码如下:import org.bouncycastle.util.encoders.Base64

2020-09-16 13:49:00 2228 3

原创 玩转 Spring boot 系列:(十)基于Elasticsearch 7.8 实现简单查询及高亮分词查询

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集玩转 Spring boot 系列:(五)集成 redis 客户端 Jedis玩

2020-08-20 17:51:05 1110 1

原创 玩转 Spring boot 系列:(八)基于redis的用户登录注册以及过滤器的实现

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集玩转 Spring boot 系列:(五)集成 redis 客户端 Jedis玩

2020-07-14 09:36:03 676

原创 玩转 Spring boot 系列:(七)集成七牛实现文件上传

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集玩转 Spring boot 系列:(五)集成 redis 客户端 Jedis玩

2020-07-13 13:29:17 665

原创 玩转 Spring boot 系列:(六)优雅的全局异常处理 和通用响应器

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集玩转 Spring boot 系列:(五)集成 redis 客户端 Jediss

2020-07-13 11:22:55 826

原创 玩转 Spring boot 系列:(五)集成 redis 客户端 Jedis

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集springboot集成mybatis和自定义分页插件pagehelper...

2020-07-13 10:39:12 670

原创 玩转 Spring boot 系列:(四)mybatis 集成分页插件 pagehelper 并自定义分页结果集

前言:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)玩转 Spring boot 系列:(三)集成mybatis,实现增删改查(图解)springboot项目集成druid数据源和mybtis之后,截下来带领着大家完成数据分页,并自定义分页结果集!代码地址:Spring Boot 集成 PageHelper1、配置 父模..

2020-07-09 15:03:29 756

原创 玩转 Spring boot 系列:(三)集成mybatis,使用Restful风格实现CRUD功能

前言:上一章节:玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)springboot项目集成druid数据源和多开发环境之后,截下来带领着大家集成orm框架,这次我选用的是使用mybatis作为持久层框架。代码地址:Spring Boot 集成 mybatis1、启动项目,验证数据库链接是否正确。--启动AdminApplication.java文件,如果项目没有报错即可。如有问题,请留言。2、实现mvc,并集成mybatis。首先,...

2020-07-09 14:16:44 405

原创 玩转 Spring boot 系列:(二)配置多开发环境,集成druid数据源(图解)

前言:上一章节:玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)子父工程搭建好之后,将父工程的pom文件按照上文的pom文件替换好后,项目即成为一个springboot项目。下面我们接着来进行后续环节的搭建,配置多开发环境(test、dev、prod)、druid数据源代码地址:Spring Boot 集成druid1、新建一个SpringBoot项目启动类,如图所示:2、AdminApplicati...

2020-07-09 11:52:40 959

原创 玩转 Spring boot 系列:(一)使用 Idea 搭建 Spring boot Maven 多模块父子工程(图解)

前言:随着JAVA技术栈的演进,Springboot、SpringCloud等下一代框架越发的火热,本系列就带领着完成一个企业级SpringBoot框架的搭建以及应用。1、新建project2、创建工程的信息:如图3、因为建立的是多模块子父工程,所以项目新建完之后,要删除一些不用的模块。如图:4、建立子模块5、之后点击NEXT,会出现如下图所示:6、再建立一个子模块,名字为basic,步骤就不演示了。最终maven多模块子父工程如图:...

2020-07-07 14:41:25 992

原创 算法分析--统计大文本中字母的出现次数

春风如贵客,一到便繁华。各位看官点赞再看,养成好习惯(●´∀`●)gitee上已经开源https://gitee.com/Li-Ren/blog里面有一线大厂面试点脑图,欢迎Star和PR你认为重要的知识点。前言:在一台32核 64G内存的物理主机(RedHat7.4)上,存有2个大文件,每个文件大小约为1T,内容为英文单词组成的文档,现在需要统计每个英文大词在两个2文件中总共出现的次数,请描述你的实现方式。分析:如果你直接将两个大文件加载到内存中,如果是面试,或者日常工...

2020-06-18 21:05:30 756 1

原创 Java 使用POI、easyExcel、Hutool 操作导出excel的三种方法

春风如贵客,一到便繁华。各位看官点赞再看,养成好习惯(●´∀`●)前言:日常开发中,经常回使用Java导出和导入excel、针对一些特殊的项目的需求,我着重讲解下,使用老版本的POI导出07格式的excel和使用阿里开源的excel工具 easyExcel。hutool后两个开源项目可以再官网找到最新的文档,这里只做简述,不做引出。1. 使用POI导出2007格式的excel文件。1. ...

2020-04-23 16:37:07 4310 5

原创 如何设计一个开放API安全接口?

前言:随着项目前后端分离的火热,后台开发的重点主要是对外提供接口,那么API接口的安全就是要考虑的问题。本文将针对api安全问题进行探讨。目录前言:为什么前后分离需要关注接口安全问题攻击方式有哪些如何保障接口的安全1. 数据加密2. 数据加签3. 时间戳机制4. 白名单机制5. AppId 机制6.黑名单机制7. 限流机制总结:为什么前...

2020-04-06 13:55:10 1583 3

原创 实现具有返回值的多线程任务

前言在日常开发中,有时会遇到:查询大量数据,处理大量数据的情况。这种情况,通常有以下解决方案。查询大量的数据,可以使用ElasticSearch、Solr之类的搜索引擎。 或者使用MongoDB、Redis之类的NoSql,提前缓存热点数据。 使用多线程。 无脑加机器。方案1、2咱们暂且不细说。今天专门讨论下多线程来处理大数据量,并返回特定的值。直接上代码。import j...

2020-03-06 15:46:59 687

原创 Java 配置@RequestMapping produces 参数 导出文件

日常开发中常用的produces参数是:produces = {"application/json;charset=UTF-8"}如果要实现一些特殊的接口和需求,比如导出各种不同类型的文件,只需改变produces参数即可。注*:produces参数是一个数组,可以接受多个不同的参数类型,如下:导出文件类型 produces 参数 'doc' applicatio...

2019-12-20 15:35:38 3769

原创 免费的编程中文书籍索引

免费的编程中文书籍索引免费的编程中文书籍索引,欢迎投稿。参与交流欢迎大家将珍藏已久的经典免费书籍共享出来,您可以:使用 Issues 以及 Pull Request目录AndroidAPPC/C++C#CSS/HTMLErlangFortranGITGoiOSJavaJavaScriptKotlinLuaNoSQLPHPPythonRRuby...

2019-12-03 19:51:00 1141

原创 什么是微服务?

目录背景1、为什么需要微服务架构2、什么是微服务3、微服务的优势4、微服务和SOA的关系5、错误示范背景最近几年,越来越多的开发人员使用“微服务”一词来阐述他们的系统或应用架构,当然或许这只是他们在吹嘘自己在技术潮流中并未落伍。我认为,IT科技行业的人士至少要了解微服务的基础知识,因为它代表着未来的发展方向。即使对我的话半信半疑,还有行业内很多大神为我背书。只是,话...

2019-12-01 20:30:17 1862 3

原创 Java集合框架是什么?说出一些集合框架的优点?

干货太重,且文字比较多。需要花费时间与耐心细细咀嚼,但是真的能收获到很多。每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。1...

2019-11-20 15:33:49 8076 6

原创 Java中是否可以继承String类,为什么

不能被继承,因为String类有final修饰符,而final修饰的类是不能被继承的。Java对String类的定义:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { // 省略... }详细解析:1. 关于final...

2019-11-20 14:49:14 6144

原创 Java的基本数据类型详解

目录基本类型概念数据类型转换:数据类型对比一览表什么是包装类什么是自动拆箱和自动装箱那些场景会发生装箱与拆箱基本类型概念java的基本数据类型可以简称为“四类八种”:整型:(byte、short、int、long):整数数据类型默认是int 浮点型:(float、double) 字符型:(char) 布尔类型:(boolean):true 真 和 fals...

2019-11-20 14:21:02 8506

原创 接口和抽象类有什么联系和区别?

抽象类:一个类中有抽象方法,这个类就变成了抽象类。抽象类中class的前面必须有abstract修饰符。抽象类中可以有普通方法,也可以有抽象方法,而抽象方法的个数可以是0个,也可以是多个。子类继承父类,必须重写全部的抽象方法,除非这个类也变成了抽象类。接口:表面上看,接口是一种特殊的抽象类,但是类是类,接口是接口,是并列的关系。接口中所有方法都必须是抽象的。接口中方法定义默认...

2019-11-20 13:54:45 16594 5

原创 网址URL转义,特殊字符编码HTTP URL编码表

下面是用 URL 编码形式表示的 ASCII 字符(十六进制格式)。十六进制格式用于在浏览器和插件中显示非标准的字母和字符。 URL 编码 - 从 %00 到 %8f ASCII Value URL-encode ASCII Value URL-encode ASCII V...

2019-11-20 09:24:17 129832

原创 idea 自动生成方法注释

目录实现效果:idea:配置如图所示:具体实现代码:编辑模板:实现效果:在你要添加注释的方法上:打出一个 " * "号,然后按下Tab键即可。 /** * @param userId 用户id * @param coupons {@link Coupon} * @param status 优惠卷的状态 *...

2019-11-11 09:37:41 1795 5

原创 常用文件格式十六进制文件头

JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D CAD (dwg),文件头:41433130 Adobe Photoshop (psd),文件头:38425053 Rich Text Fo...

2019-11-01 15:32:10 5384

原创 去除JAVA @SuppressWarnings 警告。

目录一、解决办法二:注解目标一、解决办法在类上面加一个注解,即可@SuppressWarnings("all")public class ImgUtils {二:注解目标1、注解目标通过@SuppressWarnings的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。而大家建议注解应声明在最接近警告发生的位置。2、抑制警告的...

2019-10-25 09:37:53 1615

原创 Java 实现根据图片的坐标轴进行切图

目录一:获取图片BufferedImage的信息:二:根据BufferedImage获取坐标轴三:根据图片的x、y轴、宽和高来进行切图。将本地图片或者图片url 转换未BufferedImage的方法 请看:Java实现读取本地或者图片链接地址一:获取图片BufferedImage的信息:private static BufferedImage getBuffere...

2019-10-24 19:21:43 3153 2

原创 git常用命令

目录一、 Git 常用命令速查二、 Git 命令速查表一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add orig...

2019-10-24 10:19:11 716

原创 Java实现读取本地或者图片链接地址,并裁剪成若干份(适合超大规模图案)

目录前言:需求:将图片切割成2 * 4份 (纵向切割成2份,横向切割成4份)平均切割:每次按照20000px切割前言:完整的代码:https://gitee.com/Li-Ren/Litool业务需要:需要将一个图片给切割成若干份。最终实现:将一个本地图片或者图片的Url链接、或者图片的流(后放弃,系统开销大)给横向或者竖向切割成若干份。并且做到不丢失图片原有精度...

2019-10-17 19:10:46 1631

原创 @Async、@Transational、AOP 方法内部调用失效的解决方法

目录前言:为什么失效如何解决补充:spring官方文档上的解决前言:关于启动异步方法,请移步:Spring中使用@Async异步调用方法遇到过 方法A 内调用Aop修饰的方法B 失效、方法A 内调用@Async修饰的方法C 失效,百度谷歌都没看到一个好的解决,这里分享一个我的解决方案。为什么失效这个百度上很多解答,分析的也很好,其实就是Spring代理机制造成的...

2019-10-16 09:25:44 1502

原创 Spring中使用@Async异步调用方法

摘要异步调用传统SSM项目实现 异步调用SpringBoot实现Async简介:异步方法调用使用场景:处理日志、发送邮件、短信......spring中提供了@Async来实现异步方法。@Async修饰类,则该类所有方法都是异步的,@Async修饰方法,则该方法是异步的。被修饰的方法在被调用时,会在一个新的线程中执行。实现传统SSM项目实现AsyncTask类@C...

2019-10-16 09:19:47 1626

转载 让程序员崩溃的瞬间(非程序员勿入)

「1」公司实习生找 Bug「2」在调试时,将断点设置在错误的位置「3」当我有一个很棒的调试想法时「4」偶然间看到自己多年前写的代码「5」当我第一次启动我的单元测试时「6」数据库的Delete语句忘了使用限定词where...「7」明明是个小bug,但就是死活修不好......「8」当我尝试调整生产数据库中的一些东西时「9」好...

2019-10-15 10:24:15 2376 1

原创 SpringCloud 与 Dubbo区别

首先从微服务关注点来比较 Spring Cloud 和 Dubbo 两大服务框架,如表 1-1 所示。表 1-1 从微服务关注点比较 Spring Cloud 和 Dubbo Dubbo SpringCloud 服务注册中心 Zookeeper  Spring Cloud Netfi...

2019-10-14 11:51:19 1136

原创 ExecutorService中submit和execute的区别

在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动、调度、管理线程的一大堆API了。在Java5以后,通过Executor来启动线程比用Thread的start()更好。在新特征中,可以很容易控制线程的启动、执行和关闭过程,还可以很容易使用线程池的特性。一、创建任务任务就是一个实现了Runnable接口的类。创建的时候实run方法即可。二、执行任务通过jav...

2019-10-11 11:19:45 932

原创 SpringBoot的高级特性

目录pringBoot 应用启动入口SpringBoot 自动配置原理SpringBoot 配置文件SpringBoot Actuator监控pringBoot 应用启动入口在SpringBoot的入口类中,我们通常是通过调用SpringApplication的run方法(一个静态方法),另外再加上@SpringBootApplication注解来启动SpringBoot项...

2019-10-09 21:45:38 1142

原创 使用浏览器自带打印功能,去除页眉页脚,横屏打印等

还会更新:HTML代码<head> <script src="/Scripts/printCurrentPage.js" type="text/javascript"></script> </head> <body> <object id='WebBrowser' width="0" hei...

2019-09-20 15:42:18 831

原创 Spring Boot 自动配置原理

会在META-INF/spring.factories这个地方找到pom文件中配置好的jar包。这样就做到了实现SpringBoot自动注入

2019-09-18 20:56:08 642

Java 11 / JDK 11 下载

摘自:http://openjdk.java.net/projects/jdk/11/ 181: Nest-Based Access Control(基于嵌套的访问控制) 309: Dynamic Class-File Constants(动态的类文件常量) 315: Improve Aarch64 Intrinsics(改进 Aarch64 Intrinsics) 318: Epsilon: A No-Op Garbage Collector(Epsilon 垃圾回收器,又被称为"No-Op(无操作)"回收器) 320: Remove the Java EE and CORBA Modules(移除 Java EE 和 CORBA 模块,JavaFX 也已被移除) 321: HTTP Client (Standard) 323: Local-Variable Syntax for Lambda Parameters(用于 Lambda 参数的局部变量语法) 324: Key Agreement with Curve25519 and Curve448(采用 Curve25519 和 Curve448 算法实现的密钥协议) 327: Unicode 10 328: Flight Recorder(飞行记录仪) 329: ChaCha20 and Poly1305 Cryptographic Algorithms(实现 ChaCha20 和 Poly1305 加密算法) 330: Launch Single-File Source-Code Programs(启动单个 Java 源代码文件的程序) 331: Low-Overhead Heap Profiling(低开销的堆分配采样方法) 332: Transport Layer Security (TLS) 1.3(对 TLS 1.3 的支持) 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental)(ZGC:可伸缩的低延迟垃圾回收器,处于实验性阶段) 335: Deprecate the Nashorn JavaScript Engine(弃用 Nashorn JavaScript 引擎) 336: Deprecate the Pack200 Tools and API(弃用 Pack200 工具及其 API)

2018-09-26

批处理关闭window被占用的端口

输入查询的端口号码,如果被占用,则显示占用的该端口的PID。输入对应的PID即可将window系统中被占用的端口关闭掉

2018-09-05

U盘快捷方式修复批处理文件

该批处理文件可以修复U盘快捷方式病毒。该批处理文件无毒,请放心使用。仅作为应急使用。修复完成之后,快捷方式依然存在。此批处理文件不做杀毒软件使用,使用完成后,请使用专业杀毒软件查杀。

2018-06-17

windos系统快速启动mysql服务

启动mysql服务。可以放在桌面或者任务栏。以方便启动mysql服务。

2018-06-17

基于C#+SQL Server的学生管理系统

基于C#+SQL开发的学生管理系统界面美观 功能完备。代码仅具有参考价值。如对你有帮助,欢迎留言。

2015-12-19

空空如也

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

TA关注的人

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