- 博客(100)
- 收藏
- 关注
原创 Springboot 导出、导入csv文件(包含base64图片)
注意要点:1、csv中会对数字超过12位时会变为科学计数,超过15位时其他位变为0.解决办法: 在数字后面加上 "\t"2、图片转换为base64时,sun.misc.BASE64Encoder 方法 Base64一行不能超过76字符,超过会自动换行。在windows系统表现为\r\n ,linnux表现为: \n。java.util.Base64 方法的加码不会生成换行符。建议推荐使用这个。csv工具类:package com.hikvision.modules.util;/*.
2022-02-17 14:50:45
1632
原创 RestTemplate 发送https请求
maven依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version></dependency>import org.apache.http.conn.ssl.SSLConnectionS..
2021-03-03 11:05:09
1161
原创 解决URL包含中文导致下载失败
public static String urlEncodeChinese(String url) { try { // 正则匹配中文字符和空格 和中文 括号 Matcher matcher = Pattern.compile("[\u4e00-\u9fa5]|\u00A0|\u0020|\u3000|(|)|(|)").matcher(url); String tmp = ""; wh...
2021-01-19 14:11:45
2634
原创 解决FastJSON 转换对象时,日期处理为时间戳格式
可以用一下方法:JSON.toJSONStringWithDateFormat(Object,dateformat,SerializerFeature.WriteDateUseDateFormat)常用日期格式:YYYY-MM-dd'T'HH:mm:ssXXX + SerializerFeature.WriteDateUseDateFormat = SerializerFeature.UseISO8601DateFormatYYYY-MM-dd'T'HH:mm:ss:sssZYYY
2021-01-19 11:12:48
2869
1
原创 springboot1.5.22 集成kafka 连接kafka失败问题
这是因为版本问题。我服务端kafka 为0.10.0.1。对应需要引入maven依赖如下:<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency><dependency> <groupId>org.apache.kafka&.
2021-01-19 11:06:30
339
原创 20200924 项目需要补充知识点:
1、spring-data-redis、CacheManager 缓存管理(如何配置多种缓存以及灵活切换)2、zipkin 日志收集以及pring-cloud-starter-sleuth集成zipkin 如何对微服务日志进行收集、跟踪、打印、存储、查询等。扩展存储方式。数据库(mysql/kafak/es等)...
2020-09-24 11:45:05
131
原创 springboot 整合zookeeper框架(curator)
1、版本 springboot 2.2.7.RELEASE jdk 1.8 zookeeper 3.5.6 curator 3.2.02、pom文件:这里只列出zookeeper 和 curator<dependencies> <dependency> <groupId>com.zz</groupId> <artifactId>zz-log</arti...
2020-08-25 11:08:46
3512
原创 Docker 部署zookeeper集群
1、docker 查看zookeeper镜像。docker search zookeeper [root@localhost /]# docker search zookeeperNAME DESCRIPTION STARS OFFICIAL AUTOMATEDzookeeper
2020-08-25 10:32:36
734
原创 树形结构表设计
最近面试,被问到一个树形结构如何设计表结构。我说了最常用的设计方式。1、数据存储一张表,设计字段:parent_id 。如下图:这样会导致数据量大的话递归查下效率低下。 2、设计中间表,多对一关系。但是好像都没有达到面试官的期望。这样会导致数据存储再多张表,浪费数据库内存。而且数据量大的话,关联查询效率也是问题。在此第三种设计思路就出来了:3、基于左右值编码的Schema设计,如下图:类似二叉树的设计。 ...
2020-08-22 17:08:30
3951
原创 centos7 下安装 docker-compose
首先下载docker-compose安装包curl -L http://mirror.azure.cn/docker-toolbox/linux/compose/1.25.4/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose然后设置权限:chmod +x /usr/local/bin/docker-compose
2020-08-19 14:40:50
162
原创 mysql update select
如果需要更新结果集中的数据需要利用以下方式进行:这里的left join 可以是右连接、内连接等等update user aleft join (select id from role where role_name is null or role_name = '' )bon a.id = b.id set a.name= 'Tom'...
2020-08-18 18:18:57
105
原创 Docker部署mysql 主从复制
目录1、拉取mysql 。2、创建容器并运行: 创建主数据库:创建从数据库:1、拉取mysql 。我这拉取的是mysql 5.7docker pull mysql:5.72、创建容器并运行: 创建主数据库:docker run -p 3307:3306 --name mysql-master \ -v /work/mysql/data:/var/lib/mysql \ -v /work/mysql/conf:/e...
2020-08-08 18:50:17
198
原创 Docker 配置镜像加速
Centos7:vi /etc/docker/daemon.json添加以下内容:{"registry-mirrors": ["https://registry.docker-cn.com"]}之后重新启动服务:systemctl daemon-reloadsystemctl restart docker
2020-08-08 11:59:50
146
原创 Docker 查看容器映射路径
使用以下命令:container_name 是容器的名字,也可以写容器的ID。$ docker inspect container_name | grep Mounts -A 20查询结果:[root@localhost /]# docker inspect d2a6a115a42b | grep Mounts -A 20 "Mounts": [ { "Type": "bind", "So
2020-08-08 11:38:15
22459
转载 Centos 7 crontab重启命令
原文:https://www.cnblogs.com/sxdcgaq8080/p/10730633.html1.查看cron服务的启动状态[只有cron的状态是active running的,才表示cron服务是启动的]systemctl status crond.service2.启动cron服务[命令没有提示]systemctl start crond.service3.停止cron服务[命令没有提示]systemctl stop crond.service..
2020-08-07 17:00:50
1908
原创 java SPI
SPI是什么SPI的英文名称是Service Provider Interface,是Java 内置的服务发现机制。在开发过程中,将问题进抽象成API,可以为API提供各种实现。如果现在需要对API提供一种新的实现,我们可以不用修改原来的代码,直接生成新的Jar包,在包里提供API的新实现。通过Java的SPI机制,可以实现了框架的动态扩展,让第三方的实现能像插件一样嵌入到系统中。Java的SPI类似于IOC的功能,将装配的控制权移到了程序之外,实现在模块装配的时候不用在程序中动态指明。所以SP
2020-08-03 09:50:34
115
原创 Linux 脚本手动执行成功,加入定时任务无法执行
原因:cron的环境变量和shell脚本的环境变量不一样解决办法:定时任务里面切换到root执行*/5 * * * * su - root -c "/usr/local/test.sh"或者在脚本最后一行加入:source /etc/profile
2020-07-01 18:02:38
3819
原创 Linux 安装 ImageMagick,并支持PNG、JPEG格式
安装所需要的支持库:$ yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel安装 ImageMagick,然后进入安装目录下执行以下命令:./configure --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gv.
2020-06-30 17:32:06
1850
原创 docker 安装常用软件命令
Mysql 5.7:docker run --name mysql-dev -p 3306:3306 -v /work/mysql/conf:/etc/mysql/conf.d -v /work/mysql/logs:/logs -v /work/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7进入mysql容器方法:docker exec -it 容器id /bin/bash然后查看配置文件地址:
2020-06-29 11:50:09
367
原创 vue 刷新页面 路由守望函数beforeEach 没有触发
在main.js中需要把组件挂载放在最下方。new Vue({ el: '#app', router, store, // 使用Vuex template: '<App/>', components: { App }})
2020-06-02 17:05:21
3751
1
原创 springboot+shiro start集成启动报错
报错信息:bean named 'authorizer' that could not be found原因是在start中启动SessionsSecurityManager注解@ConditionalOnMissingBean,如果我们写成SecurityManager,自然报错。 /** * @Description: 注意这里需要返回 SessionsSecurityManager 避免 启动报 authoricator not found 错误 * @param oa.
2020-05-20 11:22:12
782
原创 Mybatis 一级缓存
mytabis一级缓存在表被删除更新操作时缓存对象引用会被移除 一级缓存是会话级别的 mybatis-plus selectList和updateBatchBy方法使用了两个不同的sqlSession.
2020-05-15 00:11:13
169
原创 vue 2.5.2+ vuex 3.3.0 导致Failed to mount component: template or render function not defined.
vue-loader版本由13.X降低到12.X即可。
2020-05-13 22:19:24
297
原创 redis客户端window命令行下中文乱码
如果redis中有中文,在win10下会出现如下:原来是window命令行默认编码是gbk.可用以下方法解决:命令行输入chcp 65001(utf-8编码),然后在命令行输入 redis-cli -h 127.0.0.1 -p 6378 --raw...
2020-05-06 23:12:01
753
1
原创 Collections.emptyList()使用
Collections.emptyList()方法说明:返回一个空的集合。调用者不需要再做非空判断。返回的是一个不可变并且长度为0的静态内部类。可以减少内存开销。但是返回的空集合,不可以执行增删操作。具体源码如下:public static final List EMPTY_LIST = new EmptyList<>();public static final <...
2020-04-30 14:48:51
3271
原创 Spring学习过程中学到的知识点总结
目录 @AliasFor注解 @Repeatable注解 TypeFilter自定义过滤器 断言的使用 Java8接口函数编程 下面就这几个方面记录下,为以后复习做个笔记。一、@AliasFor注解:这个注解有两个用途别名。它可以注解到自定义注解的两个属性上,表示这两个互为别名,也就是说这两个属性其实同一个含义。但是需要注意互为别名的属性必须有默认值,并且...
2020-04-29 10:58:36
203
原创 spring源码之bean加载原理之注解篇
上一节我们讲了xml如何加载bean,本次讲解如何通过注解加载、初始化bean。不懂得可以看下我上一篇文章:前文提要注解加载的话分:xml 和 配置。如下: <context:component-scan base-package="xxx"/> @ComponentScan首先讲解基于xml配置:我们上篇文章讲过,加载xml的时候是在AbstractApp...
2020-04-27 01:17:44
915
原创 spring源码之bean加载原理之XML篇
一、首先spring 中定义bean的方式有三种基于xml定义 <beans><bean id="mybean" class="cn.test.***.UserService" init-method="init" destory-method="destory"> </bean><bean id="message" class="jav...
2020-04-25 11:37:28
801
原创 修改iptables,导致Docker应用意外停止无法启动问题
1.问题描述:服务器上开启端口时,修改了防火墙规则。重启之后发现docker某些应用意外停止,无法启动。2.分析问题:iptables是什么 iptables与docker关系2.1 iptables了解推荐:iptables详解...
2020-04-21 23:29:10
1677
原创 手写AQS
package com.example.demo.demo.lock;import sun.misc.Unsafe;import java.io.Serializable;import java.lang.reflect.Field;import java.util.concurrent.locks.AbstractOwnableSynchronizer;import java.ut...
2020-04-06 16:09:47
264
原创 java 多线程实现方式
package com.example.demo.demo.ThreadDemo;import java.util.ArrayList;import java.util.List;import java.util.concurrent.*;/** * @description: 线程demo 测试 * 并发三要素: 原子性 可见性 有序性 * 出现线程安全的原因: * 线程切...
2020-04-01 22:11:12
157
原创 HashMap 容量为什么是2的整数幂
前几天面试问道HashMap实现原理,我巴拉巴拉一通说。然后面试官问我扩容时为什么要左移1位。我沉思了很久,没回答上来。时候查阅资料总结下:为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。我们上面也讲到了过了,Hash 值的范围值-2147483648到2147483647,前后加起来大概40亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。...
2020-03-31 11:35:05
584
原创 生产者/消费者多种实现方法
1:使用wait/notify(notifyall)package com.example.demo.demo.ThreadDemo;import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.ExecutorService;import ...
2020-03-30 23:27:12
164
原创 java集合框架(3)手写HashMap
具体有些细节美哦与写完,以后有时间补上。package com.example.demo.utils;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;import java.util.Objects;/** * @description: 手写HashMap 主要功能 ...
2020-03-25 23:49:42
166
原创 mybatis-plus 无法更新空字符串或者null
原因:mybatis-plus对字段的验证策略导致的。这个在yml中为: #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: 2解决方法:1:把字段策略改为0.并且需要确保你的PO对象修饰字段的时候,还需要加入el属性,每个属性对应数据库的jdbcType类型,这样才能成功更新空值或null。如下:/*...
2020-03-23 15:44:50
2173
原创 java集合框架(2) 手写LinkedList
package com.example.demo.utils;import java.util.Collection;import java.util.NoSuchElementException;/** * @description: 手写实现linklist * @create: 2020-03-19 15:20 **/public class MyLinkList<...
2020-03-20 11:21:33
134
原创 java集合框架(1) 手写ArrayList
目标:实现add、get、remove等核心功能.package com.example.demo.utils;import java.util.Arrays;import java.util.Collection;/** * @description: 自定义ArrayList 核心代码:数组扩容机制 每次扩容1.5倍 * 底层:System.arraycopy(src,s...
2020-03-19 09:03:34
160
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人