自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 sonarQube/sonarLint扫描代码发现问题用注解消除提示

使用idea插件sonarLint扫描出来的,如下图,sonarLint和sonarQube是一个东西,所以通用。在日常的开发中,因为需要,要用sonarQube质量检测并优化代码,但是涉及到一些以前的陈旧代码,

2024-04-19 09:52:13 766

原创 sonarQube之Call “Optional#isPresent()“ before accessing the value.

在迁移其他项目并使用sonarQube进行规范扫描的时候出现了。解决:这是因为在获取到之前避免空值;

2024-04-10 15:22:51 751

原创 @Around(value = “execution(* com....api.controller..*.*(..))“)

环绕通知(Around Advice)是AOP中的一种通知类型,它可以在目标方法执行前后进行处理,并且可以决定是否继续执行目标方法或者在执行完毕后进行一些额外的操作。在这段代码中,使用了@Around注解来定义一个环绕通知(Around Advice),它会在指定的切点(Pointcut)处执行。))",表示匹配com.alm.ori包及其子包下的api.controller包中所有类的所有方法。具体来说,这段代码中的@Around注解指定了切点表达式为"execution(* com.alm.ori…

2024-03-22 15:08:55 1281

原创 AOP使用

AOP(Aspect-Oriented Programming)是一种编程范式,旨在通过将横切关注点(Cross-cutting Concerns)从主要业务逻辑中分离出来,以提高代码的模块化性、可维护性和可重用性。在 AOP 中,横切关注点是那些存在于应用程序各个部分的功能,如日志记录、事务管理、安全性、性能监控等,它们通常横跨多个模块和层次。AOP 的核心思想是将这些横切关注点抽象为切面(Aspect),并通过将切面与主要业务逻辑进行关联,实现在不同模块和层次中重复使用这些横切关注点的目的。AOP 提供

2024-03-01 17:08:16 612

原创 内存溢出和内存泄露

内存溢出通常是由于瞬时的内存需求超过了系统可用内存,而内存泄露是由于长时间运行的应用程序中存在未释放的内存资源。内存溢出通常是由于应用程序申请的内存超过了系统可用的内存资源,或者是由于内存泄露等问题导致内存资源无法被释放。内存溢出是由于内存资源不足导致无法继续执行程序,而内存泄露是由于未释放的内存资源导致系统中的可用内存逐渐减少。内存泄露指的是应用程序中已经不再使用的内存没有被释放,导致系统中的可用内存逐渐减少,最终可能导致内存溢出。内存泄露可能会导致系统性能下降、应用程序崩溃或系统资源耗尽等问题。

2024-03-01 16:51:11 297

原创 双亲委派机制是什么?

双亲委派是什么?看完这篇文章就可以完全理解

2024-03-01 16:42:57 423

原创 解决报错 java.lang.IllegalArgumentException: Cannot format given Object as a Date

java.lang.IllegalArgumentException: Cannot format given Object as a Date

2023-09-18 15:39:37 3447

原创 【文件合并下载报错java.io.IOException: Error: Header doesn‘t contain versioninfo】

java.io.IOException: Error: Header doesn't contain versioninfo

2023-09-15 16:24:43 4829

原创 e.printStackTrace()会不会抛出异常,终止程序

e.printStackTrace()不会抛异常

2023-08-15 18:11:07 1967

原创 BeanUtils.copyProperties()字段类型不一致

去查看BeanUtils.copyProperties的源码发现,spring在利用反射复制对象时,是以javaBean的规范来使用get/set方法进行设置值的。同时set方法的参与类型,在classLoader中,也会被计为函数名的一部分,所以类型必须一致,否则spring就不会对该属性进行复制相应的值。今天在写接口实体类转换的时候,使用了**BeanUtils.copyProperties()**方法,但是在后面校验的时候却为空,所以去日志发现两个类里面的字段名相同,属性不同导致。

2023-08-10 11:14:18 1668

原创 mysql NOW()和SYSDATE()的小差别

一分钟了解NOW()和SYSDATE()的区别

2022-09-06 15:20:54 316

原创 开发中对敏感字段进行脱敏方法

开发中对敏感字段进行脱敏方法(注解实现数据脱敏操作)

2022-07-12 17:17:06 1576

原创 AtomicInteger类用法实用详解

**1、**java.util.concurrent.atomic 的包里有AtomicBoolean, AtomicInteger,AtomicLong,AtomicLongArray,AtomicReference等原子类的类,主要用于在高并发环境下的高效程序处理,来帮助我们简化同步处理.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。**2、**AtomicInteg

2022-03-01 18:01:24 4229 1

原创 @Qualifier怎么使用?详解

@Qualifier的主要作用就是用来限制注入的bean,或者你要使用使用哪个,在bean上和需要注入的地方都用@Qualifier这个注解就可以了;

2022-01-05 16:53:28 1577

原创 String uuid = UUID.randomUUID().toString()详解

我想要一个有效的实用程序来生成唯一的字节序列。 UUID是一个很好的候选者。UUID.randomUUID().toString()是javaJDK提供的一个自动生成主键的方法。UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的 形式。由以下几部分的组合:当前日期和时间(UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第.

2021-12-27 09:58:55 2476

原创 HTTP报文使用说明

最近在项目上因为总接触到http报文的一些知识点,所以搜索资料总结如下:HTTP有两种报文:请求报文和响应报文,具体介绍如下一、HTTP请求报文先上个图,细细分析HTTP请求报文主要包括请求行、请求头部以及请求的数据(实体)三部分请求行(HTTP请求报文的第一行)请求行由方法字段、URL字段和HTTP协议版本字段。其中,方法字段严格区分大小写,当前HTTP协议中的方法都是大写,方法字段如下介绍如下:方法字段①GET:请求获取Request-URI(URI:通用资源标识符,URL是其子集,U

2021-11-26 20:14:09 511

原创 Docker以及dockerfile

最近在公司用docker部署服务器,所以专门补了一下docker的知识,下面是详细总结一、Docker以及dockerfile的使用说明1.Docker介绍1.1什么是DockerDocker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,即通过对应用组件的封装(Packageing)、分发(Distribution)、部署(Depoloment)、运行(Runtime)等生命周期的管理,达到应用组件级别的“一.

2021-10-25 10:09:28 2119

原创 发布本地项目到git远程分支以及更新git远程代码

git问题总结1.将本地项目发布到远程分支git init #初始化git add . #提交全部文件git commit -m '代码提交' #执行commit提交git remote add origin https://XXXX(远程的url) #将远程项目和本地项目绑定到一起git branch dev #创建本地分支git checkout dev #切换到本地分支git pull --rebase origin dev #拉取远程分支和本地合并git p

2021-09-29 15:25:17 302

转载 阿里云的这群疯子

致敬前辈们文章转自 浅黑科技点击阅读《阿里云的这群疯子》

2021-09-08 15:01:38 551

原创 Maven私服配置

下载安装nexus并启动在maven的setting.xml文件里面继续进行私服的相关配置下面是上传jar到私服的配置在idea进行deploy操作,并在私服上可以查找到再配置从私服上下载jar包的相关配置从私服下载成功...

2021-09-02 12:38:42 318

原创 release和snapshots

文章目录前言一、Snapshot和Release版本的区别?二、什么时候用Snapshot版本?三、稳定版使用Snapshot版本行不行?前言repository标签里面的release和snapshots一、Snapshot和Release版本的区别?Snapshot版本代表不稳定、尚处于开发中的版本,快照版本。Release版本则代表稳定的版本,发行版本。二、什么时候用Snapshot版本?依赖库中的jar正处于开发的阶段,会被经常被更新,这种情况下,如果使用Release,会频繁增加

2021-08-23 10:16:12 1010

原创 restful风格API

一、什么是API?API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 ——百度百科简单来说就是:别人写好代码,编译号程序,可以让其他人调用使用,就称作API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API。二、restful是什么?restful是一种软件架构风格、设计风格,而不是标准,只是提供了

2020-11-24 19:24:26 514

转载 查找各科成绩排名前三

查找各科成绩排名前三(详情点击查看)

2020-11-20 16:18:42 1009

原创 垃圾回收机制

垃圾回收: (Garbage Collection,GC),就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。垃圾判断算法:引用计数法给每个对象添加一个计数器,当有地方引用该对象时计数器就会加1,当引用失效时计数器减1。用对象计数器是否为0来判断对象是否可被回收。缺点:无法解决循环引用的问题。可达性分析算法:通过GC ROOT的对象作为搜索起始点,通过引用向下搜索,所走过的路径称为引用链。通过对象是否有到达引用链的路径来判

2020-11-16 19:21:53 136

原创 用java写出水仙花数

今天做了一个公司的面试题是下面这样,这个题以前就做过,但是今天既然又出现了,就记录下来吧打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class ShuiXianHua{ public static void main(String[] args){ int a,b,c; System.out

2020-11-12 18:50:23 2042 1

原创 高内聚低耦合思想

高内聚、低耦合是面向对象的一个原则【高内聚、低耦合】内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。耦合:模块与模块之间接口的复杂程度,模块之间联系越复杂耦合度越高,牵一发而动全身。目的:使得模块的“可重用性”、“移植性”大大增强通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低模块粒度:『函数』高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合)低耦合:减少类内部,一个成员方法调用另一个成员方法『类』高内聚低耦合:减少类内部,对其他类的调用『功能块』

2020-11-11 21:44:51 429

原创 mysql和oracle的不同

1、大小的区别mysql是一个轻量级数据库,开源免费,无提供服务oracle是一个重量级数据库,使用免费,服务收费(数据恢复、数据迁移)2、事务的提交mysql默认一条sql语句是一个事务可以关闭自动提交,手动提交oracle没有自动提交需要手动提交3、事务的隔离级别mysql读已提交,当前事务进行操作时其他事务等待之后进行操作(排他锁)oracle读未提交,当前事务进行操作时其他事务可以进行读取操作(共享锁)4、存储方式mysql数据以库形式进行存储,连接指定库读取指定库中数据ora

2020-11-11 15:08:06 148

原创 PrintWriter和BufferedWriter的区别

BufferedWriter:将文本写入字符输出流,缓冲各个字符从而提供单个字符,数组和字符串的高效写入。通过write()方法可以将获取到的字符输出,然后通过newLine()进行换行操作。BufferedWriter中的字符流必须通过调用flush方法才能将其刷出去。并且BufferedWriter只能对字符流进行操作。如果要对字节流操作,则使用BufferedInputStream。PrintWriter:向文本输出流打印对象的格式化表示形式(Prints formatted representat

2020-10-31 10:28:40 613

原创 JDBC的statement和preparedStatement

statementjava.sql.Statement 接口,是专门用来执行sql语句的,该接口还有俩个子接口:java.sql.PreparedStatementjava.sql.CallableStatement它们的关系如下:CallableStatement 接口继承了 PreparedStatement 接口PreparedStatement 接口又继承了 Statement 接口PreparedStatementPreparedStatement 接口,简称PS,它除

2020-10-22 20:24:18 171

原创 java中在创建对象时继承的执行顺序

创建和初始化对象的过程:Student s = new Student();以这句代码为例进行说明:对Student类进行类加载,同时初始化类中静态的属性赋默认值,给静态方法分配内存空间执行类中的静态代码块堆区中分配对象的内存空间,同时初始化对象中的非静态的属性赋默认值调用Student的父类构造器对Student中的属性进行显示赋值,例如 public int age = 20;执行匿名代码块执行构造器代码=号赋值操作,把对象的内存地址赋给变量s在继承中代码的执行顺序父类静态

2020-09-03 20:13:37 366 1

原创 子类重写父类方法后调用时需要记住什么

子类继承父类,重写了父类方法,那么调用时就会调用子类重写后的方法例子public class TestParent { protected static String name = "parent"; TestParent(){ say(); } public void say(){ System.out.println("Hello"+name); } }public class TestChild extends T

2020-09-02 21:34:54 1135

原创 java子父类构造方法执行顺序

子类的构造方法总是先调用父类的构造方法子类的构造方法没有明显地指明使用父类的哪个构造方法(没有super关键词),子类默认调用父类不带参数的构造方法。如果父类没有不带参数的构造方法(父类只定义了带参数的构造方法),并且子类构造方法中没有明显地指明使用父类的哪个构造方法(没有super关键词),则Java编译器报错。子类的构造方法明确的指明使用父类的哪个构造方法(使用super关键词),子类调用父类super指定的构造方法...

2020-09-02 19:05:01 581

原创 java中/的详解

先来看代码double d1 = 5/2;double d2 = 5/2.0;其中d1的结果等于2,d2的结果等于2.5主要的原因就是右边两个数字在进行运算后,第一个为int类型,我们都知道int类型是整数,所以只能保存整数部分,再进行自动类型转换。而第二个右边的运算结果为double类型浮点数,所以结果就为整数和小数的结合。总结我们在进行操作运算符进行计算时,/ 就是我们数学中的除法,可以先计算出正确的结果,至于要不要取证就看两边的数据类型。...

2020-09-01 17:24:33 7184

原创 == 和 equals 的区别?

==如果比较的对象是基本数据类型,则比较的是数值是否一致;如果比较的是引用数据类型,则比较的是对象的地址值是否一致。equals():equals()方法不能用于比较基本数据类型的对象,如果对象和自身进行比较,则equals()方法与是一样的。对于String类 Date类 File类等 可重写equals() 方法用于比较对象的属性内容是否一致。举例如果a,b 是基本类型,那么 运算符比较的是什么呢? public class Demo { private static int

2020-08-26 22:22:52 107

原创 Map中的entrySet()详解

由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。Map中采用Entry内部类来表示一个映射项,映射包括Key和ValueMap.Entry里面包含getKey()和getValue()Set<Entry<T,V>>entrySet()还方法返回值就是这个map中各个键值对映射关系的集合可使用它对map进行遍历...

2020-08-25 20:08:19 2660

原创 java数据类型和变量

day04java 中的数据类型是我们写代码的时候经常会用到的,接下来说一下数据类型的具体分类和作用基本数据类型布尔类型boolean,表示真假浮点型 float 32位,单精度,声明变量时,得加后缀f; double 64位,双精度。浮点型默认位为double类型字符型 char 16位,但因为它的最高位不是符号,所以比short大,但是short->char也需要强制转换才能成功。整型 byte 一个字节,8位short 两个字节,16位int 三个字节,32位long 四个

2020-08-04 09:31:02 108

原创 谈谈package和import的由来及作用

day02List item

2020-08-03 01:16:55 541

原创 在被虐中成长

以自己的理解,如果自己的生活都过不好,那么自己的工作也不会很突出。更重要的是在写博客的过程中,会让自己主动性的去思考和理解技术的作用,做到“知其然,知其所以然”。“冰冻三尺非一日之寒”,只有每天在开发的过程中,认真对待每一个小问题,每一个小细节,那么将是“梅花香自苦寒来”。在互联网的时代,这也是一个分享的时代,因为分享既不会让自己损失什么,又可以让别人受益。

2020-07-25 17:29:35 329

空空如也

空空如也

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

TA关注的人

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