自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宜春

少年太弱,请专心练剑

  • 博客(191)
  • 资源 (2)
  • 问答 (10)
  • 收藏
  • 关注

原创 浅谈Spring中的BeanFactory与FactoryBean

1、getobject ()方法会返回该FactoryBean “生产” 的对象实例,我们需要实现该方法以给出自己的对象实例化逻辑;2、getobjectTYype ()方法仅返回getobject ()方法所返回的对象的类型,如果预先无法确定,则返回null;特别注意这个方法主要作用是:该。

2023-05-03 13:46:19 1182

原创 Spring中如何使用工厂模式实现程序解耦?

文章目录1、 啥是耦合、解耦?2、 jdbc程序进行解耦3、传统dao、service、controller的程序耦合性4、使用工厂模式实现解耦5、工厂模式改进6、结语1、 啥是耦合、解耦?既然是程序解耦,那我们必须要先知道啥是耦合,耦比如下面这段代码: public class A{ public int i; } public class B{ public void put(A a){

2019-12-24 19:24:38 5187 1

原创 别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】

点进文章的盆友不如先来做一道非常常见的面试题,如果你能做出来,可能你早已掌握并理解了java的类加载机制,若结果出乎你的意料,那就很有必要来了解了解java的类加载机制了。代码如下嗯哼?其实上面程序并不是关键,可能真的难不倒各位,不妨做下面一道面试题可好?如果下面这道面试题都做对了,那没错了,这篇文章你就不用看了,真的。

2019-12-01 21:47:35 57605 179

原创 运用单例模式思想解决RuntimeException超时问题

用ConcurrentHashMap存储一下,每次都先从map里面拿,不难看出,其实这里和单例思想是一样的。发现,原来这是同事比较久,之前的代码,这相当于来一次就newInstance一次,于是改造下。今天,排查了一个RuntimeException超时问题,简单记录分享下。分析关键日志排查如下。

2024-04-12 10:16:59 343 1

原创 MAC M1版IDEA热部署JRebel

2、选中 Team URL (connect to online licensing service) 选项,地址栏输入:http://127.0.0.1:8888/+“刚才复制的guid”Email随意填写符合格式的邮箱地址即可。或者地址栏输入:https://jrebel.qekang.com/+“刚才复制的guid”激活插件。可以看到JRebel的过期时间,一般是半年,半年过期后,使用本文描述的方式再执行一次就可以了。特别注意:M1用户请使用下面的下载!1、在idea里面安装jrebel插件。

2024-04-11 15:58:27 599

原创 解决SpringBoot整合Activiti引用JPA:缺少javax.persistence.EntityManagerFactory

系统接入工作流Activiti的时候,发现activiti初始化表,操作数据库使用的是jpa,我们这里解决办法就是引入spring-data-jpa-starter自动配置EntityManagerFactory。

2023-10-24 20:02:48 2600

原创 LamdaUpdateWapper失效问题

比如ID入参在swagger中或前端入参:“412210293355454”,结果不小心为“ 412210293355454”,我还差点以为是MP的使用bug,或者是没遵守规定使用API,如果真没发现这个空格,就只能差点就去写XML的自定义sql了。,结果ID多输入了一个空格直接修改返回条数为0。而且几乎看不出来这个空格。因为入参是json的。

2023-10-19 20:17:20 2267

原创 MAC版Gradle构建Spring5.X源码阅读环境

三年前鄙人有幸在现已几乎报废的Window的DELL中搭建过Spring源码环境,今天,Mac版的搭建,来了。本篇文章环境搭建:Spring5.2.1 + Gradle5.6.3-all + jdk8 + IDEA2022.3版本

2023-10-09 21:37:00 2759

原创 记一次Linux启动Mysql异常解决

命令同样可以看到是磁盘不足导致的问题。其实,在启动MySQL报错的时候就提示了问题的解决方式。然后把磁盘的不重要文件直接删除即可。第二步看日志/根据提示命令看信息。(下图是已经清理过的结果截图)并没有发现3306数据库端口。第一步看全局端口占用情况。

2023-08-08 17:20:53 455

原创 PowerDesigner数据库设计工具使用笔记

简单记录下这个数据库设计工具的使用,在开发中设计数据库过程用得上,好记性不如烂笔头Q

2023-08-08 11:34:18 471

原创 关于Log日志

日志常用的如Logback,方便查看日志和打印的SQL(或配合idea的一些mybaits日志插件),简单讲讲。

2023-08-08 11:07:11 201

原创 使用自定义注解+本地缓存优化业务代码

本地缓存使用的是Guava的Maps.newHashMap();返回的是HashMap,这里缓存字典,Key为字符串,Value为Map<>,也就是。实现:自定义注解MultipleDict + 本地缓存;适合本地缓存前提:实体对象list比较多条数。自定义注解MultipleDict。“男士/女士/儿童”

2023-06-19 16:42:21 169

原创 jeecg-boot权限篇

前言本文档是对jeecg-boot官方文档的一个分析和补充,具体的可以同时互相参照来看,难免个人理解有出路,如有错误,还望补充和指正~

2023-06-11 09:23:19 5053

原创 浅谈Mysql的RR和RC隔离级别的主要区别

就是说两个并发事务数AB,A先开启事物最后提交也是最后,事务B开启和提交都在A内部,由于隔离级别不同(RR和RC)会导致数据执行的顺序不同,数据结果就不同。主从同步过程binlog如果为statement格式(statement格式的bin log记录就是SQL语句原句)就有出现问题。RR支持三种锁(为了解决幻读的问题,支持Record Lock的同时,还支持Gap Lock和Next-Key Lock)。首先默认RR是因为mysql为了保证在主从同步过程中数据的安全的问题(涉及到binlog三种格式)。

2023-05-03 15:10:28 1282 1

原创 程序员的自我修养

一句话,宁教我卷天下人,休教天下人卷我。————2023.4.30几度夕阳红。

2023-04-30 09:45:47 149

原创 浅谈微服务与分布式架构

对于分布式与微服务之间的一点个人拙见有一天高启强去专业的五星级饭店吃鱼,而这整个流程就是一个完整的业务的话,那强哥必须讲究排面,必须是专业的《老莫我想吃鱼了》。如果厨师、洗菜员、传菜员和服务员都不止一个人,而且厨师和厨师、服务员和服务员之间都是做相同的事情,那这就是分布式集群架构。如果具体到某一个厨师做鲫鱼、鲈鱼、肥鲶鱼都单独作为一个业务工程垂直拆分来进行,或许以后会更细(根据同种鱼的大小鱼鳍颜色不同鱼是否歪嘴长得是否歪瓜或者裂枣来进一步细分),那这就是微服务架构。粗略的讲人话,其实本质的区别就体

2023-04-28 15:38:19 141 1

原创 Mac M1执行Brew install 下载报错Command failed with exit 128:git

【代码】Mac M1执行Brew install 下载报错Command failed with exit 128:git。

2023-04-14 11:38:07 254

原创 随记......

近段时间无头绪,希望明年后年年年的今天会好运连连,1024,留个juo印…

2022-10-24 20:27:24 720 2

转载 一次 MySQL 线上死锁分析实战

MySQL 的锁机制相信大家在学习 MySQL 的时候都有简单的了解过,那既然有锁就必定绕不开死锁这个问题。其实 MySQL 在大部分场景下是不会存在死锁问题的(比如并发量不高,SQL 写得不至于太拉胯的情况),但是在高并发的业务场景下,一不注意就会产生死锁,而这个死锁分析起来也比较麻烦。前段时间在公司实习的时候就遇到了一个比较奇怪的死锁,之前一直没来得及好好整理,最近有空复现了一下,算是积累一点经验。

2022-09-25 17:10:57 811 1

原创 Windows杀掉指定进程命令

这里以进程为1601的微服务进程为例,小计一下,方便后续查看。

2022-07-19 18:16:13 1424 1

原创 Spring Boot微服务项目启动错误: 找不到或无法加载主类解决方案

这个问题其实不考察技术含量,只是看思路和细心程度。简单记录下,希望能帮助一个是一个。

2022-07-18 16:36:56 4528

原创 Excel文件数据导入到MySQL数据库

这里以Navicat客户端工具为例,当然版本我用的是16。

2022-07-10 15:08:37 1280

原创 写作技术文章是留给自己未来的财富

不知不觉已经写作三年过去了,有付出也有收获,有期待也有平平淡淡,也有很多无奈和或多或少的热情消减,我也发现我以前的文章有很多都会在文章末尾加上一句:《如果有疑问欢迎留言,绝对第一时间回复!》沃滴🐎!!!每每看到,我都后背发凉,确实好几篇文章都有这个,其实,每个人每个阶段都会有不同的层面的认知和每个层次需要去做的事情,我也是个平凡人,仅此而已。只是突然翻到自己19年的文章,发现那个时候的文章内容也好,demo代码片段也好,对我自己现在还收益颇多,实不相瞒,有段时间我也会惋惜自己写文章“浪费”了很多时间,因为.

2022-06-04 16:45:47 377 4

转载 【Java基础】Java位运算

在位运算前,需要先了解二进制码相关知识,详情请见博主的另一篇博文:原码、反码、补码 Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节类型(byte)等类型。 Java包含了七种位运算符 位运算符说明>>右移运算符,符号左侧数值 按位右移 符号右...

2022-03-17 19:00:59 1803 2

转载 学累了就来看看,直击编程人微凉的心,少年冲吧,向上吧

趁着年轻生猛,我要再和生活死磕几年。要么我就毁灭,要么我就铸就辉煌。如果有一天,你发现我在平庸面前低了头,那么请向我开炮。——捷克·凯鲁亚克《在路上》 ​​​​众生皆苦,没有人会被命运额外眷顾。如果你活得格外轻松顺遂,一定是有人替你承担了你该承担的重量。——苏心《哪有什么岁月静好,不过是有人替你负重前行》 ​​​​我们最可怕的敌人不是怀才不遇,而是我们的踌躇,犹豫。将自己定位为某一种人,于是,自己便成了那种人。——海伦·凯勒《假如给我三天光明》 ​​​这世界本就没有任何一句话,可以让你醍醐灌顶。真正叫

2022-02-23 23:41:49 411 1

原创 Mac OS下安装并连接Mysql

无语住了,转不久的Mac os,很多环境之类的东西还不是很熟悉,今天的圣诞节一下午被mysql安排了,说出去会笑死人????Mac OS安装mysql官网地址:https://dev.mysql.com/downloads/mysql/然后就是傻瓜式安装了,以后的文章都尽量简洁,改改风格哈哈,安装只要注意一点就好:安装有一步选择如下,然后要输入密码,这个密码就是连接mysql的密码,需要记住连接mysql客户端一下午的时间就安排这了,真的无语住了这一步。遇到各种坑。就是一直连不上,这里

2021-12-25 22:50:48 1195

原创 二维数组其实也能用CPU缓存行来优化

前言这是一个关于计算机基础知识的程序,关于CPU缓存行的问题,也许某一天你会发现这个确实可以在自己公司性能优化上用得上,哈哈正文程序描述:一个双重for循环访问二维数组的程序程序目的:两种方式的运行时间,哪种方式更优?唯一不同点:一个是array[i][j],另一个是array[j][i].也就是说,一个是以 一行行,另一个是 一列列 的形式访问二维数组。大家猜猜结果是啥?哪种方式运行用的时间长? 依据是什么?程序如下package com.example.yichun;/** *

2021-12-23 20:00:47 505

原创 二进制原码、反码、补码

文章目录1、有符号数和无符号数2、二进制的原码、反码、补码原码反码补码小结举个栗子:3、思考:java中为什么byte的取值范围是-128~1274、Java中的<< 和 >> 和 >>>1、有符号数和无符号数其实就是正数和负数,最高位(第一位)是符号位,正数符号位为“0” ,负数符号位为“1” 。如 1和-1表示为如下0000 00011000 00012、二进制的原码、反码、补码原码原码就是机器数,是加了一位符号位的二进制数(因为数值有正负之分)

2021-12-01 23:01:18 18567 14

原创 JVM垃圾收集器【JVM篇五】

在上一篇这货到底还是不是垃圾?【垃圾回收GC算法JVM篇四】中,已经讲完了垃圾收集算法了,算法算法在怎么算也是一种方法策略,没有肉体骨架的支撑,那么它就永远只是一个空壳,如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。那么本文将进行垃圾收集器的讲解。1、垃圾收集器还是那句话:如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现。总的来说,Java 虚拟机的垃...

2021-10-24 21:27:19 474

原创 idea工具的快捷常规操作

前言好久没有写文章了,宜春这小子属实是飘了!话就不多说了,也许是被生活磨平了棱角,不过这份热爱是还是一直都在的.目录总览:1、自动导入包 Auto import2、Tabs个数 Editor Tabs3、复制历史 Ctrl+Shift+V4、多行同时编辑 Alt+左键选择多行5、全局搜索 Ctrl + Shift + R/Ctrl + H6、局部所有引用重命名 Alt + Shift + R/Shift + F6待....1、自动导入包 Auto import2、Tabs个数 Editor Tab

2021-08-17 00:05:42 584 3

原创 解决Redis问题:JedisConnectionException: Could not get a resource from the pool

1、问题描述:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool2、简要分析:redis.clients.util.Pool.getResource会从JedisPool实例池中返回一个可用的redis连接。分析源码可知JedisPool 继承了 redis.clients.util.Pool ,而这个Pool是通过commons-pool开源工具包中的org.a

2021-04-01 10:35:56 64322 4

原创 少年太弱,请专心练剑!

前言关于两年多的写作,如果你和我一样是一位博主,喜欢分享一些文章,那么恭喜你,关于写博客这是件非常好的一件事!百利无一害。如果你不喜欢写博客,那也无妨,不妨试着写写,就当给自己做笔记!写博客最开始真的是像在玩单机游戏,刚开始写,你想分享你的见解,希望更多人和你交流和探讨,抱歉,无人问津。是的刚写文章的时候基本上没人访问你的文章,没人评论和点赞,就像没有鲜花和面包一样。甚至会感到孤单直到放弃…实际上我也是这样过来的,写了半年没有一点点起色,但还是一直写着,写博客是一个自娱自乐的过程,并且是一个时刻保持热爱的

2020-12-27 19:44:58 1422 5

转载 看完这篇垃圾回收,和面试官扯皮没问题了

前言由于微信公众号排版图片显示问题,推荐直接看原文:看完这篇垃圾回收,和面试官扯皮没问题了 Java 相比 C/C++ 最显著的特点便是引入了自动垃圾回收 (下文统一用 GC 指代自动垃圾回收),它解决了 C/C++ 最令人头疼的内存管理问题,让程序员专注于程序本身,不用关心内存回收这些恼人的问题,这也是 Java 能大行其道的重要原因之一,GC 真正让程序员的生产力得到了释放,但是程序员很难感知到它的存在,这就好比,我们吃完饭后在桌上放下餐盘即走,服务员会替你收拾好这些餐盘,你不会关心服务员什么时

2020-11-13 19:40:34 1581 2

转载 聊聊一致性哈希

既然有一致性哈希,就肯定还有不一致哈希,为啥平时没人说不一致哈希呢?因为常见的哈希都是不一致的,所以就不修饰了,到了一致性哈希才特殊加个描述词修饰一下。哈希一般都是将一个大数字取模然后分散到不同的桶里,假设我们只有两个桶,有 2、3、4、5 四个数字,那么模 2 分桶的结果就是:

2020-11-13 09:02:07 436 1

原创 Vue执行npm run dev 报错:missing script:dev

用Vue-cli创建的项目骨架,在执行npm run dev命令运行时,发生了个小插曲:missing script:dev解决方案检查一下该项目文件夹中的package.json文件,可能两种情况1、在script里,有dev这一行2、在script里,没有dev这一行有dev有dev这一行的码友就需要检查一下打开终端时的文件夹没有dev在script里,没有dev则需要重新下载,然后在npm intall 安装依赖,最后 npm run dev即可,如果没有dev,而是se.

2020-11-07 08:29:33 4901 1

转载 ES6这些就够了!

刚开始用Vue或者React,很多时候我们都会把ES6+这位大兄dei加入我们的技术栈中。但是ES6+那么多那么多新特性,我们真的需要全部都掌握吗?秉着二八原则,掌握好常用的、有用的,这个可以让我们的开发快速起飞。接下来我们就聊聊ES6那些可爱的新特性吧!1.变量声明 const 和 let在ES6之前,我们都是用 var 关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升 例如: function aa() { if

2020-11-01 13:03:45 477

原创 IDEA 快速显示查看类的所有继承层级关系

一天一个idea小技巧,有眼睛就能学废。end…不是吧不是吧,这样就学废了?太快了吧,窝还宜春靓仔的博客还没过瘾呢!咳咳咳,好吧,呀?23点59分了,是时候分享宜春的老网抑时间十几年前周杰伦在唱:“为你翘课那一天,花落那一天,教室哪一间,我怎么看不见。”,今天晚上独自路过学校操场听到那个人在唱:“高中三年,我为什么,为什么不好好读书。”...

2020-10-02 11:15:07 1438

转载 Jedis 连接 Redis报JedisConnectionException: java.net.ConnectException: Connection refused

总结一下Jedis 连接 Redis 常见错误1、SocketTimeoutException 连接超时redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out at redis.clients.jedis.Connection.connect(Connection.java:154) at redis.clients.jedis.

2020-09-29 19:26:51 10387 1

原创 linux下yum安装JDK8这一篇足够了

前言Linux安装软件方式有很多种,常见的有两种:rpm安装、yum安装。然而人生苦短,我选择yum安装1、先查看centos中自带的jdk并卸载如果从未安装过JDK环境,这一步可忽略[root@root ~]# rpm -qa | grep jkd //查看[root@root ~]rpm -e | grep java //删除# 卸载 -e --nodeps 强制删除[root@kuangshen ~]# rpm -e --nodeps jdk1.8.0_121-1.8.

2020-09-29 11:09:57 8275 2

原创 Vagrant + VirtulBox搭建虚拟机集群环境看这一篇就足够了

感受过VMware的人间冷暖,也体会过VirtulBox的世态炎凉。而我不一样,我待虚拟机如初恋。工欲善其事必先利其器,人生苦短所以我选择上手Vagrant,呸砸男,说好的初恋呢?0、环境准备版本1、双击安装,都是傻瓜式安装。Vagrant安装成功后需要重启电脑。打开cmdvagrant //执行这个命令,有输出不报错就说明安装OK2、建议在其他盘中创建文件夹(除C盘),不要有中文,这个文件夹是用来存放虚拟机的。3、在当前文件夹下打开CMD窗口,具体操作:Shift + 右键

2020-09-28 20:14:06 593

servlet+jdbc基础项目UFIDA.zip

这个主要是刚接触javaEE不久之后用最基础的jdbc+servlet+MySQL做的一个项目

2019-09-28

ssm详细整合源码

这是一份ssm详细整合源码,相信有很多朋友看过ssm搭建文章,但是依旧思路不是很清晰,关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,一碰键盘,结果不知从何下手,思路全无~中招了咩~哦还有一些朋友依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,直接上手idea吧!

2019-09-21

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

TA关注的人

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