- 博客(15)
- 收藏
- 关注
原创 redis 安装报错 jemalloc/jemalloc.h: No such file or directory
错误内容:jemalloc/jemalloc.h: No such file or directory。针对这个错误,我们可以在README.md 文件中看到解释。Selecting a non-default memory allocator when building Redis is done by settingthe `MALLOC` environment variable. Redis is compiled and linked against libcmalloc by de
2021-10-12 10:49:36
860
原创 如何优雅的在java中统计代码块耗时
原文:如何优雅的在java中统计代码块耗时在我们的实际开发中,多多少少会遇到统计一段代码片段的耗时的情况,我们一般的写法如下long start = System.currentTimeMillis();try { // .... 具体的代码段} finally { System.out.println("cost: " + (System.currentTimeMillis() - start));}上面的写法没有什么毛病,但是看起来就不太美观了,那么有没有什么更优雅的写法呢
2021-10-12 10:26:27
405
原创 InputStream重复使用小技巧
在日常的编码中,有时会遇到,需要重复获取InputStream中的数据的需求;然后一般的流,只能读一次,读完就没了;那么如果我希望有一个可以重复读取数据的InputStream,可以怎么操作?/** * 转换为字节数组输入流,可以重复消费流中数据 * * @param inputStream * @return * @throws IOException */public static ByteArrayInputStream toByteArrayInputStream(InputStre
2021-10-12 10:23:35
1253
原创 Java List遍历删除
对于列表,这里以ArrayList进行举例说明,下面给出几种经常会遇到的写法首先初始化一个list数组List<String> list = new ArrayList<>();for (int i = 0; i < 20; i++) { list.add(i + ">index");}错误写法foreach这个属于我们最常见的foreach循环,在循环内部判断满足条件的直接删除for (String id : list) { if (i
2021-10-12 10:22:40
514
原创 Java HashMap遍历删除
map的迭代删除,和我们常见的list,set不太一样,不能直接获取Iteraotr对象,提供的删除方法也是单个的,根据key进行删除,如果我们有个需求,将map中满足某些条件的元素删除掉,要怎么做呢?首先初始化一个HashMapMap<String, Integer> map = new HashMap<>();map.put("a", 1);map.put("b", 2);map.put("c", 3);map.put("d", 4);非常不优雅版本List&l
2021-10-12 10:21:03
1436
原创 获取本机IP地址工具类
import java.net.*;import java.util.Enumeration;public class IpUtil { public static final String DEFAULT_IP = "127.0.0.1"; /** * 直接根据第一个网卡地址作为其内网ipv4地址,避免返回 127.0.0.1 * * @return */ public static String getLocalIpByNetcar
2021-10-12 10:19:22
110
原创 AOP请求日志记录及耗时统计
import com.baomidou.mybatisplus.core.toolkit.IdWorker;import com.xxx.common.utils.WebServletUtil;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.As
2021-10-12 10:18:07
397
原创 Java字符串处理函数汇总
public String concat(String str) //该方法的参数为一个String类对象 //作用是将参数中的字符串str连接到原来字符串的后面 //返回字串的长度,这里的长度指的是字符串中Unicode字符的数目 public int length() public char charAt(int index) //该方法在一个特定的位置索引一个字符串,以得到字符串中指定位置的字符 //值得注意的是,在字符串中第一个字符的索引是0,第二个字符的..
2021-10-12 10:15:07
1246
原创 进制转换相关API
工作中用到了一些基本的进制转换与处理的API,记录在此import org.apache.commons.lang.StringUtils;public static void main(String[] args) { String hexStr = "80"; //将16进制转为二进制字符串 String s = Long.toBinaryString(Long.valueOf(hexStr, 16)); System.out.println(s); //为
2021-10-12 10:14:07
242
原创 将字节数转换为人类可读的格式
在阅读阮一峰的《科技爱好者周刊(第165期)》时,看到了一个关于将字节数转换为人类可读的格式的文章,位置在:文章->6.复制次数最多的 StackOverflow 代码片段,这段代码的作者多年后写了这篇文章,分析自己原始代码里面的漏洞。文章详细描述了作者看到问题,写出了原始的解决方案代码的过程,分析了原始代码里的漏洞,并在文末提供了修复bug后的版本,以及可用于生产环境的优化后版本。stackoverflow连接:How can I convert byte size into a human
2021-10-12 10:07:57
329
原创 拉取Git仓库代码并自动构建运行
公司内网服务器无法使用docker,因此写一个直接拉取Git仓库中的代码构建后直接启动的脚本。前提要先做好Git相关的配置,并安装好maven。编写如下脚本:#!/bin/bashif [ -n "$1" ]; then echo "要发布的git分支为: $1"else echo "请输入要发布的git分支名称,如:dev" exitfiecho "拉取最新代码并使用maven构建..."cd /usr/local/software/project/ysx-sf
2021-10-11 15:18:13
560
原创 监控程序运行并自动重启脚本
用于监控程序是否正常运行,固定间隔时间检查一次,如果程序挂掉,则自动重启。新建以下脚本文件#!/bin/shfrpdir=/usr/local/software/frp/frpcd $frpdirwhile :do stillRunning=$(ps -ef |grep "frps -c" |grep -v "grep") if [ "$stillRunning" ] ; then echo $(date "+%Y-%m-%d %H:%M:%S") "frp运行正常..."
2021-10-11 14:55:44
755
原创 shell获取系统当前时间并格式化
shell命令获取当前系统时间并格式化的方式记录time=$(date "+%Y-%m-%d %H:%M:%S")echo "${time}"说明date后面有一个空格,否则无法识别命令,Y显示4位年份,如:2018;y显示2位年份,如:18。m表示月份;M表示分钟。d表示天,而D则表示当前日期, 如:1/18/18(也就是2018.1.18)。H表示小时,而h显示月份。s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。...
2021-10-11 14:48:09
2163
原创 搭建 GitHub 图床 利用 cdn.jsdelivr.net 加速
新建 GitHub仓库 在 仓库 新建 index.html<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width-device-width,initial-scale-1" /> <title>Images</title> </hea.
2021-10-11 14:31:07
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人