一灰灰blog_社区达人页

个人头像照片
一灰灰blog
已加入开发者社区2002

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布229篇文章
1条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
  • 数据库
擅长领域
技术认证

暂无个人介绍

暂无精选文章
暂无更多信息

2022年05月

  • 05.19 13:47:34
    发表了文章 2022-05-19 13:47:34

    Cglib应用:基于Map动态生成JavaBean对象

    再某些特殊的场景下,存在手动创建java类的case,比如我有个需求,希望根据简单的Map对象,来生成一个对应的Java bean,可以怎么整? 针对这个而典型的场景,先考虑是否有现成可用的开源工具类来实现,比如我们经常接触到cglib,它可以动态生成代理对象,那么生成Java Bean也没有什么问题 接下来我们看一下使用cglib来创建bean的方式
  • 05.19 13:46:19
    发表了文章 2022-05-19 13:46:19

    实战小技巧11:数组拷贝

    说实话,在实际的业务开发中,基本上很少很少很少...会遇到数组拷贝的场景,甚至是我们一般都不怎么用数组,List它不香嘛,为啥要用数组 现在问题来了,要实现数组拷贝,怎么整?
  • 05.19 13:44:43
    发表了文章 2022-05-19 13:44:43

    实战小技巧10:不可变容器

    不可变容器,看着好像在实际的业务中不怎么会用到,但实则不然,相信每个小伙伴都用过,或者看到过下面的代码
  • 05.19 13:41:21
    发表了文章 2022-05-19 13:41:21

    实战小技巧9:List.subList使用不当StackOverflowError

    相信每个小伙伴都使用过List.subList来获取子列表,日常使用可能没啥问题,但是,请注意,它的使用,很可能一不小心就可能导致StackOverflowError
  • 05.19 13:40:00
    发表了文章 2022-05-19 13:40:00

    实战小技巧8:容器的初始化大小指定

    容器可以说是我们日常开发中,除了基本对象之外,使用最多的类了,那么平时在使用的时候,是否有主意到良好编程习惯的大佬,在创建容器的时候,一般会设置size;那么他们为什么要这么干呢?是出于什么进行考量的呢? 今天我们将针对最常见的List/Map/Set三种容器类型的初始化值选择,进行说明
  • 05.19 13:38:09
    发表了文章 2022-05-19 13:38:09

    实战小技巧7:排序比较要慎重

    今天介绍的又是一个非常非常基本的基本知识点,为啥要单独拎出来?还是因为这个东西虽然非常简单,但是很容易掉坑,我已经遇到几次不严谨的写法了
  • 05.19 13:36:50
    发表了文章 2022-05-19 13:36:50

    实战小技巧6:枚举的特殊用法

    难道我们日常使用的枚举还有什么特殊的玩法不成?没错,还真有,本文主要介绍枚举的两种不那么常见的使用姿势
  • 05.19 13:35:31
    发表了文章 2022-05-19 13:35:31

    SpringBoot + Mybatis系列教程之 CURD 基本使用姿势

    mybatis 作为数据的 ORM 框架,在国内的应用市场还是非常可观的,当初刚开始工作时使用 spring + mybatis 进行开发,后来也使用过 hibernate, jdbctemplate, jooq,mybatisplus 等其他的一些框架, 就个人使用感触来讲 jooq 的使用姿势和写 sql 差不多,基本上可以会写 sql 的无需额外的培训,立马可以上手;
  • 05.19 13:32:50
    发表了文章 2022-05-19 13:32:50

    实战小技巧5:驼峰与下划线互转

    这个考题非常实用,特别是对于我们这些号称只需要CURD的后端开发来说,驼峰与下划线互转,这不是属于日常任务么;一般来讲db中的列名,要求是下划线格式(why? 阿里的数据库规范是这么定义的,就我感觉驼峰也没毛病),而java实体命名则是驼峰格式,所以它们之间的互转,就必然存在一个驼峰与下划线的互转 今天我们就来看一下,这两个的互转支持方式
  • 05.19 13:31:27
    发表了文章 2022-05-19 13:31:27

    聊一聊Java中那些常见的并发控制手段

    单实例的并发控制,主要是针对JVM内,我们常规的手段即可满足需求,常见的手段大概有下面这些 同步代码块 CAS自旋 锁 阻塞队列,令牌桶等
  • 05.19 13:29:30
    发表了文章 2022-05-19 13:29:30

    实战小技巧4:优雅的实现字符串拼接

    相信没有小伙伴没有写过这样的代码,比如说现在让我们来实现一个字符串拼接的场景,怎样的实现才算是优雅的呢? 以将int数组转为英文逗号分隔的字符串为例进行演示
  • 05.19 13:28:14
    发表了文章 2022-05-19 13:28:14

    实战小技巧3:字符串与容器互转

    每天一个实战小技巧:字符串与Collection的互转 将字符串转换为List,这种业务场景可以说非常非常常见了,实现方式也比较简单
  • 05.19 13:26:34
    发表了文章 2022-05-19 13:26:34

    实战小技巧2:数组与list互转

    这个考题比较常见,也比较简单,难道就这也有什么可以说到的门路不成? 接下来本文好好的说一说它的几种实现姿势,总有一款你喜欢的
  • 05.19 13:24:54
    发表了文章 2022-05-19 13:24:54

    实战小技巧:字符串占位替换-JDK版

    接下来我们看一下在我们的日常工作生涯中,经常涉及到的几种占位替换方式
  • 05.19 13:22:51
    发表了文章 2022-05-19 13:22:51

    Jackson中那些你需要掌握的知识点

    使用json进行数据交互可以说是非常常见的常见,在java侧,常用的json解析框架也不少,比如gson, fastjson以及spring mvc中默认使用的jackson;本文将主要介绍一下jackson的基本使用姿势,以及在日常开发中,你应该了解的知识点,比如常见的
  • 05.19 13:19:48
    发表了文章 2022-05-19 13:19:48

    SpringBoot之拦截器Interceptor使用姿势介绍

    在SpringMVC中,拦截器与Filter两者的应用场景好像差不多,最大的区别可能是前者属于Spring的特产,而后者则是Servlert三剑客中的一个,它们本质的区别在于两者发生的时机不一致
  • 05.19 13:18:19
    发表了文章 2022-05-19 13:18:19

    SpringBoot应用篇基于Redis实现延时队列

    延时队列,相信各位小伙伴并不会陌生,jdk原生提供了延时队列的使用,当然我们这里介绍的不是这种;在实际的项目中,如果我们有延时队列的场景,可以怎样去实现呢 举一个简单的例子,如下单15分钟内,若没有支付,则自动取消订单 本文将介绍一种非常非常简单的实现方式
  • 05.19 13:15:58
    发表了文章 2022-05-19 13:15:58

    SpringBoot实战基于异常日志的邮件报警

    相信所有奋斗在一线的小伙伴,会很关心自己的系统的运行情况,一般来说,基础设施齐全一点的公司都会有完善的报警方案,那么如果我们是一个小公司呢,不能因为基础设施没有,就失去对象的感知能力吧;如果我们的系统大量异常却不能实时的触达给我们,那么也就只会有一个结果--杀个程序猿祭天 本文简单的介绍一种实现思路,基于error日志来实现邮件的报警方案
  • 05.19 13:13:12
    发表了文章 2022-05-19 13:13:12

    SpringBoot系列之邮件发送姿势介绍

    邮件发送,在实际的项目开发中,可能用的不是特别多,如果没有特定的需求,相信也没有多少小伙伴会特意的去关注,那么如果现在我们希望针对项目做一个异常的报警系统,当出现异常的时候,可以向指定的小伙伴发送邮件提醒,那么让我们来实现这个功能,可以怎么办呢? 这里介绍一下如何使用SpringBoot封装好的MailSender来实现邮件发送
  • 05.19 13:10:01
    发表了文章 2022-05-19 13:10:01

    【SpringBoot + Mybatis系列】插件机制 Interceptor| 8月更文挑战

    本文将主要介绍一下自定义 Interceptor 的使用姿势,并给出一个通过自定义插件来输出执行 sql,与耗时的 case
  • 05.18 23:15:43
    发表了文章 2022-05-18 23:15:43

    【SpringBoot + Mybatis系列】自定义类型转换 TypeHandler| 8月更文挑战

    在使用 mybatis 进行 db 操作的时候,我们经常会干的一件事情就是将 db 中字段映射到 java bean,通常我们使用ResultMap来实现映射,通过这个标签可以指定两者的绑定关系,那么如果 java bean 中的字段类型与 db 中的不一样,应该怎么处理呢?
  • 05.18 23:13:38
    发表了文章 2022-05-18 23:13:38

    SpringBoot应用篇@Value配置自动刷新能力扩展实践| 8月更文挑战

    在我们的日常开发中,使用@Value来绑定配置属于非常常见的基础操作,但是这个配置注入是一次性的,简单来说就是配置一旦赋值,则不会再修改; 通常来讲,这个并没有什么问题,基础的 SpringBoot 项目的配置也基本不存在配置变更,如果有使用过 SpringCloudConfig 的小伙伴,会知道@Value可以绑定远程配置,并支持动态刷新 接下来本文将通过一个实例来演示下,如何让@Value注解支持配置刷新;本文将涉及到以下知识点
  • 05.18 23:11:04
    发表了文章 2022-05-18 23:11:04

    【SpringBoot + Mybatis系列】Mapper接口与Sql绑定几种姿势

    通常我们在使用Mybatis进行开发时,会选择xml文件来写对应的sql,然后将Mapper接口与sql的xml文件建立绑定关系,然后在项目中调用mapper接口就可以执行对应的sql 那么如何将Mapper接口与sql进行绑定呢?本文将介绍四种常见的姿势
  • 05.18 23:08:24
    发表了文章 2022-05-18 23:08:24

    【SpringBoot + Mybatis系列】Mapper接口注册的几种方式

    SpringBoot项目中借助Mybatis来操作数据库,对大部分java技术栈的小伙伴来说,并不会陌生;我们知道,使用mybatis,一般会有下面几个
  • 05.18 23:06:04
    发表了文章 2022-05-18 23:06:04

    SpringBoot缓存注解@Cacheable之自定义key策略及缓存失效时间指定

    上一篇博文介绍了Spring中缓存注解@Cacheable @CacheEvit @CachePut的基本使用,接下来我们将看一下更高级一点的知识点 (Spring系列缓存注解@Cacheable @CacheEvit @CachePut 使用姿势介绍)
  • 05.18 23:02:18
    发表了文章 2022-05-18 23:02:18

    Spring系列缓存注解@Cacheable @CacheEvit @CachePut 使用姿势介绍

    Spring在3.1版本,就提供了一条基于注解的缓存策略,实际使用起来还是很丝滑的,本文将针对几个常用的注解进行简单的介绍说明,有需要的小伙伴可以尝试一下
  • 05.18 22:59:46
    发表了文章 2022-05-18 22:59:46

    SpringBoot基础系列@Value 之字面量及 SpEL使用知识点介绍篇

    承接上一篇博文【SpringBoot 基础系列】@Value 中哪些你不知道的知识点 中提及到但没有细说的知识点,这一篇博文将来看一下@Value除了绑定配置文件中的属性配置之外,另外支持的两种姿势
  • 05.18 20:52:31
    发表了文章 2022-05-18 20:52:31

    SpringBoot基础系列之自定义配置源使用姿势实例演示

    前面一篇博文介绍了一个@Value的一些知识点,其中提了一个点,@Value对应的配置,除了是配置文件中之外,可以从其他的数据源中获取么,如从 redis,db,http 中获取配置? 了解过 SpringCloud Config 的可以给出确切的答案,可以,而且用起来还老爽了,远程配置,支持配置动态刷新,接下来我们来看一下,在 SpringBoot 中,如何配置自定义的数据源
  • 05.18 20:49:00
    发表了文章 2022-05-18 20:49:00

    SpringBoot基础系列之AOP结合SpEL实现日志输出中两点注意事项

    使用 AOP 来打印日志大家一把都很熟悉了,最近在使用的过程中,发现了几个有意思的问题,一个是 SpEL 的解析,一个是参数的 JSON 格式输出
  • 05.18 20:46:18
    发表了文章 2022-05-18 20:46:18

    SpringBoot基础篇之@Value中哪些你不知道的知识点

    看到这个标题,有点夸张了啊,@Value 这个谁不知道啊,不就是绑定配置么,还能有什么特殊的玩法不成? (如果下面列出的这些问题,已经熟练掌握,那确实没啥往下面看的必要了)
  • 05.18 20:41:52
    发表了文章 2022-05-18 20:41:52

    【SpringBoot 基础系列】接口上注解 AOP 拦截不到场景兼容实例演示

    在 Java 的开发过程中,面向接口的编程可能是大家的常态,切面也是各位大佬使用 Spring 时,或多或少会使用的一项基本技能;结果这两个碰到一起,有意思的事情就发生了,接口方法上添加注解,面向注解的切面拦截,居然不生效 这就有点奇怪了啊,最开始遇到这个问题时,表示难以相信;事务注解也挺多是写在接口上的,好像也没有遇到这个问题(难道是也不生效,只是自己没有关注到?) 接下来我们好好瞅瞅,这到底是怎么个情况
  • 05.18 20:38:38
    发表了文章 2022-05-18 20:38:38

    【SpringBoot基础系列】手把手实现国际化支持实例开发

    国际化的支持,对于app开发的小伙伴来说应该比价常见了;作为java后端的小伙伴,一般来讲接触国际化的机会不太多,毕竟业务开展到海外的企业并没有太多 SpringBoot提供了国际化的支持,网上也有相关的教程,然而实际体验的时候,发现并没有预期的那么顺利;本文将介绍一下SpringBoot如何支持国家化,以及在支持的过程中,一些注意事项
  • 05.18 20:34:17
    发表了文章 2022-05-18 20:34:17

    【SpringBoot 基础系列】事件机制的两种消费姿势

    借助Spring可以非常简单的实现事件监听机制,本文简单介绍下面向接口与注解监听的两种姿势
  • 05.18 20:31:58
    发表了文章 2022-05-18 20:31:58

    Zookeeper从0到1实现一个分布式锁

    分布式锁,在实际的业务使用场景中算是比较常用的了,而分布式锁的实现,常见的除了redis之外,就是zk的实现了,前面一篇博文介绍了zk的基本概念与使用姿势,那么如果让我们来记住zk的特性来设计一个分布式锁,可以怎么做呢?
  • 05.18 20:10:39
    发表了文章 2022-05-18 20:10:39

    Spring整合ZooKeeper基础使用介绍

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,广泛应用于分布式系统中,比如有用它做配置中心,注册中心,也有使用它来实现分布式锁的,作为高并发技术栈中不可或缺的一个基础组件,接下来我们将看一下,zk应该怎么玩,可以怎么玩 本文作为第一篇,将主要介绍基于zk-client的基本使用姿势,依次来了解下zk的基本概念
  • 05.18 20:00:54
    发表了文章 2022-05-18 20:00:54

    BeanUtil 驼峰下划线互转扩展

    上一篇博文常见Bean拷贝框架使用姿势及性能对比 介绍了几种bean拷贝框架的使用姿势以及性能对比,主要适用的是属性名一致、类型一致的拷贝,在实际的业务开发中,经常会用到驼峰和下划线的互转,本文在之前的基础上进行扩展
  • 05.18 19:59:11
    发表了文章 2022-05-18 19:59:11

    Bean拷贝常用框架使用姿势与性能对比

    当业务量不大时,不管选择哪个框架都没什么问题,只要功能支持就ok了;但是当数据量大的时候,可能就需要考虑性能问题了;再实际的项目中,正好遇到了这个问题,不仅慢,还发现会有锁竞争,这特么就尼普了
  • 05.18 17:53:27
    发表了文章 2022-05-18 17:53:27

    ElastchSearch 基本使用姿势

    ElastchSearch 基本使用姿势,如常见的 添加文档 常见的查询姿势 修改/删除文档
  • 05.18 17:47:09
    发表了文章 2022-05-18 17:47:09

    Java中两种分页遍历的使用姿势

    在日常开发中,分页遍历迭代的场景可以说非常普遍了,比如扫表,每次捞100条数据,然后遍历这100条数据,依次执行某个业务逻辑;这100条执行完毕之后,再加载下一百条数据,直到扫描完毕 那么要实现上面这种分页迭代遍历的场景,我们可以怎么做呢
  • 05.18 17:45:39
    发表了文章 2022-05-18 17:45:39

    一次并发插入死锁带来的 MySql 锁知识点整理 |牛气冲天新年征文

    最近遇到一个由于唯一性索引,导致并发插入产生死锁的场景,在分析死锁产生的原因时,发现这一块还挺有意思的,涉及到MySql中不少的知识点,特此总结记录一下
  • 05.18 17:39:46
    发表了文章 2022-05-18 17:39:46

    【SpringBoot DB系列】Mybatis多数据源配置与使用

    上一篇博文介绍 JdbcTemplate 配置多数据源的使用姿势,在我们实际的项目开发中,使用 mybatis 来操作数据库的可能还是非常多的,本文简单的介绍一下 mybatis 中,多数据源的使用姿势
  • 05.18 17:25:46
    发表了文章 2022-05-18 17:25:46

    【SpringBoot DB 系列】Mybatis-Plus 多数据源配置

    MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,既然做增强,那多数据源这种硬性场景,肯定是有非常简单的解决方案的 本文将实例演示 Mybatis-Plus 多数据源的配置
  • 05.18 17:21:20
    发表了文章 2022-05-18 17:21:20

    【SpringBoot DB 系列】Mybatis 基于 AbstractRoutingDataSource 与 AOP 实现多数据源切换

    前面一篇博文介绍了 Mybatis 多数据源的配置,简单来讲就是一个数据源一个配置指定,不同数据源的 Mapper 分开指定;本文将介绍另外一种方式,借助AbstractRoutingDataSource来实现动态切换数据源,并通过自定义注解方式 + AOP 来实现数据源的指定
  • 05.18 17:17:46
    发表了文章 2022-05-18 17:17:46

    【SpringBoot基础系列】ConfigurationProperties 配置绑定中那些你不知道的事情

    在 SpringBoot 项目中,获取配置属性可以说是一个非常简单的事情,将配置写在aplication.yml文件之后,我们就可以直接通过@Value注解来绑定并获取;此外我们也可以将一个结构化的配置,借助@ConfigurationPorperties绑定到一个 POJO,然后供项目使用,那么在使用它的时候,不知是否有想过
  • 05.18 17:13:19
    发表了文章 2022-05-18 17:13:19

    Spring 工具类之基本元素判断

    实际业务开发中偶尔会遇到判断一个对象是否为基本数据类型,除了我们自老老实实的自己写之外,也可以借助 Spring 的 BeanUtils 工具类来实现
  • 05.18 17:12:19
    发表了文章 2022-05-18 17:12:19

    【SpringBoot DB系列】Jooq批量写入采坑记录

    前面介绍了jooq的三种批量插入方式,结果最近发现这里面居然还有一个深坑,我以为的批量插入居然不是一次插入多条数据,而是一条一条的插入...,这就有点尬了
  • 05.18 17:09:05
    发表了文章 2022-05-18 17:09:05

    Maven 中央仓库提交Jar包全程指南

    本文记录一下将jar上传到maven中央仓库的全过程,文中项目依托在github上,使用的是mac环境 (关于maven、jdk的环境配置不属于本文内容)
  • 05.18 16:58:50
    发表了文章 2022-05-18 16:58:50

    【SpringBoot DB 系列】Redis 高级特性之 HyperLoglog

    hyperloglog 算法,利用非常少的空间,实现比较大的数据量级统计;比如我们前面在介绍 bitmap 的过程中,说到了日活的统计,当数据量达到百万时,最佳的存储方式是 hyperloglog,本文将介绍一下 hyperloglog 的基本原理,以及 redis 中的使用姿势
  • 05.18 16:56:26
    发表了文章 2022-05-18 16:56:26

    【SpringBoot DB 系列】Redis 高级特性之发布订阅

    通常来讲,当我们业务存在消息的业务逻辑时更多的是直接使用成熟的 rabbitmq,rocketmq,但是一些简单的业务场景中,真的有必要额外的引入一个 mq 么?本文将介绍一下 redis 的发布订阅方式,来实现简易的消息系统逻辑
  • 05.18 16:36:43
    发表了文章 2022-05-18 16:36:43

    【SpringBoot DB 系列】Redis 高级特性之 Bitmap 使用姿势及应用场景介绍

    前面介绍过 redis 的五种基本数据结构,如 String,List, Set, ZSet, Hash,这些属于相对常见了;在这些基本结果之上,redis 还提供了一些更高级的功能,如 geo, bitmap, hyperloglog,pub/sub,本文将主要介绍 Bitmap 的使用姿势以及其适用场景,主要知识点包括
  • 发表了文章 2022-05-25

    Guava HashMultimap使用及注意事项

  • 发表了文章 2022-05-19

    如何用Java实现位图转矢量图?

  • 发表了文章 2022-05-19

    ElasticSearch不支持分组查询么?

  • 发表了文章 2022-05-19

    Java实现GIF图转字符动图实例demo

  • 发表了文章 2022-05-19

    Java实现图片转字符输出示例demo

  • 发表了文章 2022-05-19

    Java实现Gif图转字符动图

  • 发表了文章 2022-05-19

    SpringBoot系列之Prometheus自定义埋点姿势二

  • 发表了文章 2022-05-19

    【Spring系列】SpringContext.getBean()方法调用导致NPE?

  • 发表了文章 2022-05-19

    Java实现图片转字符图片示例demo

  • 发表了文章 2022-05-19

    SpringBoot系列之拦截器注入Bean的几种姿势

  • 发表了文章 2022-05-19

    SpringBoot + thymeleaf foreach踩坑记录

  • 发表了文章 2022-05-19

    Java也可以非常简单的实现图片灰度化

  • 发表了文章 2022-05-19

    Js实现粘贴板中写入text

  • 发表了文章 2022-05-19

    Guava之Supplier缓存使用示例

  • 发表了文章 2022-05-19

    SpringBoot系列之Prometheus自定义埋点上报

  • 发表了文章 2022-05-19

    封装一个根据路径获取文件资源的工具类

  • 发表了文章 2022-05-19

    mysql索引过长Specialed key was too long问题记录

  • 发表了文章 2022-05-19

    Mybatis之ParameterMap、ParameterType传参类型指定使用姿势

  • 发表了文章 2022-05-19

    Gson流式反序列化JsonReader

  • 发表了文章 2022-05-19

    实战小技巧20:jar包执行传参使用小结

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息