210810-实战小技巧2:数组与list互转

每天一个实战小技巧:数组与list互转

这个考题比较常见,也比较简单,难道就这也有什么可以说到的门路不成?

接下来本文好好的说一说它的几种实现姿势,总有一款你喜欢的

210809-实战小技巧:字符串占位替换-JDK版

字符串占位替换,相信没有小伙伴是陌生的,这东西可以说是伴随着我们所有的项目工程,编码过程;别不相信,如

  • String.format
  • sql参数拼接的占位
  • log日志输出

接下来我们看一下在我们的日常工作生涯中,经常涉及到的几种占位替换方式

210807-Jackson 实用姿势小结

使用json进行数据交互可以说是非常常见的常见,在java侧,常用的json解析框架也不少,比如gson, fastjson以及spring mvc中默认使用的jackson;本文将主要介绍一下jackson的基本使用姿势,比如常见的

  • 普通对象转json字符串
  • json字符串转POJO,转Map/List
  • 泛型支持
  • 驼峰/下划线互转,自定义映射关系

210723-Arthas 获取SpringContext访问应用行为记录

使用arthas进行应用排查定位,这里主要记录借助arthas,获取SpringContext,然后就可以通过SpringContext来访问应用内存数据,调用bean方法等操作

基本操作

1
2
3
4
5
6
7
8
9
10
11
12
# 下载arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar
# 启动
java -jar arthas-boot.jar
# 选择需要挂在的jar进程
1

# 监控,获取SpringContext
tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod

# 然后通过http访问一下应用,接下来就可以使用下面的获取到SpringContext
tt -i 1000 -w 'target.getApplicationContext()'

210715-Json序列化框架对比与最佳实践推荐

Java 生态中,最最常见的json序列化工具有三个jackson, gson, fastsjon,当然我们常用的也就是这几个

https://mvnrepository.com/open-source/json-libraries

json协议虽然是一致的,但是不同的框架对json的序列化支持却不尽相同,那么在项目中如何使用这些框架,怎样的使用才算优雅呢?

210706-MySql表字段修改记录

mysql修改表数据类型的方式

  • 针对一个已经存在的列,修改类型,主要使用 modify
1
alter table xxx modify id int(11) unsigned not null auto_increment comment '主键id'
  • 如果是希望新增一列,使用add column
1
2
-- after 表示这个新增的列在id这一列之后
alter table xxx add column to_add varchar(11) not null default '' comment '新增的列' after `id`;
  • 删除某一列,使用 drop column
1
2
-- 删除 xxx 这一列
alter table drop column xxx;

210702-curl 耗时统计脚本小记

记录一下curl访问url请求的耗时情况

1
curl 'https://blog.hhui.top/hexblog/about/' -w '%{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%'

参数说明:

  • time_namelookup:DNS 解析域名耗时
  • time_connect:client和server端建立TCP 连接的时间
  • time_starttransfer:从client发出请求;到web的server 响应第一个字节的时间
  • time_total:client发出请求;到web的server发送会所有的相应数据的时间

建立TCP连接到server返回client第一个字节的时间:time_starttransfer – time_connect = s

server把响应数据发送给client的时间:time_total – time_starttransfer = s

210629-QlExpress使用姿势四:Operator与Micro扩展

本文将介绍QlExpress中自定义操作符Operator + Micro的使用姿势,通过扩展Operator,可以为规则脚本赋能,提供更友好的使用姿势

210628-QlExpress使用姿势三:Function与方法绑定

QlExpress绑定方法,实现能力扩展;支持自定Function,再脚本中定义函数,实现复用

210624-QlExpress使用姿势二:基本语法

上一篇博文简单的介绍了一下QlExpress,以及一个最基础的使用demo,接下来我们看一下QlExpress的语法,重点关注一下它与Java不同的地方

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 基本使用姿势,如常见的

  • 添加文档
  • 常见的查询姿势
  • 修改/删除文档
Your browser is out-of-date!

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

×