Java
文章平均质量分 77
gao_grace
一个佛系的程序媛~
(https://github.com/gaograce)
展开
-
Java动态替换class:agentmain + attach + transformer
前段时间,用了阿里开发的arthas,对于它是如何动态介入java程序的很感兴趣,最近有时间,就自己研究了一下,写了个简单的项目试了试。原创 2023-03-08 11:10:11 · 1265 阅读 · 0 评论 -
Actuator + Prometheus + Grafana 监控spring boot性能
最近,研究了一下怎么监控一个spring boot的web程序的信息,具体分为以下几步:Actuator + Securityactuator+security监控spring boot信息PrometheusPrometheus的安装配置启动AlertMangerPrometheus的alert manager配置Grafana使用grafana展示数据...原创 2020-07-16 18:56:47 · 213 阅读 · 0 评论 -
Actuator + Security监控spring boot的信息
spring boot提供了actuator用于监控程序信息,为了安全,使用security添加安全认证机制,为了后续使用prometheus收集信息,同时添加prometheus的依赖,具体操作如下:添加dependency这里,我们使用的gradle管理依赖,首先添加gradle的依赖,其中springBootVersion是定义的spring boot的版本。三个依赖分别是actuator、security和prometheus。(注意,这里没有包括原先项目的依赖,你首先应该是一个web项目)原创 2020-07-16 16:09:37 · 1485 阅读 · 3 评论 -
使用dbunit管理spring boot测试数据库的数据
之前记录了使用flyway管理数据库的初始化,flyway也可以进行数据初始化,不过是直接使用sql语句,dbunit可以使用xml文件对数据库里面的数据进行管理,而且对于数据的管理更为灵活,下面就简单介绍一下如何使用spring-test-dbunit。添加gradle依赖testCompile group: 'org.dbunit', name: 'dbunit', version: '...原创 2020-01-13 16:38:53 · 975 阅读 · 0 评论 -
使用flyway管理spring boot测试数据库
本文主要记录一下使用flyway管理spring boot测试环境的数据库(h2)之前直接使用的spring.datasource里面的schema和data属性配置的,不过数据库一直变更,每次都修改相关的配置文件太麻烦了,于是引入了flyway,进行版本管理,以后变更数据库,可以直接添加高版本的配置文件即可。添加gradle依赖testCompile "org.flywaydb:flywa...原创 2020-01-10 17:08:18 · 425 阅读 · 0 评论 -
使用@RequestPart注解的错误解决
最近使用spring boot编写api,使用swagger显示并测试,执行的时候其中某一个api在解析multipart/form-data类型的时候发生了如下错误:Content type 'application/octet-stream' not supported大概的api代码如下:@PostMapping(value = "/edit")public void edit(@R...原创 2019-07-18 15:23:28 · 5614 阅读 · 2 评论 -
Java中的BinaryOperator和UnaryOperator的简单使用
最近研究了以下java的函数式接口,并简单考虑了一下使用场景,做了一些使用尝试,做一下笔记。使用BinaryOperator和UnaryOperator构建的方法:package test;import java.util.List;import java.util.function.BinaryOperator;import java.util.function.UnaryOpera...原创 2019-07-03 18:22:36 · 2054 阅读 · 2 评论 -
Redis错误:Cannot determine a partition to read for slot
今天spring boot使用redis的时候,发生了如下的错误:io.lettuce.core.cluster.PartitionSelectorException: Cannot determine a partition to read for slot xxx.上网查找说可能是node被删除了,但是slot没有重新分配,但是我并没有做过删除操作,然后想了想,我的redis集群只有一个节点...原创 2019-07-08 18:57:27 · 14547 阅读 · 0 评论 -
Effective Java的78条规范
第一条:考虑使用静态工厂替代构造器第二条:遇到多个构造器参数时要考虑使用构建器第三条:用私有构造器或者枚举类型强化Singleton属性第四条:通过私有构造器强化不可实例化的能力第五条:避免创建不必要的对象第六条:消除过期对象的引用第七条:避免使用终结方法(finalize)第八条:覆盖equals时请遵守通用约定第九条:覆盖equals时总要覆盖hashCode原创 2017-08-11 16:31:13 · 352 阅读 · 0 评论