自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宜春

少年太弱,请专心练剑

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

原创 听说你还搞不定Spring中的BeanFactory与FactoryBean?

前言理解FactoryBean是非常非常有必要的,因为在Spring中FactoryBean最为典型的一个应用就是用来创建AOP的代理对象,不仅如此,而且对理解Mybatis核心源码也非常有帮助!如果甘愿crud,做个快乐的码农,那我就哦豁豁豁豁豁豁豁豁豁豁豁豁豁豁…文章目录1、BeanFactory1.1 BeanFactory 源码1.2、BeanFactory 使用场景2、FactoryBean2.1、为什么会有FactoryBean?2.2 、FactoryBean 源码2.3 、Factory

2020-07-04 17:52:33 1297 6

原创 String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才!上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

2020-02-28 17:55:38 61739 49

原创 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 3155 1

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

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

2019-12-01 21:47:35 54253 174

原创 【设计模式】单例模式的八种写法分析

网上泛滥流传单例模式的写法种类,有说7种的,也有说6种的,当然也不排除说5种的,他们说的有错吗?其实没有对与错,刨根问底,写法终究是写法,其本质精髓大体一致!因此完全没必要去追究写法的多少,有这个时间还不如跟着宜春去网吧偷耳机、去田里抓青蛙得了,一天天的....

2019-11-26 08:54:11 13780 11

原创 深入理解java多态没有烤山药的存在,java就不香了吗?

如果各位觉得理解了多态,不妨做一道面试题,如果你做出来了,那还没问题了,多态对你来说真的不是问题!如果在第四个就趴下了,那可以看看这篇文章,或许对你有所帮助,可能会让你重新见识到多态的魅力。

2019-11-14 09:49:00 13849 72

原创 动画 | 大学四年结束之前必须透彻的排序算法

现如今大学生学习排序算法,除了学习它的算法原理、代码实现之外,作为一个大学生更重要的往往是要学会如何评价、分析一个排序算法。排序对于任何一个程序员来说,可能都不会陌生。大部分编程语言中,也都提供了排序函数。在平常的项目中,我们也经常会用到排序。排序非常重要!本章主要从如何分析一个算法开始入手,从而循进渐进的分析那些大学四年结束之前必须掌握的排序算法!文章目录如何分析一个“排序算法”?1、排序算法...

2019-11-12 08:36:37 2334 14

原创 史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)

网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不会有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不会撸idea!最后,本文

2019-10-29 15:21:46 239809 434

原创 深入理解static关键字

提到static关键字,相信大家都不陌生,这是相对比较难以理解的一个关键字,相信各位也都能深深感受的到!本篇文章将好好总结一下static这个关键字。文章目录1、static存在的主要意义2、static的独特之处3、静态变量和实例变量的概念4、静态变量和实例变量【重点常用】5、static静态方法6、static代码块7、static应用场景1、static存在的主要意义static的主要...

2019-10-25 09:24:21 75654 53

原创 【java基础】java继承从“我爸是李刚”讲起

前言本文主要多方面讲解java继承,旨在让初学者通俗易懂,至于“我爸是李刚”,反正楼主也不知道谁爸是李刚。文章目录1、继承的概述1.1、继承的由来1.2、继承的定义1.3、继承的优点1.4、继承的格式2、关于继承之后的成员变量2.1、成员变量不重名2.2、 成员变量重名2.3、关于继承中成员变量值得思考的一个问题3、关于继承之后的成员方法3.1、成员方法不重名3.2、成员方法重名3.3、继承中...

2019-10-08 12:18:22 15967 44

原创 随记......

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

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

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

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

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

原创 Windows杀掉指定进程命令

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

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

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

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

2022-07-18 16:36:56 2536

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

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

2022-07-10 15:08:37 855

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

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

2022-06-04 16:45:47 177 3

转载 【Java基础】Java位运算

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

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

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

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

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

原创 Mac OS下安装并连接Mysql

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

2021-12-25 22:50:48 844

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

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

2021-12-23 20:00:47 193

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

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

2021-12-01 23:01:18 7690 2

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

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

2021-10-24 21:27:19 270

原创 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 436 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 28527 3

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

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

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

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

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

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

转载 聊聊一致性哈希

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

2020-11-13 09:02:07 326 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 2698

