自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zero .

人生的意义在于怎么面对和处理每一个充满挑战的瞬间。

  • 博客(178)
  • 收藏
  • 关注

原创 windows安装多个jdk(以jdk8和jdk11为例)

实际开发中,我们往往会先安装好jdk8,并且配置好环境变量。但是之后接触的其他项目,可能用的版本是jdk11,因此我们又回下载jdk11,并且配置环境变量。但是之前的jdk8环境变量已经配置好了,jdk11的环境变量怎么配置呢?

2025-03-11 09:58:07 270

原创 单例模式之双重校验锁分析

之前写过单例模式,但是没有对双重校验锁进行详细分析,今天就来分析一下。

2024-09-14 14:07:48 241

原创 IDEA取消自动选择光标所在行

当我使用IDEA编写代码的时候,单击下一行或者上一行的时候,莫名其妙它会自己选中一行,导致我要么是回车代码直接没了,要么是代码直接给我搞错位了,还得按ctrl+z返回,十分的恶心!我一度以为自己的键盘出现问题了,甚至还把键盘恢复出厂设置了,然而并没有什么用,后来我甚至怀疑自己的鼠标,但仔细想想,觉得很有可能是IDEA自己的问题!把这俩勾上,就解决了这个问题了!

2024-09-02 14:33:10 7682 119

原创 HashMap的七种遍历方式

stream 多线程 entrySet。

2024-03-15 10:27:39 423

原创 小程序图文安全检测

检查项:参考文档:API对接参考:

2024-01-25 14:18:17 760

原创 微信小程序上线后无法调用后端接口

我们要在小程序设置里把request请求域名加上保存就可以了。

2023-04-14 11:20:29 2133

原创 Java中BigDecimal保留两位小数

java保留两位小数

2023-03-16 14:27:54 12608

原创 IDEAplugins marketplace插件市场打不开解决方案

VPN等网络代理工具非常有可能是打不开的原因。

2023-03-13 18:24:57 2735

原创 一篇文章搞定maven私服部署,使用,上传自己的jar包到私服

maven私服配置

2023-02-24 15:45:21 16338 3

原创 wait,notify,notifyAll原理以及实际使用场景

wait,notify,notifyAll 实际使用场景

2022-08-30 22:20:56 1137

原创 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序

父类子类测试类先猜一猜 执行顺序是什么?有的同学可能会说结果是结果:为什么呢? 因为: 子类初始化的时候会先初始化父类。 而静态代码块会在类加载的时候调用,并且只会调用一次。而非静态代码块是类初始化的时候调用,并且是在构造方法前调用。执行顺序为: 父类静态代码块 》 父类非静态代码块 》 父类构造方法 》子类静态代码块 》子类非静态代码块 》子类构造方法如果换一种写法,结果又不一样了:结果是什么呢?可以先猜一下公布答案:你猜对了吗?其实要捋明白很简单,就记着静态代

2022-06-07 13:55:37 1243 1

原创 【设计模式】系列之模板模式

模板方法模式,官方解释是这样的:模板模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类提供不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。模板模式的关键在于:父类提供框架性的公共逻辑,子类提供个性化的定制逻辑。也就是说,父类提供公共方法,子类提供自定义方法。这里,我想模拟一个场景,就是比如我们去买手机,品牌手机都会送礼物,不同的品牌送的礼物不一样。这样,我们就可以让父类实现固定逻辑,子类实现不同品牌送礼物的逻

2022-03-08 14:58:16 517

原创 Linux下如何同时注释多行/同时取消多行注释

同时注释多行1、首先,将光标放在要注释的行首,然后按ESC进入命令行模式;2、按Ctrl + V进入 VISUAL BLOCK ;3、按 PgUp/PgDn选择要注释的行;4、按大写的i进入插入模式;5、输入//,按ESC保存即可同时删除多行注释1、首先,将光标放在注释的行首,然后按ESC进入命令模式;2、按Ctrl + V进入 VISUAL BLOCK;3、按PgUp选择要删除的注释行;4、按X即可删除第一列/;5、重复上述步骤,即删两次可完成同时对多行注释的删除。

