3月 26

批量下载豆瓣fm中收藏的音乐

本人是豆瓣fm的忠实用户,听的音乐多了,收藏的也比较多了,虽然豆瓣fm的app中可以离线下载收藏的音乐,但是还是希望能把音乐下载下来放在别的地方播放,比如放在U盘里在车里听。
过程很简单,在chrome、或者firefox中分析豆瓣账号的登录过程,然后再获取到收藏的音乐列表,然后获取到资源地址,就可以下载了。过程分析完了,用代码实现出来就完了。主要的点有如下几个:
继续阅读

3月 23

Java int溢出问题

最近在测试代码时,发现一个bug,到测试的最后阶段才发现,比较容易忽略。记录下来,以自省。
简单说一下代码要实现的功能,一个函数,入参是一个整型数字lastTime,代表持续时间(单位是分钟);函数功能是要计算以当前时间为起点,lastTime分钟之后的时间点,封装成一定的数据结构返回出来。
继续阅读

3月 07

Http Mock服务

在项目开发和项目测试时,都会遇到不同项目、模块相互调用的情况,调用方式也有很多,通过http/https、TCP连接、RPC等;这样系统之间相互依赖,会影响开发速度,所以基本上都是采用mock的方式进行开发、测试,即先写一个符合预期的假接口,进行调用。
在github上看到一个挺不错的http mock server,这里简单介绍一下。
继续阅读

3月 01

Java G1垃圾收集器入门

说明

concurrent: 并发, 多个线程协同做同一件事情(有状态)

parallel: 并行, 多个线程各做各的事情(互相间无共享状态)

参考: What’s the difference between concurrency and parallelism

概述

目的

本文介绍如何使用G1,及在 Hotspot JVM 中怎么使用G1垃圾收集器。 您将了解 G1 收集器的内部原理, 切换为 G1 收集器的命令行参数, 以及让其记录GC日志的选项。 继续阅读

2月 26

jodd之Printf

在C语言中,我们可以使用sprintf函数来控制数字的显示。jodd在java中也实现了这个函数(还拓展了一些),其实在原生的jdk中,也有类似的实现,但是jodd的实现方法也值得学习一下。
Printf可以把一个数字格式化成我们期望的格式,就像C语言那样。如下面一些示例:
继续阅读

2月 24

jodd中的缓存

Jodd是一个开源的、轻量级的适用于web开发的工具集合。包大小只有1M,使用超级简单。其实jodd的文档写的不全,只介绍了一部分的功能,有些工具类没有介绍。在翻看jodd源码时,看到jodd封装了Cache,使用起来非常简单。在这里简单介绍下。

jodd的Cache类在jodd-corejar包中,实现的缓存有先进先出(FIFO)、最近最少使用(LFU)、最近最久未使用(LRU)、基于时间的缓存。
继续阅读

12月 29

jmeter BeanShell PreProcessor组件

jmeter是个很小巧的压测工具,一般的压测场景都能搞定。但是压测时,可能某些接口需要签名、鉴权。这时候就需要一些加密算法了,jmeter虽然也自带了一些函数,但是没有加解密函数,不过jmeter却提供了用户自定义脚本的方法,除了自己写java request外,还有另一中更简单的方法,就是bean shell,我们可以使用BeanShell PreProcessor这个前置处理器。
继续阅读

12月 21

jmeter summary report踩坑记录

使用jmeter压测一个web接口的时候,踩了一个小坑,记录下来,要压测一个http接口,此接口有权限控制、需要签名(几个参数取md5),在jmeter提供的函数中未找到md5的函数,所以自己写了个java request来实现签名算法,详细代码如下:
继续阅读

12月 17

Jodd之HTTP

Jodd提供一个很轻量级、原生的的http客户端,使用起来很简单、方便。它能很方便的发送和接收http消息。

Http Get方法

HttpRequest httpRequest = HttpRequest.get("http://jodd.org");
HttpResponse response = httpRequest.send();

System.out.println(response);

继续阅读

12月 09

jodd之JDateTime

JDateTime是一个非常简洁、友好、精确的处理日期和时间的工具。它使用定义明确、并且久经考验的天文算法来进行时间操作。觉得JDK提供的Calendar很难用的人,会觉得JDateTime使用起来很方便。

Julian day(儒略日)

儒略日(Julian day)是指由公元前4713年1月1日,协调世界时中午12时开始所经过的天数,多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。如果计算相隔若干年的两个日期之间间隔的天数,利用儒略日就比较方便。官方文档上有更详细的描述,http://jodd.org/doc/jdatetime.html
继续阅读