210524-win10与ubuntu子系统文件互查

记录一下win10与子系统ubuntu之间的文件共享方式,即如何在win10中查询ubuntu的文件,反过来又是怎么操作的

210518-String#format数量不匹配抛异常

偶然发现一个问题,在使用String.format进行格式化输出时,发现参数个数不匹配时,会抛出异常,如

1
String msg = String.format("hello %s, %s", "a");

上面这个执行之后,会抛MissingFormatArgumentException异常,提示信息如

1
java.util.MissingFormatArgumentException: Format specifier '%s'

210514-IDEA代码修改不生效,需要mvn install问题记录

最近用idea开发一个项目,遇到一个鬼畜的问题,代码修改之后,启动测试发现不生效,只有重新mvn clean install之后才能加载到改动的代码

这就有点过分了,怀疑是idea的配置问题导致的,没有什么特别好的办法,只能删配置重新导入

  • 删除 .idea文件夹
  • 删除 *.iml文件
  • 重新导入项目

210512-IDEA 项目module无法导入问题记录

idea一个项目有多个module,忽然发现一个module显示不太正常,如

一般有两种方法,基本的如:

  • 选中pom.xml,右键
  • maven
  • unignore Projects

210509-spring boot启动类启动 错误: 找不到或无法加载主类 xxx.xxxx.Application 的解决方法

SpringBoot项目启动,忽然提示找不到或者无法加载主类,记录两种常用的方式

方法一:清空idea缓存

idea清理缓存:

  • file -> Invalidate Cache & Restart IDEA

方法二:maven重新install

执行命令

1
mvn clean install -DskipTests=true

210412-JDK 常见并发控制手段

单实例的并发控制,主要是针对JVM内,我们常规的手段即可满足需求,常见的手段大概有下面这些

  • 同步代码块
  • CAS自旋
  • 阻塞队列,令牌桶等

210408-常见Bean拷贝框架下划线驼峰互转扩展支持

上一篇博文介绍了几种bean拷贝框架的使用姿势以及性能对比,主要适用的是属性名一致、类型一致的拷贝,在实际的业务开发中,经常会用到驼峰和下划线的互转,本文在之前的基础上进行扩展

  • cglib
  • hutool

210408-常见Bean拷贝框架使用姿势及性能对比

Bean属性拷贝,主要针对几个常用的拷贝框架进行性能对比,以及功能扩展支持

选用的框架

  • cglib (直接使用Spring封装的BeanCopier)
  • apache
  • MapStruct
  • Spring
  • HuTool

210331-ElastchSearch 基本使用姿势

ElastchSearch 基本使用姿势,如常见的

  • 添加文档
  • 常见的查询姿势
  • 修改/删除文档

210329-Elastic & Kibana安装与基本使用

本文主要介绍es & kibana的安装和基本使用,更多es的相关用法后面逐一补上

210315-域名解析命令

1. 配置文件

域名相关的两个配置文件

linux

  • /etc/hosts: ip -> 域名
  • /etc/resolv.conf: 设置dns服务器ip地址
  • /etc/host.conf: 制定域名解析顺序(本地hosts文件,dns解析)

win

  • C:\Windows\System32\drivers\etc\hosts: ip -> 域名
  • dns: 控制面板 -> 网络和共享中心 -> 以太网 -> 属性 -> ipv4 -> dns

210302-QuickMedia升级2.6.0

quick-media 升级2.6.0,二维码组件扩展两种样式规则

  • MINI_RECT: 超火的小方块二维码生成
  • IMAGE: 图片二维码,当相同的区域指定多个图片时,支持随机挑选渲染

项目源码: https://github.com/liuyueyi/quick-media

210225-分页遍历的两种使用姿势

在日常开发中,分页遍历迭代的场景可以说非常普遍了,比如扫表,每次捞100条数据,然后遍历这100条数据,依次执行某个业务逻辑;这100条执行完毕之后,再加载下一百条数据,直到扫描完毕

那么要实现上面这种分页迭代遍历的场景,我们可以怎么做呢

本文将介绍两种使用姿势

  • 常规的使用方法
  • 借助Iterator的使用姿势

210224-ssh防掉线设置

通过ssh连接远程服务器,一段时间不操作之后自动断线,一个可选的设置方法,在服务端添加心跳设置

1
2
3
4
5
sudo vim /etc/ssh/sshd_config

# 配置
ClientAliveInterval 30
ClientAliveCountMax 6

200223-docker 批量删除命令小记

删除所有容器

1
docker rm `docker ps -a -q`

删除所有镜像

1
docker rmi `docker images -q`

删除没有tag镜像

1
docker rmi `docker images|grep none|awk '{print $3 }'|xargs`

200223-npm 打包溢出 FATAL ERROR Ineffective mark-compacts near heap limit Allocation failed

hexo打包上传博文时,忽然报了一个致命错误,FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed 堆内存不够

一个简单的解决办法

1
export NODE_OPTIONS="--max-old-space-size=8192"

或者直接在.bash_profile文件中配置,并全局生效

1
2
3
4
5
6
7
8
vim ~/.bash_profile

# 新增,并保存退出
export NODE_OPTIONS="--max-old-space-size=8192"


# 生效
source ~/.bash_profile

210208-git diff ^M不同操作系统下换行区别

不同操作系统下的换行不一致,当一个项目的开发者分别再linux/mac/win下做了代码提交改动之后,使用git diff命令时,可能会发现,即便啥也没改,当时有很多变动,显示^M的差别

主要原因就是换行的问题

解决这个问题的一个办法就是统一换行

1
git config --global core.autocrlf true

210207-MySql并发插入死锁引来的锁分析

最近遇到一个由于唯一性索引,导致并发插入产生死锁的场景,在分析死锁产生的原因时,发现这一块还挺有意思的,涉及到MySql中不少的知识点,特此总结记录一下

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×