- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 雪花算法ID冲突问题与解决方案
说明:随机区间只能是1到31之间,这里数据中心id从2开始,因为其他项目用1,机器id也是同理。logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)logic-delete-value: 1 # 逻辑已删除值(默认为 1)我们可以在启动脚本直接指定机器id,这样多服务部署可以解决重复问题。方案二:给启动项目分配不同的参数。datacenter-id和。但是随机不能保证永远不冲突。方案一:给应用分配随机。
2023-04-10 09:43:31
1396
原创 linux 磁盘满了,/dev/vda1 清理
此处不截图了,发现/tmp目录下占用特别大,简单直接删掉即可,rm -rf /tmp。2.其挂在在/根目录,查看目录空间占用情况:du -sh /*3.再次查看系统磁盘降下来了,完美。记一次线上服务磁盘满了,清理过程。这是清理后的,清理前是100%1.查看磁盘空间:df -h。
2022-10-10 12:08:44
2896
原创 jar 如何根据pid查询端口
linux 有时候部署的jar不指定端口,可以通过以下命令查询当前进程的pid占用端口:ps -ef|lsof -p 2780 |grep 'LISTEN'-p:进程pid很倔端口查询当前pidps -ef|lsof -i :8081
2022-10-09 19:13:19
2312
1
原创 docker如何一键部署php项目教程
docker 部署php项目步骤:1.docker 安装php docker pull php:5.6-fpm2.启动phpdocker run -d -v /root/nginx/www:/var/www/html -p 9000:9000 --name ryx_php php:5.6-fpm说明:-d 让容器在后台运行-p 添加主机到容器的端口映射-v /root/nginx/www(服务器目录):/var/www/html(docker挂载目录)–name ryx_phpfpm : .
2022-05-19 16:35:04
8673
2
原创 烦于项目每个接口捕捉异常?试试Spring Aop简单统一处理异常
烦于项目每个接口捕捉异常?试试Spring Aop简单统一处理异常第一步:定义切面类package com.esell.pxb.pss.common.Aspect;import cn.hutool.core.date.StopWatch;import cn.hutool.core.util.StrUtil;import com.esell.exception.Code;import com.esell.exception.EsellException;import com.esell.
2021-04-16 11:46:02
294
转载 Lombok @EqualsAndHashCode 的用法
Lombok @EqualsAndHashCode 的用法此注解会生成equals(Object other) 和 hashCode()方法。 它默认使用非静态,非瞬态的属性 可通过参数exclude排除一些属性 可通过参数of指定仅使用哪些属性 它默认仅使用该类中定义的属性且不调用父类的方法当启动@EqualsAndHashCode时,默认不调用父类的equals方法,当做类型相等判断时,会遇到麻烦,例如:@Datapublic class People { private
2020-12-15 10:31:06
590
原创 git 批量删除查询的分支
git 删除查询的本地分支git branch -a:查询所有分支grep:过滤自定义字符,注意:本地前面还有个空格xarg:护花使者,可以理解传递参数的一个过滤器,一般是和管道一起使用|:管道git branch -a|grep ' feature/2020' |xargs git branch -D...
2020-11-04 11:50:26
193
原创 mac卸载jdk
卸载jdksudo rm -rf /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk
2020-08-21 16:50:54
198
翻译 MAC ‘readonly‘ option is set (add ! to override)错误解决
该错误为当前用户没有权限对文件作修改输入:w !sudo tee %
2020-08-21 16:44:53
2504
转载 mac 切换jdk
这个命令执行完了会进入bash_profile文件里,我们先敲一下键盘上的“i”,让它进入insert模式,然后输入以下内容(这里要依据你安装的不同的jdk版本来输入,我的电脑上先安装了jdk 10,之后又安装了jdk 1.8,我们要先弄清楚他们的目录在哪里然后再编辑bash_profile文件,查询jdk目录可以使用命令/usr/libexec/java_home -V(是大写V),因为电脑里安装了多个版本的jdk,如果只输入上述命令的话他只会告诉你最近一次安装的jdk的目录在哪里,因此,要想查询不同版本
2020-08-05 17:01:58
193
原创 mac idea 和系统常用快捷键
mac idea的 快捷键(英文输入法) (花键就是command,个人觉得像花)1.查看 花+⬇️2.后退 花+[3.前进。 花+]4.返回最后一次便编辑 花+shift+[5.复制一行 花+D6.撤销 花+Z7.返回撤销 花+shift+Z8.上下移动一行 花+shift+⬆️/⬇️9.关闭当前 花+w10.查看实现 花+option+B11.返回实现 花+B12.当前搜索 花+F13.全局搜索 花+shift+...
2020-06-14 12:22:13
498
原创 redis异常 Could not get a resource from the pool
异常描述:redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool在网上找了很多资料,最后按照http://jiasky.iteye.com/blog/1469190所说设置了JedisPoolConfig中maxActive后,同时跑100个线程去操作时没有报异常错误,但是超过100个线程就会报异常错误,线程跑得越多,Could not get a resource fr
2020-05-27 11:54:20
360
转载 xargs命令_Linux xargs命令:一个给其他命令传递参数的过滤器
本文要为大家介绍的命令是 xargs,我们把它称为护花使者,因为它总是乐于协助其他的命令来完成一些事情。下面一起来看看它是如何护花的。xargs 是 execute arguments 的缩写,它的作用是从标准输入中读取内容,并将此内容传递给它要协助的命令,并作为那个命令的参数来执行。坊间有一种说法,将 xargs 解读为乘号(x)和参数(args)的合体,很形象地表达了 xargs 的作用所在。好了,我们一起来见识一下 xargs 的护花本领吧:我们用ls命令列出当前路径下的文件, 包括3
2020-05-26 09:42:58
433
原创 redis 根据前缀扫描删除
ThreadUtil.execute(() -> { try { Set<String> keys = new HashSet<>(); this.globalRedisTemplate.execute((RedisConnection connection) -> { Cursor<byte[]> cursor = connection.scan(ScanOptions.scanOptions.
2020-05-09 21:08:33
712
转载 利用jdk8的新特性将一个对象集合转化为其他对象集合的方式
1 以下代码主要利用jdk8中的lambda表达式, 和集合的stream()流2 建立Person类和Student类,student继承Personpackage demo;public class Person { private String name; private Long pId; public Person() { ...
2020-04-27 11:13:45
4141
转载 git批量删除分支
git 批量删除本地分支进入项目,比如想删除所有的本地feature分支,执行如下命令即可:git branch -a | grep "^ feature*" | xargs git branch -Dgit 批量删除远程分支进入项目,比如想删除开头是201803的release分支,执行以下命令即可:git branch -a | grep -o "release/201803....
2020-04-18 09:25:08
646
原创 字符串,整数去掉末尾的.0
例如11.0,15.12,转成11,15.12,统一用bigdecimal处理方便,new BigDecimal(11.0).stripTrailingZeros().toPlainString()new BigDecimal(115.12).stripTrailingZeros().toPlainString()搞定!
2020-04-17 14:58:37
1025
转载 mysql 时间日期
1、当前日期? 1 select DATE_SUB(curdate(),INTERVAL 0 DAY) ; 2、明天日期? 1 select DATE_SUB(curdate(),INTERVAL -1 DAY) ; 3、昨天日期? 1 select DATE_SUB...
2019-10-10 14:14:06
1700
原创 java 判断字符是否是数字
String a = "114.13743190161+"; if(a.matches("\\d+\\.?\\d*")) { System.err.println("是数字"); }else { System.err.println("不是数字"); }...
2019-09-26 11:44:52
530
原创 mysql根据汉字首字母排序
譬如:根据用户表姓名(name)首字母排序,select id, name, age, address from user order by convert(name using gbk) desc
2019-09-11 10:22:30
393
转载 MySQL按照汉字拼音首字母排序
按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序;如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级汉字就不是了,但考虑到人名等都是常用汉字,因此只是针对一级汉字能正确排序也够用了)。直接在查询语句后面 添加 order by name asc; 查询结果按...
2019-09-10 11:41:19
426
转载 判断文件内容是否为utf-8格式还是其他gbk等格式
按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三个字节,判定这些字节的值,就可以得知其编码的格式。其实,如果项目运行的平台就是中文操作系统,如果这些文本文件在项目内产生,即开发人员可以控制文本的编码格式,只要判定两种常见的编码就可以了:GBK和UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。...
2019-09-03 16:15:24
7576
原创 git 和beyond双结合高效合并分支
用eclipse的都知道,git合并分支是真的不好用,可读性差,如下图:我要合并test2和test1两个分支,两个分支都修改了同一个文件,必有冲突,先看eclipse合并后的结果,如下图:是不是很难对比,内容少还好,内容多文件多看的头晕。但是如果配合beyond对比工具,效果就不一样了,先看配置:先找到.gitconfig文件直接改(可用命令改,自行百度),例如我的:...
2019-06-19 10:41:10
617
翻译 分布式与集群区别
小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关 系是集群。为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜 师,两个配菜师关系是集群...
2019-04-29 10:45:00
199
转载 Spring AOP
本文旨在帮助还没有理解AOP的童鞋看透弄懂AOP,也欢迎高手批评指正。先说一个Spring是什么吧,大家都是它是一个框架,但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,Spring是一个库,一个Java库,所以我个人觉得应该这样回答Spring是什么:Spring是一个库,它的功能是提供了一个软件框架,这个框架目的是使软件...
2018-11-23 16:44:57
169
转载 inner join 与 left join 与 right join之间的区别
关于inner join 与 left join 之间的区别,以前以为自己搞懂了,今天从前端取参数的时候发现不是预想中的结果,才知道问题出在inner join 上了。需求是从数据库查数据,在前端以柱形图的形式展现出来,查到的数据按行业分组,显示每个行业的户数及户数占比,涉及到的字段有A表的用户数、总用户数和B表的行业名称。本来是不管查不查的到数据,在X轴都应该显示行业名称的,结果是X、Y轴都...
2018-11-20 13:56:05
196
原创 Mybatis插入返回主键id
在insert语句加上如下即可,如图useGeneratedKeys="true" keyProperty="id"之后直接取即可如下图
2018-10-18 14:35:56
424
原创 事务不回滚,有可能是这个
苦苦研究许久, 什么配置文件都对的, 写法也是对的,就是事务不会滚, 最后才发现数据库的表的引擎没有设置为InnoDB,所以导致这个问题.
2018-10-18 14:19:59
717
原创 exclipse使用maven mybatis-generator-maven-plugin 插件生成代码的坑
按照网上的步骤使用maven配置生成mybatis代码就是行,没有报错也没有执行.步骤是这样的:1.在pom.xml配置<build> <finalName>byh</finalName> <plugins> <plugin> <...
2018-09-19 14:06:43
635
原创 java 上传图片-简单快速
/* * 采用file.Transto 来保存上传的文件 */ @RequestMapping("fileUpload2") public String fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException { lon...
2018-09-05 11:30:37
1489
原创 同局域网连接别人的mysql数据库
步骤如下:1.在服务器上开放数据库端口,一般是开放3306端口,具体端口根据设置的不同而不同。2.开放数据库远程连接权限,可以指定给哪个数据库的哪个表开放权限给哪个用户,并且还可以指定特定的IP地址才能远程登陆。 例子:可在navicat中运行查询语句grant all privileges on test.* to user@'%' identified by '123...
2018-08-29 16:48:31
6110
1
原创 uploadify插件浏览器flash兼容
这个uploadify插件确实好用,但是现在大多浏览器把flash禁用了,故写了个脚本启用flash,毕竟对用户来说未必找的到启用flash,话不多说,直接上图: 在页面引入js,可在我的百度网盘:https://pan.baidu.com/s/1Zq4nEtbm788K8LP6ZgE9uQ,密码:jpptjs代码:页面:代码:<td colspan="2"><ob...
2018-07-03 10:00:30
4497
13
原创 nginx简单配置多个server
1:安装nginx步骤就不说了 ,自行百度。2:打开nginx的配置文件nginx.conf这是项目1的配置,现在需要再开个同域名不同端口的项目,如下图:注意:LZ一直出现访问不了,折腾了许久,是因为服务器www.pigaudio.com或120.77.223.7只开了默认的80端口,而8088端口并未开,所以只需要登陆你的服务账号添加一个8088即可,比如你的服务器是阿里云购买的,则需要登陆阿里...
2018-06-26 18:04:31
114152
3
原创 拼音中文首字母大写查询
最新的商城项目需要用到拼音首字母大写查询,首先想加个字段存中文拼音的,觉得太麻烦,还是用sql解决快一些,lz用的是mysql。 解决的思路就是创建个函数调用,如果用工具navicat,则可以建立如下函数:BEGIN DECLARE V_RETURN VARCHAR(255); DECLARE V_FIRST_CHAR VARCHAR(2); ...
2018-06-20 09:26:46
2171
原创 sql中and和or的优先级
首先and的优先级大于or,通俗理解其实or查询其实会把条件分为左右两边来查。 如 SELECT * FROM USER WHERE ID = 1 AND STATUS = 2 OR STATUS = 3,本来是想查询USER表中id为1的状态为2或者3的数据,其实只会这样执行,and比or优先,结果是查询id为1和状态为2,或者状态为3的数据。 解决方...
2018-06-12 15:32:20
18585
原创 麦讯通企业短信发送成功但是手机没接受到短信问题
作为java开发,有时候经常用到短信发送问题,一般都是用短信发送平台直接发送就ok了,但是居然遇到个奇葩问题,就是用写好的工具类发送短信,我想重新写个方法,有时候业务数据不同,但是神奇的是居然什么都执行了,就是手机收不到短信,搞了半天才发现原来那个短信平台是对内容做了校验的,如下图发送内容必须以这个"【音悦荟网络科技】"开头,我猜应该是平台与企业之间开通的做的绑定吧,毕竟短信也不是...
2018-06-04 17:12:09
1108
原创 sql中in和exist语句的区别?
in和existsin 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B)效率低,用到了A表上cc列的索引;select * from...
2018-05-31 09:21:17
1058
原创 关于java后台执行了sql,但是数据库并没有执行数据的更新等事务问题
问题是这样的,开始看了后台执行了sql,但是发现数据库并没有执行更新数据(mysql数据库),开始就从sql入手发现并没有问题,因为把sql放数据库执行是没有问题的,那么问题就来了,究竟是为什么,网上查了下,原来是事务的问题,首先事务的配置只是配置了所有的Service层(一般业务层逻辑都在这,可用事务回滚),但是执行更新的那个方法只有Dao层,并没有事务,重点是spring的配置...
2018-05-29 15:12:47
14416
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人