自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对象里返回的null全部转化为空串

有时候项目需求要把对象里null值换成空串,这是通用的一种处理方式

2022-07-01 10:36:29 267 1

原创 mysql日期相关

--今天SELECTDATE_FORMAT(NOW(),'%Y-%m-%d00:00:00')AS'今天开始';SELECTDATE_FORMAT(NOW(),'%Y-%m-%d23:59:59')AS'今天结束';--昨天SELECTDATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL1DAY),'%Y-%m-%d00:00:00')AS'昨天开始';SELECTDATE_FORMAT(DATE_SUB(CURDATE(),I...

2022-05-27 19:30:00 177

原创 总结mysql优化方案

1.如果只是用来判断指定条件的数据是否存在,用select 1 from table where id = 1 比 select * from table where id = 1刚快.2.小表驱动大表.查询用户id为1的大数据量订单时,可以用in,in和exists的区别,in里面先执行,然后再执行其他语句,可以在in里面是小表,exists是先执行左边,再执行右边,可以左边是小表.注意,in里面元素不宜过多.3.批量添加的时候,for循环里面一个个添加效率低,和数据库连接开销大,最好执行批量添加

2021-11-26 10:55:28 704

原创 JAVA实现每次在list中取指定条数据

public static <T> List<List<T>> split(List<T> resList, int count) { if (resList == null || count < 1) return null; List<List<T>> ret = new ArrayList<List<T>>(); ...

2021-07-08 14:26:25 3114

原创 Springboot全局异常配置及使用

这里教大家如何优雅的处理异常1.定义一个全局异常处理类,里面可以自己添加想处理的异常./** * @Author:PascalLee * 全局异常处理类 */@RestControllerAdvicepublic class GlobalExceptionHandler { /** * 处理空指针的异常 * * @param req * @param e * @return */ @ExceptionHandl

2021-05-29 23:57:57 136

原创 linux下设置服务启动,关闭,停止,查看状态,守护进程脚本

由于把jar包转成了service的方式启动,所以提供了服务启动,查看状态,停止,以及守护服务进程的shell脚本,run.sh如下:#!/bin/shsystemctl start XXX.service

2021-05-29 01:16:16 690

原创 Linux下将jar以服务方式启动

在/etc/systemd/system这个目录下,创建一个XXX.service文件,vim输入以下内容:[Unit]Description=loyaltygatewayAfter=syslog.target[Service]ExecStart=/usr/lib/java/jdk1.8.0_291/bin/java -jar /vdb/application/loyaltygateway-1.0.0.jar[Install]WantedBy=multi-user.target

2021-05-29 00:43:15 432

原创 Linux设置redis开机自启动

Centos7服务器,开始操作:安装redis不再叙述,#cd redis-3.2.4#mkdir /etc/redis#cp redis.conf /etc/redis/6379.conf#cp utils/redis_init_script /etc/init.d/redis#chmod a+x /etc/init.d/redis#cp src/redis-server /usr/local/bin/#cp src/redis-cli /usr/local/bin/

2021-05-28 23:37:04 328 2

原创 springboot集成log4j2并自行打印到指定文件

需求:想在springboot中集成log4j2,并且把数据操作相关的数据单独打印到一个log文件里.注意,log4j2不同于log4j的地方,在于它不支持yml格式的配置,只能xml格式 .具体如下:<?xml version="1.0" encoding="UTF-8"?><!--monitorInterval:Log4j2 自动检测修改配置文件和重新配置本身,设置间隔秒数--><!--日志级别以及优先级排序: OFF > FATAL > ER

2021-05-27 16:58:54 500 1

原创 记录Linux系统挂载本地磁盘

Linux系统配置CentOS 7,CPU=4,,想挂载一个200G的拓展硬盘.记录操作1.查看linux系统磁盘使用情况 .df -h -->展示系统内所有磁盘df -m -->以M为单位显示可以看到系统中并没有500G的磁盘在内开始showtime:ll /dev/disk/by-path好的,我们的磁盘就是最后的那个/vdb,怎么查看我们的要拓展的磁盘名字呢,lsblk这个/vdb就是我们要挂载到linux系统上的硬盘.继续下

2021-05-26 10:52:49 475

原创 解决安装redis时报错/bin/sh: cc: command not found

执行yum install gcc-c++ 后输入y回车即可。

2021-05-25 21:10:57 6593

原创 windows下通过pid和port互相查询

查看所有本地服务的端口号和进程号:netstat -ano通过pid查询服务:netstat -ano | findstr pid号码通过pid查询对应进程tasklist | findstr 进程号通过pid强制杀死某个进程:taskkill /pid 进程号 -t -f...

2021-04-22 11:34:43 234

原创 random,雪花id和主键自增id在mysql中的表现

random,雪花id,想对比自增id在mysql中要用哪个呢,本文可以指引一个方向给大家,直接上数据.可以看出在数据量100W左右的时候,uuid的插入效率垫底,并且在后序增加了130W的数据,uudi的时间又直线下降。时间占用量总体可以打出的效率排名为:auto_key>random_key>uuid,uuid的效率最低,在数据量较大的情况下,效率直线下滑。对比一下mysql关于两者索引的使用情况.自增的主键的值是顺序的,所以Innodb把每一条记录都存储在一条记录的后面

2021-04-09 10:10:09 426

原创 什么是闭包

一句话解释就是:存在自由变量的函数就是闭包。闭包不是私有,闭的意思不是封闭内部状态,二十封闭外部状态,当外部状态的作用域失效的时候,还有一份留在函数内部状态里function a(x, y){ console.log(x, y) //在这里,x和y都不是自由变量 function b(){ console.log(x, y) //但在这个内部函数b中,x和y相对于b都是自由变量,而函数a的作用域则是环境。 } //无论b最终是否会作为返回值被函数a返回,

2021-04-01 16:15:22 155

原创 GET方式调用接口中含有JSON格式字符串怎么处理

在调用第三方接口的时候,有的时候会碰到需要在get方式中添加指定JSON格式的数据,类似于这种https://123456.com/info?account=789&accessToken=89E40EA646BE5F613586FFFFD2F97319&json={"id":"1","step":"3"}如果不做处理直接使用HttpClient调用的话,会报错:java.lang.IllegalArgumentException: Illegal character in

2021-01-20 11:01:45 1349

原创 将中文大写金额转化为数字方法

public Double CNYtoN(String amount) { double result = 0; double temp = -1;//存放一个单位的数字如:十万 int count = 0;//判断是否有chArr Map<Character, Double> map = new HashMap<Character, Double>(); //存放数字map map.put('壹', .

2020-12-01 14:01:06 300

原创 Caused by: java.lang.NoSuchMethodException: javax.xml.ws.http.HTTPException.<init>()解决方法.

Caused by: java.lang.NoSuchMethodException: javax.xml.ws.http.HTTPException.<init>() at java.lang.Class.getConstructor0(Class.java:3082) at java.lang.Class.getDeclaredConstructor(Class.java:2178) at org.springframework.beans..

2020-11-25 14:30:13 1613

原创 记录一次使用CXF调用webService全过程

记录一次使用CXF调用webService全过程1.下载并且设置CXF环境变量2.使用wsdl2java方式生成对应的java代码可执行命令wsdl2java -encoding utf-8 -d F:\smx\projects\mzsh\backend_dev\main\src\com\smx\ezfix\sei C:\Users\PascalLee\Desktop\service.xml其中,后面还可以加很多参数,```java-o <path> : 指定生成代码的

2020-11-19 15:25:46 705

原创 使用命令行利用maven下载jar包及相关依赖

1.新建一个自己的目录,如F:\tools\MVNDownloadsJars,在这个目录下新建文件pom.xml:其中depenencies配置节部分就是我们要下载的依赖包。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan..

2020-11-19 15:00:01 1299

原创 java多线程之Future和FutureTask

Executor框架使用Runnable 作为其基本的任务表示形式。Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值。  许多任务实际上都是存在延迟计算的:执行数据库查询,从网络上获取资源,或者某个复杂耗时的计算。对于这种任务,Callable是一个更好的抽象,他能返回一个值,并可能抛出一个异常。Future表示一个任务的周期,并提供了相应的方法来判断是否已经完成或者取消,以及获取任务的结果和取消任务。  public interface Cal

2020-09-27 16:26:15 179

原创 Callable、Future和FutureTask

一、Callable 与 Runnable先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:public interface Runnable { public abstract void run();}由于run()方法返回值为void类型,所以在执行完任务之后无法返回任何结果。Callable位于java.util.concurrent包下,它也是一个接口,在它里面也只声明了一个方法,只不过这个方法叫做call():pub

2020-09-27 16:22:47 46

原创 MD5不同机器生成不同的问题

公司最近在和别的公司联调接口,需要md5生成的东西作为凭证,结果总提示验证sign生成不对,怎么看都不晓得,后来是这么处理的import org.apache.commons.codec.digest.DigestUtils;String sign = DigestUtils.md5Hex(query.toString().getBytes("utf8"));因为编码集的问题,搞了两天都搞不出来......共勉...

2020-09-18 15:26:02 527

原创 关于复制list出现的问题

Caused by: java.util.ConcurrentModificationException原因:java中将一个list的内容复制给另一个list之后,去新的list进行操作的时候,原来的list也会发生变化问题:java中将一个list的内容复制给另一个list之后,去新的list进行操作的时候,原来的list也会发生变化解决方案:直接采用“=”进行的复制属于浅层赋值,两者指向的使用一个地址,所以操作一个时另一个也会发生变化。如果不想出现这样的问题,建议采用深层赋值的方法,l

2020-09-16 16:12:48 471

原创 mysql中拼接字符串函数GROUP_CONCAT其实默认有长度限制,要注意

默认长度是1024,超过长度的不会被拼接 阿里数据库用这个: SET group_concat_max_len = 10240; 如下会报错,没权限 SET GLOBAL group_concat_max_len = 102400;

2020-09-07 17:20:27 847 1

原创 JWT验证与登陆

1.什么是jwt双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快自包含(Self-contained):负载中包含了所有用户所需要的信息,避免了多次查询数据库。2.Jwt在javaweb项目中的简单使用第一步:引入maven依赖&l..

2020-08-19 14:20:14 339

原创 根据子节点递归查询所有父节点

有个需求,需要根据给定的子节点向上递归查询所有父节点,网上查找了一些,但是都不是很满意,有的是需要用到全局变量定义存储列表,但是会有并发问题,然后自己手写一个 @Test void contextLoads1() { List<School> list = new ArrayList<School>(); list.add(new School(1,"张三丰",0)); list.add(new School(2,"张无

2020-08-06 07:43:26 6083 1

原创 CIFS链接以及常见操作

先科普一下,SMB也就是CIFS,链接Smb操作如下: //远程ip String ip = "123.24.42"; String domain = "mydomain"; String username = "pascal"; String password = "123456"; String directory = "smb://123.24.42/test/a.txt";

2020-07-17 17:10:24 1090

原创 站在巨人肩上之--if-else代码优化

优化方案一:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。优化前:if(condition){ //doSomething}else{ return ;}优化后:if(!condition){ return ;}//doSomething优化方案二:使用条件三目运算符使用条件三目运算符可以简化某些if-else,使代码更加简洁,更具有..

2020-07-17 11:04:28 116

原创 代码简洁之道

如题,最近在优化代码,感觉代码优美要比实现功能更需功力,摘选一些前辈的文章,整理如下,公用组件部分这是美国童子军规的谚语,美国童子军相当于半军事化管理的青少年夏令营。夏令营结束后孩子们离开营地,要打扫卫生保持整洁,让营地比来时更干净。在软件开发过程中,可以理解为不要破坏规则,不要引入混乱。如果团队已经制定了代码规范,比如类名必须有子系统前缀比如BiOrderService(Bi指BI业务部门),就继续遵循下去;再比如,团队已经提供了公共库比如MD5的加密,那就不要再次引入新的MD5库。很多新手程序员

2020-07-17 11:01:48 281

原创 java8特性之日期

/** * 旧版时间API的问题: * 1.设计很差:在java.util和java.sql的包中都有日期类,java.util同时包含日期和时间,而java.sql中仅包含日期 * 2.非线程安全:java.util.Date是非线程安全的,所有的日期类都是可变的,这是最严重的问题 * 3.时区处理麻烦:日期类并不提供国际化,没有时区支持 */ //获取本地日期 年月日 ...

2020-07-09 12:34:22 228

原创 Springboot集成定时器和多线程异步处理

需求:用@schedule标签进行定时处理逻辑,由于业务处理速度慢,需要每次执行逻辑放在不同的线程里异步执行springboot集成多线程异步,直接上配置:/** * 线程池异步配置 */@Configuration@EnableAsyncpublic class ThreadExecutorConfig implements AsyncConfigurer { @Override public Executor getAsyncExecutor()

2020-07-07 11:38:45 717

原创 使用poi将Excel文件转换为html文件

如题,需求就是将Excel里的xls和xlsx文件转化为html文件,话不多说,直接上代码:需要的jar包以及版本,其实好多人会出现各种各样的报错,都是和poi几个jar包的版本有关系工具类:package com.poi.demo;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.i.

2020-07-03 11:42:00 1026 1

原创 离线安装Chore插件

最近打算在chrome上安装一个在线打开文件的插件,但是这个插件在商店中没有搜索到,经过一顿折腾,终于拿到了这个插件的crx结尾的包.然后开始安装:一开始以为直接将crx文件直接拖拽到浏览器上就会有相应提示,但是发现Chrome 21.x系列增加了对扩展插件安装的限制, 自Chrome 21.x开始默认只允许从 Chrome Web Store(Chrome 网上应用店)安装扩展、应用及脚本,也就是意味着用户只能安装谷歌浏览器(Chrome Store)内的扩展插件。安装离线crx插件包,首先要

2020-07-03 11:20:12 206 1

原创 Vue使用v-if和v-else报错

如题,前端小白一个,刚开始学vue,直接上代码: <div id="app"> <div v-if="isActive">显示</div> <div v-else >隐藏</div> <button @click="changeAAA">click</button> </div> <script> new Vue({

2020-06-29 23:31:29 5145

原创 vue-cli脚手架安装及其项目启动

1.安装node.js传送门直接傻瓜式安装就可以,下一步下一步,然后直接cmd查看node和npm版本2.注册cnpm来替代npm:使用命令:npm install cnpm -g --registry=https://registry.npm.taobao.org如果你发现你安装成功了,使用cnpm却发现找不到命令,那么就是你的环境变量有问题,在环境变量里面的path添加你node的安装路径就行,比如";C:\Program Files\nodejs\node_modules.

2020-06-29 15:50:18 921

原创 安装cnpm报错及解决办法

Error: EPERM: operation not permitted, rename 'C:\Users\PascalLee\AppData\Roaming\npm\node_modules\cnpm' -> 'C:\Users\PascalLee\AppData\Roaming\npm\node_modules\.cnpm.DELETE'有的网上说是权限问题,有的说是缓存问题报错也很明显,先把对应目录下的cnpm文件删除掉,然后重新安装就可以了...

2020-06-29 14:42:17 1579 1

原创 DXF,DWG文件转为PDF格式所用组件

公司需要做一个CAD格式文件转化为pdf格式的组件,查阅相关资料后,确认了两个框架,一个aspose-cad,一个kajeba,两个组件权衡了一下之后,选择了使用aspose-cad来实现功能.在导入aspose-cad包之后,直接调用即可. public static void main(String[] args) { String dataDir = "C:\\Users\\PascalLee\\Desktop\\demo\\pdf\\1.pdf"; Str

2020-06-23 14:11:06 709

原创 Winsw将jar包部署为windows服务

公司有个需求,需要将springboot生成的jar包部署在windows上,以服务开机自启动的形式,找了一下,好多人都在用winsw,于是开始我的踩坑之旅.首先,下载winsw官网上的xml文件和.exe文件,官网,然后随便找两个文件,楼主找的是这两个文件然后自己创建一个文件夹,将所需要转换的jar包,和这两个文件放在一起,并且将.exe的文件名修改和.xml文件一样,这里注意,.exe文件里面的内容不需要修改,我们只需要修改.xml文件里的内容看官网,里面的配置可以配置好多内容:..

2020-06-22 17:41:13 1562 5

原创 Hadoop中NameNode的主从之间的CheckPoint机制

首先我们要知道,在NameNode中有三种数据的形式: 内存元数据:内存中有一份完整的元数据] 磁盘元数据镜像文件FSImage:磁盘有一个"准完整"的元数据镜像文件 数据操作日志文件edit:用于衔接内存metadata和磁盘元数据镜像fsimage之间的日志当客户端对hdfs的文件进行新增或者修改操作的时候,操作首先会被记入到edits日志文件中,当客户端操作成功后,相应的元数据会...

2019-03-15 11:00:22 397

原创 Hadoop中HDFS读写数据的流程分析

在Hadoop中,我们知道,MapReduce是用来对数据进行分析和计算的,而HDFS是用来对数据进行存储的,那么,接下来我们将对HDFS有一个简单的认知.1:HDFS的两种角色在HDFS中,分为两大角色,NameNode: 负责客户端请求的响应(对外提供一个抽象目录树) 实现元数据的管理(查询,修改)Name对数据的管理采用了三种存储形式: 内存元数据:内存中有一份完...

2019-03-15 10:34:44 484

空空如也

空空如也

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

TA关注的人

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