2022-02-21 18:16:06 5019

原创 字符串和LocalDateTime互转、计算时间差

public static void main(String[] args) { // 字符串转LocalDateTime DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime time = LocalDateTime.now(); LocalDateTime endTime = LocalDateTime.pa...

2021-11-15 11:06:55 3493

原创 Webservice的概念

概念webservice 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术。JAVA 中共有三种WebService 规范,分别是JAX-WS(JAX-RPC)、JAXM&SAAJ、JAX-RS。webService三要素:soap、wsdl、uddiwebservice开发规范JAVA 中共有三种WebService规范,分别是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS。下面来分别简要的介绍一下这三个规范。(1.)JAX-W.

2021-11-15 11:02:28 2413

原创 Java统计代码的执行时间的6种方法

在日常开发中经常需要测试一些代码的执行时间,但又不想使用向 JMH(Java Microbenchmark Harness,Java 微基准测试套件)这么重的测试框架,所以本文就汇总了一些 Java 中比较常用的执行时间统计方法,总共包含以下 6 种,如下图所示:方法一:System.currentTimeMillis此方法为 Java 内置的方法,使用 System#currentTimeMillis 来统计执行的时间(统计单位:毫秒),示例代码如下:public class TimeInte

2021-11-09 16:08:07 13099

原创 linux查看占用端口的进程并杀死该进程

linux 查看端口被占用1、lsof -i : 端口号 用于查看某一端口的占用情况,比如查看8080端口使用情况,lsof -i:8080如果执行lsof -i:8080 系统提示 :-bash: lsof: 未找到命令,则要安装lsof 使用 yum installlsof 如下图:安装完成再执行就可以看到被8080占用的情况lsof -ilsof 输出信息意义:  COMMAND:进程名的  PID: 进程标识符  USER:进程所有者...

2021-11-01 22:01:41 2833

原创 JAVA导出Excel并合并单元格

首先,看一下期望达到的效果:下面开始:代码:package cn.pinming.bidopening.bid.service.impl.exceltest;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;/** * Created with IntelliJ IDEA. * * @Auther: zp * @Date: 2021/05/25/18:1.

2021-05-27 21:39:18 1296 2

原创 执行.sh文件(shell脚本)的几种方式

第一种:(要进到shell脚本所在文件夹中)sh helloworld.sh第二种:(要进到shell脚本所在文件夹中)bash helloworld.sh第三种:(要进到shell脚本所在文件夹中)./helloworld.sh第四种:/home/data/helloworld.sh注意:如果刚创建.sh文件,使用./ 或者绝对路径执行不了时,很可能是因为全新不够。此时你可以使用chmod命令来给shell文件授权。之后就能正常运行了。chmod +x .

2021-04-14 20:03:55 137579 2

原创 工作几年,分享50个让你代码更好的小建议

以下文章来源于捡田螺的小男孩,作者捡田螺的小男孩捡田螺的小男孩1. 仅仅判断是否存在时,select count 比 select 具体的列,更好。我们经常遇到类似的业务场景,如,判断某个用户userId是否是会员。「(反例):」一些小伙伴会这样实现,先查从用户信息表查出用户记录,然后再去判断是否是会员:<selectid="selectUserByUserId"resultMap="BaseResultMap">selctuser_id,v...

2021-03-31 23:54:27 267

原创 Springboot通过自定义工具类获取bean

/** * Created with IntelliJ IDEA. * * @Auther: zp * @Date: 2021/03/26/13:32 * @Description: 通过beanFactory获取spring管理的bean对象 */public class ApplicationContextUtil implements ApplicationContextAware { private static ApplicationContext context; .

2021-03-26 13:39:22 670

原创 解决IDEA翻译插件Translation报错更新TTK失败不能使用

本质问题是因为我私自更改了电脑的IPV4配置。解决: 全部使用自动的保存即可

2021-03-24 17:14:16 7111

原创 SpringBoot整合分页插件PageHelper

在springboot中使用PageHelper插件有两种较为相似的方式,接下来我就将这两种方式进行总结。官方使用说明方式一:使用原生的PageHelper1.在pom.xml中引入依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> ...

2021-03-11 17:18:58 13482 3

原创 MySQL触发器trigger的使用

Q:什么是触发器?A:  触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性:  1、有begin end体,begin end;之间的语句可以写的简单或者复杂  2、什么条件会触发:I、D、U  3、什么时候触发:在增删改前或者后  4、触发频率:针对每一行执行  5、触发器定义在表上,附着在表上。也就是由事件来触发某个操作,事件包括INSERT语句,UPDATE语句和DELETE语句;可以协助应用在数据库端确保...

2021-03-11 13:26:57 161

原创 List集合的clear方法

转自:https://www.cnblogs.com/shoshana-kong/p/8962485.html一 . list.clear()底层源码实现在使用list 结合的时候习惯了 list=null ;在创建这样的方式,但是发现使用list的clear 方法很不错,尤其是有大量循环的时候1、list 接口 的ArrayList 类的clear() 方法源码如下:/***Removesalloftheelementsfromthislist....

2021-03-10 14:26:05 14240

原创 JAVA深拷贝和浅拷贝

我们知道,一个实体类通过实现Cloneable接口可获得对象拷贝的能力。而拷贝又分为深拷贝和浅拷贝。很幸运,通过本文你可以了解到它们的区别。首先,我们先来看这样一段代码:@Datapublic class Person implements Cloneable { private String name; private Person father; public Person(String name) { this.name = name;

2021-01-28 16:55:25 234

原创 mybatis-plus更新字段的时候设置为null,忽略实体null判断

1 问题在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。2 解决方法在实体类对应的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判断,例如@TableField(strategy = FieldStrategy.IGNORE.

2021-01-26 16:22:16 15622

原创 IDEA 快速复制、剪切当前行

复制当前行: 直接把光标放在当前行里,或者放在当前行的末尾,按下 Ctrl + C即可复制当前行,不用双击或者鼠标从左拉到右选中,省时省力。剪切当前行:和复制类似,直接把光标放在当前行里,或者放在当前行的末尾,按下 Ctrl + X 即可剪切当前行。粘贴: 将复制或剪切的行放在光标位置,使用 Ctrl + v 即可把复制/剪切 的代码粘贴到光标位置。...

2021-01-19 19:10:18 13522 2

原创 Spring-Data之StringRedisTemplate-boundValueOps方法描述

以下,均为自己花费时间测试跟描写,欢迎转载,转载请标明出处跟作者,我不希望自己的辛苦劳动被转载而且还不标明作者跟出处,请尊重作者的劳动成果 而且,官方文档,以及源码,并没有方法注释,在文章最下面有个人对方法描述,都是个人描述,可能会有误差,以及描述不当的地方,请见谅!1.我的项目是maven项目,最近因为要用到,先引进下面两个包<dependency> <groupId>org...

2020-12-14 15:39:56 4038

原创 CompletableFuture使用详解

CompletableFuturepublic class WelfareImageController { /** * runAsync 无返回值 * * @throws Exception */ public static void runAsync() throws Exception { CompletableFuture<Void> future = CompletableFuture.runAsync(.

2020-12-14 14:33:45 1398 3

原创 【CompletableFuture】CompletableFuture中join()和get()方法的区别

【CompletableFuture】CompletableFuture中join()和get()方法的区别一.相同点:  join()和get()方法都是用来获取CompletableFuture异步之后的返回值二.区别:  1.join()方法抛出的是uncheck异常(即未经检查的异常),不会强制开发者抛出,  会将异常包装成CompletionException异常 /CancellationException异常,但是本质原因还是代码内存在的真正的异常,  文档说明:.

2020-12-11 14:58:55 31060 21

原创 Mysql 保留两位小数

ps:最近项目当中遇到了sql计算保留两位小数问题,在此进行存档一番Mysql ROUND(X,D) 函数 其中D可不传,默认为0,D可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0。 示例: SELECT ROUND(100.3465,2), ROUND(100,2), ROUND(0.6,2), ROUND(114.6,-1); 1 2 3 4 5 结果为: TRUNCATE(X,D) 函数 D表示,舍去小数点后

2020-12-10 11:55:45 2578

原创 JAVA生成跳转指定页面并且附带参数的二维码

所需jar包: <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.1.0</version> </dependency> <dependency> .

2020-12-04 16:54:29 2005 6

原创 Integer的比较和注意点

先看代码: public static void main(String[] args) { Integer a = new Integer(175); Integer b = new Integer(175); Integer c = new Integer(120); Integer d = new Integer(120); Integer z = 175; Integer x = 175;

2020-12-01 17:41:18 608

原创 提升:抛弃七条不良编码习惯

很多人错误地认为编码只是熟练手的事情,其实要成为优秀的编码人员就必须进行自我剖析,抛弃不良的习惯,展示自己优秀的编码能力。通常不良的编码习惯有很多种,这里列出7条编码者经常会犯的错误,提醒大家注意。(1)自由格式的代码如果我们不从一个团队角度出发,而是从程序员个体角度去看问题:A项目的风格和B项目的风格迥异,甚至是在同一个项目的不同类中风格也不同,不用缩进,不添加注释,想加接口就加个接口,不想加就不加,我们要的是“自由,自由,还是自由”。—这不是一个成熟的职业者应该具有的,我们应该保持自己的代码风格.

2020-11-30 16:08:49 266 2

原创 基于Redisson实现分布式锁并分析其原理

分布式锁主要是为了解决高并发场景下的数据一致性问题的。一般就是涉及到多线程资源争抢时通过加锁来保证数据的安全性场景:首先模拟一个抢购场景:redis依赖:代码:在redis数据库存了一个stock值,相当于是库存,value是200逻辑:首先去从redis里面取库存,判断当前库存是否大于0,如果大于0则库存减一问题:没加锁,高并发场景下会出现超卖问题。比如当前有三个线程同时访问这段代码,同时判断当前库存大于0,都减一,然后保存,结果三个线程都减一然后保存,但是st

2020-11-29 14:52:52 1234 2

原创 @PostConstruct注解作用

参考链接:https://blog.youkuaiyun.com/nisen6477/article/details/90240643

2020-11-17 11:46:18 3432

原创 SQL中IN和EXISTS用法的区别

参考链接:https://www.cnblogs.com/clarke157/p/7912871.html

2020-11-09 17:08:52 149

原创 JAVA判断奇偶数

方法:1.位运算:若是 & 1 为1 则为奇数 若为0,则为偶数select 1& 1 from dual2.余运算若是 结果为1 则为奇数,若是0 则为偶数select 1 % 2 from dual3.函数运算mod(id,2)=1 则为奇数 0为偶数select * from 表名 where mod(字段,2)=1...

2020-10-24 11:27:04 7894

原创 Oracle中row_number()、rank()、dense_rank() 的区别以及partition by

本章来讲解一下经常使用的排序函数,可以用来进行统计成绩排名、售卖情况排名等。目录1.row_number函数、rank函数、dense_rank函数的区别和用法1.row_number函数2.rank函数3.dense_rank函数2.partition by函数的用法1、over函数的写法:2、分区函数Partition By与rank()的用法“对比”分区函数Partition By与row_number()的用法2、分区函数Partition By与rank()的用

2020-10-18 14:04:39 2107

空空如也

空空如也

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

TA关注的人

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