Java
希尔伯特
爱跑步的程序猿,用文字记录点滴生活。
展开
-
基于Redis存储利用进位制思想生成不重复的随机字符串
随机字符串背景代码片总结背景为了保证全工程生成的随机字符串不重复,查询了相关文档,也看到了一些优秀的实现方式,但都无法满足自己的要求。因此考虑到项目的需要,码了一个工具类。记录于此,共需要的小伙伴参考。代码片import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import org.springframework.data.redis.core.StringRedisTemplate;impor原创 2020-07-06 19:14:56 · 980 阅读 · 0 评论 -
根据经纬度计算两点间的距离--Java实现
由于最近业务需求,特此网上搜刮了一下根据经纬度计算距离的方法,特整理在此,以记录参考。希望队友需要的童鞋也有所帮助。/** * @Author: hilbert.xu */public class DistanceUtil { private static final double EARTH_RADIUS = 6378137;//赤道半径(单位m) /** ...原创 2019-06-25 10:55:49 · 2681 阅读 · 0 评论 -
Java正则匹配过滤移除html标签以及获取img完整标签工具类
工具类记录于此,以供参考。package com.gccp.translate.biz.util;import org.apache.commons.lang3.StringUtils;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @author hilbert.xu * @date...原创 2019-05-21 15:53:49 · 1434 阅读 · 2 评论 -
SpringBoot瘦身打包部署
一、前言最近做的项目由于引入第三方库导致在运行mvn clean package 打jar时,编译出来的 Jar 包很大(服务器多达500MB)。二、瘦身前的Jar包SpringBoot编译出来的Jar包中,磁盘占用大的,是一些外部依赖库(jar包),例如:进入项目工程根目录,执行mvn clean package命令,得到的Jar包目录结构如下:整个Jar包 524...原创 2019-05-24 19:04:49 · 2671 阅读 · 0 评论 -
JavaCV流到流转化的一个小应用
1、应用场景在实际开发过程中,推流和拉流不想生成本地文件,以节省服务器对磁盘的要求。网上大量文档都是生成本地文件的形式来做操作。因此,在查看源码的基础之上,参考网上文档,码了一个工具类。2、具体应用类本类只是流到流不产生具体的本地文件,如有需要可以网上搜索相关文档,很多。代码:import org.bytedeco.javacv.*;import org.slf4j.Log...原创 2019-05-08 17:23:16 · 1260 阅读 · 13 评论 -
Java简单实现本地缓存
为了实现一致性hash算法(算法见https://blog.csdn.net/weixin_35971547/article/details/89427847),简单的编写了一个本地缓存的实现类,记录在此,供大家参考。LocalCache.javaimport org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.i...原创 2019-04-21 08:04:58 · 6142 阅读 · 0 评论 -
Java一个简单的一致性hash算法(带虚拟节点)
最近由于项目需要实现一个负载均衡的功能。考虑到以往的技术应用,准备参考Mycat的一致性hash算法,实现此功能。查阅网上资料和Mycat一致性hash算法的源码后,编写了一个简单的实现算法。具体实现如下:缓存实现参考:https://blog.csdn.net/weixin_35971547/article/details/89427914import com.gccp.trans...原创 2019-04-21 07:50:13 · 1116 阅读 · 0 评论 -
vueJs导出excel文件
一、安装依赖cnpm install --save xlsx file-saver二、导入依赖包import FileSaver from 'file-saver';import XLSX from 'xlsx';三、添加导出按钮<el-form-item> <el-button @click="exportExcel" style="margi...原创 2019-03-22 08:49:40 · 1016 阅读 · 0 评论 -
Redis学习小记(1)
参考:http://www.importnew.com/27031.html一、Redis 简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key – value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-val...原创 2019-03-07 17:56:14 · 173 阅读 · 0 评论 -
Java后端利用ffmpeg做视频转码(通过视频访问链接直接进行)
一、下载ffmpeg下载地址:http://www.ffmpeg.org/download.html。下载完成后,解压到自己喜欢的目录。二、命令行转码(参考https://blog.csdn.net/guojianwei2011/article/details/83242789)进入上一步解软件目录的bin目录下,输入以下命令即可,ffmpeg -i “https://xxx/xx...原创 2019-03-04 14:52:46 · 9638 阅读 · 2 评论 -
IDEA创建SpringBoot项目无法正常启动的问题解决方式及思想
一、背景最近由于接手新任务,需要对以往的项目进行技术改造,把原有的SpringMVC替换成SpringBoot。初步想法是先初始化SpringBoot项目,然后把原有项目中的代码移植过来。当然网上有很多项目改造的例子,可以参考一下。不过每个项目都不同,运用的技术也有差异,需要根据真实情况选择适当的方法进行改造。不可一味的模仿,不然可能会浪费大量的时间,也没有实质性的进展。在此,博主主要...原创 2019-02-21 17:53:47 · 11538 阅读 · 0 评论 -
String Cloud 搭建eureka注册中心(Java 11),集成开发工具IDEA
一、利用IDEA生成项目结构1、创建新项目,选择Spring Initializr,如图所示 2、点击Next,设置配置项目基本信息和Java版本,如图所示 3、点击Next,选择项目类型 ,如图所示4、 点击Next,如图所示5、点击Finish,完成项目结构生成,如图所示(注意:此处resources目录下的application文件格式做了修改,可根据喜好...原创 2019-01-14 20:08:18 · 904 阅读 · 2 评论 -
Spring Boot整合logback:一个简单的日志集成架构
一、业务需求在项目开发和运维过程中需要通过日志来分析问题,解决问题以保证项目的正常运行。通过SpringBoot自带的日志管理相对比较简单,已无法满足日常的运维需求,需要对日志文件进行分时分类管理,刚好通过学习接触到了logback日志系统。因此便决定将其加入到项目框架之中。二、logback简介至于简介,可自行网上查阅相关文档文献,这里不做详细描述,毕竟不是本文主要目的。只需理解它很...原创 2019-01-03 12:23:37 · 1126 阅读 · 1 评论 -
Linux crontab定时执行Shell脚本时的一个小坑:一种类似场景 (当需要执行特定的命令时) 解决思路
由于一些不可抗拒的原因,项目部署后需要定时检测项目是否正常运行,否则将执行重启命令。在具体实施过程中发现,定时器执行无误,但是重启命令无法正常启动。多方查找发现Shell脚本中的Java命令需要引入环境变量方可正常执行。因此做了一下修改,脚本如下(仅供参考):1、crontab执行配置* * * * * cd /项目目录 && ./auto_start.sh >...原创 2019-01-03 10:41:05 · 619 阅读 · 2 评论 -
一个简单的随机算法——红包算法
一个简单的红包生成算法,代码如下:/** * 红包 * @param n * @param money 单位:分 * @return */public static double[] redPacket(int n, double money) { // 红包结果 double[] result = new double[n]; ...原创 2019-01-02 18:11:42 · 5131 阅读 · 1 评论 -
Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议
一、项目需求在开发过程中,由于技术的不断迭代,为了提高开发效率,需要对原有项目的架构做出相应的调整。二、存在的问题为了不影响项目进度,架构调整初期只是把项目做了简单的maven管理,引入springboot并未做spring cloud微服务处理。但随着项目的进一步开发,急需拆分现有业务,做微服务处理。因此架构上的短板日益突出。spring cloud config 无法完全应用,每次...原创 2019-01-02 19:37:16 · 4762 阅读 · 2 评论 -
一个简单的随机算法——生成随机时间
根据起始时间生成随机事件,代码如下: public static Date randomDate(Date beginDate,Date endDate ){ if(beginDate.getTime() >= endDate.getTime()){ return new Date(); } long d...原创 2019-01-02 17:08:58 · 2995 阅读 · 1 评论 -
一个简单的随机算法——获取指定个数的不同随机数
两个简单的例子,代码实现如下:1、随机拆分一个整数public static List<Integer> randomList(int n){ Random rand = new Random(); List<Integer> list = new ArrayList<>(); int i = 0; ...原创 2019-01-02 16:39:39 · 906 阅读 · 1 评论 -
Java网页爬虫:Spring Boot通过webmagic实现网页爬虫
一、需求因为业务需求,需要实现新闻资讯功能。初步方案通过第三方提供的服务接口来实现此功能。由于谈判失败,因此决定自开发一套爬虫接口。因此通过查询相关文档,决定采用webmagic开源框架实现自己的爬虫功能。二、实施过程1、引入依赖在pom文件中添加依赖:<!-- 爬虫 --><dependency> <groupId>us.codecr...原创 2019-01-03 17:22:18 · 1408 阅读 · 1 评论