- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 springboot druid 加载外部数据库连接
直接上代码,就三个类,在不使用外部配置的情况下也能读取默认的配置文件import com.alibaba.druid.filter.config.ConfigFilter;import com.alibaba.druid.filter.encoding.EncodingConvertFilter;import com.alibaba.druid.filter.logging.CommonsLogFilter;import com.alibaba.druid.filter.logging.Lo
2021-11-18 15:50:07
1105
原创 Redis分布式锁的问题以及解决方案
问题一:获取到锁的线程的对应主机挂了,这时无法释放锁,其他的主机也无法获取锁设置锁过期时间,到了一定时间就释放锁问题二: 获取到锁的线程执行业务代码时间超过锁的过期时间,这会造成其他线程也能竞争到锁,这时有两把锁,会造成脏数据锁续命:延长过期时间 expire(lock, time)问题三:redis主从问题,获取锁时,数据未同步到从机,导致锁丢失redlock:原理与zookeeper分布式锁原理相同.多台主机超过半数设置成功则获取锁成功,要注意下主机个数必须是奇数,不过这.
2021-02-05 14:53:18
1741
原创 配合docker-compose的简易脚本配合上软链接实现简单命令启动关闭容器查看容器日志
shell脚本#set ff=unix!/bin/bashcn=$2path=/docker/bin/start(){docker-compose -f "$path"docker-compose-$cn.yml start}stop(){docker-compose -f "$path"docker-compose-$cn.yml stopecho "docker-compose -f "$path"docker-compose-$cn.yml stop"}up(){d...
2021-01-31 11:48:37
761
原创 element ui upload控件同一个文件无法多次提交问题
直接上解决方法,在上传成功后的钩子函数里添加:this.fileList[0].status='ready'fileList是文件列表,status是单文件的状态改成ready就能再次上传
2020-10-09 13:47:33
1415
原创 springcloud nacos配置中心与服务的注册与发现配置
Nacos服务端下载及启动下载地址:https://gitee.com/mirrors/Nacos下载后打包,windows直接双击bin目录下的startup.cmd文件启动访问地址:ip:8848/nacos登录账号密码:nacos nacosNacos配置中心客户端pom配置<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot
2020-08-21 17:02:14
467
1
原创 spring自定义标签使用
一、新建实体类@Datapublic class Linxh{ private Integer age; public Linxh(Integer age){ this.age = age; }}二、新建类LinxhBeanDefinitionParser,beandefinition转换器package com.linxh...
2019-12-18 14:50:33
176
原创 vue+elementui+springboot后端菜单国际化
vue提供了前端国际化,但菜单栏通过后端控制,个人写个后端菜单国际化的控制(可扩展)主要思路:后端启动时初始化将数据库中所有的菜单初始到容器里,前端发请求带上语言类型请求头,更据语言类型返回菜单数据新增一张表sys_lang/*==============================================================*//* Table: sys...
2019-12-04 10:38:29
2440
1
原创 java优雅的编写代码
一、构造器参数太多 1、用建造者设计模式 2、用JavaBeans模式, 3、get和set二、不需要实例化的类应该构造器私有三、不要创建不必要的对象 比如自动装箱Long a = 1L,可以在多个实例中重用的成员变量使用static四、避免使用终结方法 比如finalizer()五、使类和成员的可...
2019-10-15 11:16:19
654
原创 jvm出现各个区域内存不足的问题分析
一、内存溢出 程序在申请内存时,没有足够的内存空间,很多时候内存溢出都是因为内存泄漏造成的二、内存泄漏 该释放的对象没有释放,对象无法被回收,常见于使用容器保存元素的情况,这一定是代码的问题三、栈溢出 常见于递归调用造成的死循环四、堆溢出 对象不断被创建,堆内存不足存放太多对象五、方法区溢出 在...
2019-10-15 10:38:17
831
原创 java中的四种引用(强软弱虚)
一、强引用 =号的引用,比如User user = new User(),强引用不会被垃圾回收,就算内存不足也不会回收二、软引用 SoftReference<User> user = new SoftReference<>(new User()),软引用在内存不足促发full gc的时候会回收掉三、弱引用 Weak...
2019-10-15 10:18:43
152
原创 SpingBoot集成MapDb
MapDb是一个基于jvm内存的轻量级数据库,可以持久化map数据,有点类似nosql,不需要配置连接,在项目中集成就行一、配置pom文件依赖和仓库地址:<dependency> <groupId>org.mapdb</groupId> <artifactId>mapdb</artifactId> ...
2019-09-02 17:26:25
1210
原创 多线程基础
一、线程与进程的区别进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源线程:CPU调度的最小单位,必须依赖进程而存在。二、并发与并行的区别并发: 在单位时间内可以处理多个事情的能力并行: 在同一时刻可以处理多个事情的能力三、多线程实现的方式继承Thread类,实现Runnable、Callable接口三种方式(推荐使用Callabl...
2019-08-08 10:49:19
153
原创 java集合接口List接口实现类源码的实现
该文章主要讲解各个ArrayList和LinkedList用的是什么样的数据结构实现的,怎么操作数据的(主要讲添加删除获取的操作)List接口:ArrayList实现:一、ArrayList是用Object数组来实现的,是有序的线性表结构.初始化不设置初始的数组的size大小的时候,会默认为空数组,二、add()会判断数组能存的空间是否已经满了,满了就会创建一个新数组,新数组的s...
2019-07-31 14:53:38
288
原创 银联联机UTVT SM4 MAC算法
/** * SM4 mac计算 * 1.数据不为16的倍数,需要补0 * 2.将数据16个字节进行异或,再将异或的结果与下一个16个字节异或,一直到最后 * 3.将异或运算后的最后16个字节 转换成32 个HEXDECIMAL: * 4.取前16 个字节用MAK加密 * 5.将加密后的结果与后16 个字节异或 * 6.用异或的...
2019-07-30 15:15:49
3940
2
原创 vue+elementui+springboot实现excel导入并读取excel数据
我将前端读取到的excel数据转成excel json字符串和excel字符串数组,excel json字符串后台转成map集合(Map<String,String>),excel字符串数组转成list(List<List<String>>),每一个list代表excel一行数据的key,数据示例请看截图:key值list如截图中的第一行,key value...
2019-07-30 14:57:51
13325
7
原创 银联电子签名jbig转可视bmp图片
依赖的jar包链接及提取码如下:链接: https://pan.baidu.com/s/14DgnsD-4iPhCEtcTaAuCcA 提取码: hb82调用的代码如下:public static void main(String[] args) { String data = "00 00 01 00 00 00 01 00 00 00 00 4F 00 00 00...
2019-07-24 11:58:31
2298
3
原创 kafka9092端口telnet不通的问题
在linux搭建完kafka启动成功后,在windows上用telnet测试9092端口是否能不能通的时候,发现端口telent不通,我防火墙已经关闭,用netstat命令查看端口占用也没问,后来尝试了修改各种配置后发现server.properties配置文件listeners=PLAINTEXT://:9092改成listeners=PLAINTEXT://0.0.0.0:9092就可以了...
2019-05-09 15:51:26
12443
4
原创 java读取properties文件并修改、新增属性值
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;import lombok.extern.slf4j.Slf4j;/*** 获取properties文件,修改文件内容* @author lix...
2019-03-28 13:48:05
4447
原创 java中list集合存JSONObject对象,遍历list取json相同key中的值相加
List<JSONObject> jsonList = new ArrayList<JSONObject>(); JSONObject json1 = new JSONObject(); json1.put("code", "MX01"); json1.put("num", "2"); JSONObject j...
2019-03-19 11:31:35
13627
原创 linux centOS7docker安装mysql镜像
下载mysql:docker pull mysql第一次启动配置文件:docker-compose -f docker-compose-mysql.yml up (文件配置在最下方)启动没报错后退出再重新启动:docker-compose -f docker-compose-mysql.yml start进入mysql容器:docker exec -it (容器id) /bin/sh...
2019-03-15 09:18:45
704
1
原创 linux centOS配置ssh远程登录
ssh远程登录 公钥和私钥的生成 进入到/etc/ssh目录下:cd /etc/ssh生成公私钥:ssh-keygen -t rsa -P root123 -f root -C ‘my root key’(root123是登录密码、root是生成的文件名、my root key是登录注释) 将公钥部署到服务器 执行:cat root.pub >> ~/.ssh...
2019-03-15 09:02:23
435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人