转载 ES6这些就够了!

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

2020-11-01 13:03:45 332

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

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

2020-10-02 11:15:07 1187

转载 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 5576

原创 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 5754 1

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

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

2020-09-28 20:14:06 404

原创 小白都会的linux下安装Redis

1、官网下载1.1、Redis5.X版本本篇以Redis5.X版本为例,建议Redis5.X版本1.2、Redis6.X版本如果你非要尝鲜,当然6版本也行啊!目前最新的6.X版本需要gcc版本5以上,需要先升级gcc ,这里是个坑。具体升级gcc如下sudo yum install centos-release-sclsudo yum install devtoolset-7-gcc*scl enable devtoolset-7 bashmake 解压安装...

2020-09-25 20:14:59 1079

原创 解决org.apache.ibatis.binding.BindingException: Invalid bound statement 问题

顾名思义,该异常指的是:Mybatis中Dao接口 绑定 Mapper.xml配置文件出现问题说人话就是接口、xml找不到,或者说找到了却不匹配的问题。

2020-09-02 11:36:56 9072 2

原创 Windows10环境下设置播放器默认软件打开方式

咳咳咳…简单的记录一下,毫无技术含量的高端操作.1、设置默认播放器2、设置默认PDF等类型的文件打开OKend。。。。。。。。。

2020-08-12 18:06:11 408 1

原创 Java并发编程:Volatile关键字

前言单线程环境中,我们几乎用不到 Synchronized 和 Volatile,但是多线程环境中,这两个关键词随处可见。而且也是面试的常客。@1、Volatilevolatile有三个特性:保证可见性、不保证原子性、禁止指令重排。下面就来详细的说说这三个特性。1.1、Volatile如何保证可见性?什么是可见性?简单来说可见性就是一个线程对共享变量值的修改,能够及时被其他线程看到。谈到可见性,又不得不说Java内存模型JMM( java memory model ) 。不在本文的概述中

2020-08-06 20:45:30 495

转载 Linux(Centos 7)环境下安装Mysql,看这一篇足够了!

本篇文章基于Centos 7、Mysql-5.7.24,按照本篇文章流程下来,绝对绝对绝对绝对绝对绝对没有意外!!!,如果你非要问我为何如此自信,好吧,基本没有意外。如果有请打 si 我,我的家住在翻斗花园二号楼一零零一室,妈妈做的炸小肉丸最好吃。我的猫咪叫小怪。他是一只会说话的猫咪呦,小怪和宜春一样是个男孩子,宜春最喜欢的好朋友是小美,宜春的耳朵......咳咳咳,欢迎来打....

2020-08-01 10:27:20 730 1

转载 自学党/野生猿,项目经验上哪搞?

原创作者:CodeSheep程序羊原文链接:自学党/野生猿,项目经验上哪搞?几个头痛的问题最近不是求职季嘛,经常听小伙伴们提及的几个重要的话题是什么呢?第1种情况:在念书期间没进过实验室,没有参加过比赛,也没有实习经历,那找工作时,简历上、面试时,项目经验这一块怎么弄呢?第2种情况:读研的小伙伴,期间以看论文,做研究类工作为主,或者说搞的是A研究,做的是A相关的项目,毕业有意愿从事计算机相关的岗位,简历上没项目怎么办?第3种情况:已经参加工作了的小伙伴,说之前一直做的A工作或者A岗位,现在.

2020-07-07 11:05:17 1075 1

原创 这些年使用Gradle构建Spring5.X源码阅读环境所踩过的坑

为了更好的学习spring框架思想与精髓,搭建一个完整能运行的spring源码环境是首要的一步!毕竟看源码不写注释过不了多久就很容易忘记,使用Gradle构建Spring5.X源码阅读环境完成之后便可以在spring源码中 “为所欲为”!相信各位构建环境的过程中出现了各种问题,经过把一个个坑修复后,本篇文章主要总结了一些环境搭建步骤以及踩过的坑,也许并不全面,但是希望能帮助到各位。1、前期环境与工具JDK版本:1.8Gradle版本:4.9 【也可用idea自带的gradle直接导入spring源码

2020-06-05 10:14:01 3918 1

servlet+jdbc基础项目UFIDA.zip

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

2019-09-28

ssm详细整合源码

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

2019-09-21

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

TA关注的人

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