趣味杂记
不常见的知识
Victor刘
过好生活,再写一点代码
展开
-
[Demo示例]爬取豆瓣FM个人收藏歌曲“红心列表”
背景我很喜欢豆瓣FM的风格,然而它无法满足我日常的需求,手机上用网易云音乐,家里海信电视用QQ音乐、天猫放糖好像是虾米。好累啊,舍不得豆瓣的歌,想把我收藏的“红心歌曲”清单都下载下来。步骤一模拟登陆豆瓣,使用Fiddler拦截http协议,查看登录请求。步骤二分析http请求,想要获取“红心歌曲”需要三次http请求:第一次:登录获取用户标识cookie第二次:使用cookie获取红...原创 2018-12-05 14:20:46 · 380 阅读 · 0 评论 -
Jcmd查看类对象大小
命令是:jps|grep CommandTest|awk {'print $1'}|xargs -I '{}' jcmd {} GC.class_histogram|grep CommandTest作用是:启动CommandTest类,并查看它占用的内存大小。解析:1、CommandTest类:public class ConcurrentMapTest { int a; int aa; int aaa; public static void main(St原创 2020-11-18 10:51:11 · 300 阅读 · 0 评论 -
springboot在代码中动态修改application.properties配置的参数
目标:在spring启动加载完配置后,我们自定义一个Environment后置处理器,来修改配置。背景知识:1、spring中配置可以从Environment中获取。2、ApplicaitonContext接口包含getEnvironment功能。3、EnvironmentPostProcessor接口是Environment的后置处理器4、springboot的spring.factorys文件可以自定义EnvironmentPostProcessor实现。方法:1、在项目resourc原创 2020-07-25 12:18:23 · 17211 阅读 · 9 评论 -
如何使用arthas查看成员变量(基于Spring)——java查看运行中成员变量值
如何使用arthas查看成员变量(基于Spring)查看运行的代码 jad com.example.ClassName查看对象及属性。备注:我搜了一下没找到合适方法直接查看对象的成员变量,自己发现了这样一个办法,一般我们用Spring时,可以写一个Holder类,实现ApplicationContextWare接口,这样我们在Spring加载后可以获取其context变量,context....原创 2020-04-27 11:00:41 · 21051 阅读 · 2 评论 -
[项目间复用——发布到Maven] MyBatis全局枚举Starter
缘起1、某次面试被问到:“你工作这么久,不同项目间,代码不能复用吗?”2、面试经常被问到:“你自己写过Starter吗?”结果说的,有道理,回头看了一下自己,确实没有注意总结成果。于是兴起,决定把之前的一个小功能封装成Starter,并上传到Maven的中心库。说明代码,很简单,稍作修改,使其符合SpringBoot的Starter。目前1.0.1正在发布中,1.0有问题,发版的时候忘改包名了,跑不起来。大家可以自己尝试一下。还是很加zhuang分bi的。技术介绍地址:[如何提高代码优雅性原创 2021-01-27 15:03:42 · 95 阅读 · 0 评论 -
jmockdata——java单元测试利器
单元测试时,总需要生成一些测试数据,String、Int、float等,甚至是复杂对象。<dependency> <groupId>com.github.jsonzou</groupId> <artifactId>jmockdata</artifactId> <version>4.2.0</version></dependency>jmockdata是一个第三方的jar包,我最近使原创 2021-04-19 17:49:01 · 1452 阅读 · 0 评论 -
[如何验证Git密码]你的Git密码输错了吗
在做DevOps项目时,有从其他git地址导入项目的需求。如果是非public的项目需要用户名和密码,然而gitlab并未提供相关验证方法。其实Git本身就提供了验证的方法,这隐含在了Git的http协议中。git clone时,client端需要先获取服务器的一个静态文件,然后再进行具体操作。也就是说,我们通过一个GET请求,根据返回状态码即可区分是否有权限且用户名密码正确。HTTP GET请求如下:// name为用户名,pwd为密码// @后面是git地址// 静态文件的地址实际为 /原创 2021-05-08 09:43:43 · 1664 阅读 · 1 评论 -
Git识别项目的语言类型,及文件占比。
最近在做代码分析,想知道一个git仓库的语言类型,相信大家都见过这个:图中列出了不同的文件类型在代码仓中的占比,那如何实现这个功能呢?结果研究,我写了一个脚本如下:# git查询文件后缀的数量,用以区分项目使用的语言。# 列出git的pack文件索引# git rev-list --objects --all \# 只输出第二列文件名# |awk '{print $2}' \# 排序去重# |sort|uniq \# 按照‘/’分割并取出最后一个,即文件名# |awk -F/ '{原创 2021-07-05 15:50:39 · 1650 阅读 · 2 评论 -
[提高开发速度] mybatis generator 这样用很强大
最近研究mybatis generator源码,发现了通过Plugin接口可以修改生成的文件,进一步研究发现也可以自定义mapper、xml、model以外的任意java类,比如service、controller等。现在介绍生成service接口的办法:1、首先需要再mbg的xml配置文件中增加Plugin实现,如:ServicePlugin<generatorConfiguration> <context> <plugin type="cn.test.confi原创 2021-01-18 09:15:55 · 274 阅读 · 1 评论