• springboot入门02 – 自定义数据源及多数据源配置

    spring-boot的自动化配置中是包含数据源连接配置的。但有些时候我们需要自定义数据源连接的配置,比如: 使用的数据库连接池Spring暂时还不支持; 需要配置连接多数据源; 需要自定义一些数据库连接配置项。 这三种只是我曾经遇到的情形

    [阅读更多...]
  • springboot入门01 – 缓存的使用

    前两天解决了一个Spring缓存的问题,因此就想到记录一下spring-boot缓存的使用。 开启缓存 SpringBoot开启缓存也容易,在启动类上添加@EnableCaching注解就可以了,不需要过多的配置。不过此时开启的缓存是比较简

    [阅读更多...]
  • FileInputStream与BufferedInputStream

    程序中有一块儿功能是读取硬盘文件到内存里。这块儿代码执行得异常缓慢,读4个G左右的文件竟会用上十几分钟。平时也不着急,但是今天催得紧,就得优化下了。 上传代码大致如下: 这里的问题在于直接使用了FileInputStream,就是说没有使用

    [阅读更多...]
  • Metrics学习03 – Histogram

    Histogram用来统计数据的分布。Histogram可以提供收集到的数据的最大值、最小值、平均值和中值,此外还能提供百分比分布,如75%,95%,99.9%等等。 Histogram是我学习Metrics的驱动之一。最初是想使用Hist

    [阅读更多...]
  • dependencyManagement导致版本冲突

    今天遇到了一个问题: 程序中某处报了ClassNoDefineError。这个类属于jna框架。检查jna的jar,发现确实没有那个类。关键在于这个报错是在一个依赖内部发生的,jna的jar是这个依赖的内部依赖,即当前应用的一个间接依赖。因

    [阅读更多...]
  • Quartz Job类使用有参数构造方法

    也许这篇文章的名字应该改成《Quartz JobFactory的使用》,因为正是使用JobFactory解决的Quartz Job类有参数构造方法的问题。同样,使用JobFactory也能解决Job已有实例重用的问题。 问题描述 问题如标题

    [阅读更多...]
  • Metrics学习02 – Counter

    Counter是要学习的Metrics的第二个工具,顾名思义即是计数器,通常用来执行统计之类的工作。 Counter比Gauge也复杂不了多少,直接看代码好了: 这里的代码较Gauge的那段稍稍有些不同:主要是在Counter实例的创建上

    [阅读更多...]
  • Metrics学习01 – Gauge

    最近在写一个小应用,有些计量方式觉得可以参考一下Metrics,所以打算花两天的时间学习一下这个工具。 Overview Metrics是一个java监控计量工具包。在Spark、Hadoop、Spring等软件中都可以看到它的影子。Met

    [阅读更多...]
  • SpringBoot探索01 – @Import注解

    Overview Spring中@Import注解最初主要是在配置类中使用,目的是引入其他的配置类(@Configuration)并实现自动注入。 目前Import并不只是支持引入@Configuration注解的类,也支持引入Import

    [阅读更多...]
  • CaffeineCache 慎用weakKeys

    前两天在一个Spring项目里使用了Caffine缓存,在application.yml中的配置如下: 为了避免缓存占用过多内存导致频繁GC,使用了weakKeys和weakValues选项。 不过测试时发现缓存不能命中,仍然会查询数据库。

    [阅读更多...]