- 博客(178)
- 收藏
- 关注
原创 windows安装多个jdk(以jdk8和jdk11为例)
实际开发中,我们往往会先安装好jdk8,并且配置好环境变量。但是之后接触的其他项目,可能用的版本是jdk11,因此我们又回下载jdk11,并且配置环境变量。但是之前的jdk8环境变量已经配置好了,jdk11的环境变量怎么配置呢?
2025-03-11 09:58:07
270
原创 IDEA取消自动选择光标所在行
当我使用IDEA编写代码的时候,单击下一行或者上一行的时候,莫名其妙它会自己选中一行,导致我要么是回车代码直接没了,要么是代码直接给我搞错位了,还得按ctrl+z返回,十分的恶心!我一度以为自己的键盘出现问题了,甚至还把键盘恢复出厂设置了,然而并没有什么用,后来我甚至怀疑自己的鼠标,但仔细想想,觉得很有可能是IDEA自己的问题!把这俩勾上,就解决了这个问题了!
2024-09-02 14:33:10
7682
119
原创 父类静态代码块、非静态代码块、构造方法、子类静态代码块、子类非静态代码块、子类构造方法执行顺序
父类子类测试类先猜一猜 执行顺序是什么?有的同学可能会说结果是结果:为什么呢? 因为: 子类初始化的时候会先初始化父类。 而静态代码块会在类加载的时候调用,并且只会调用一次。而非静态代码块是类初始化的时候调用,并且是在构造方法前调用。执行顺序为: 父类静态代码块 》 父类非静态代码块 》 父类构造方法 》子类静态代码块 》子类非静态代码块 》子类构造方法如果换一种写法,结果又不一样了:结果是什么呢?可以先猜一下公布答案:你猜对了吗?其实要捋明白很简单,就记着静态代
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
原创 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关注的人