作者:纪兵,2015年加入美团,目前主要从事酒店C端相关的工作。原文:https://tech.meituan.com/2019/01/03/spring-boot-native-memory-leak.html背景为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于SpringBoot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常。笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M-XX:MaxMetaspaceSize=256M-XX:+AlwaysPr
说明:基于MyBatis有很多第三方功能插件,这些插件可以完成数据操作方法的封装、数据库逆向工程的生成等。tkMapper和MyBatis-plus都是基于MyBatis提供的第三方插件,功能类似,下面介绍tkMapper的使用。简介tkMapper就是一个MyBatis插件,基于MyBatis提供很多工具,提高开发效率,主要有以下两个功能。提供针对单表通用的数据库操作方法逆向工程(根据数据表自动生成实体类、Dao接口、Mapper映射文件)MyBatis基础环境tkMapper的使用需要基于MyBatis。创建SpringBoot项目,选中Lombok、SpringWeb、MyBatisFr
说明:基于MyBatis有很多第三方功能插件,这些插件可以完成数据操作方法的封装、数据库逆向工程的生成等。tkMapper和MyBatis-plus都是基于MyBatis提供的第三方插件,功能类似,下面介绍tkMapper的使用。简介tkMapper就是一个MyBatis插件,基于MyBatis提供很多工具,提高开发效率,主要有以下两个功能。提供针对单表通用的数据库操作方法逆向工程(根据数据表自动生成实体类、Dao接口、Mapper映射文件)MyBatis基础环境tkMapper的使用需要基于MyBatis。创建SpringBoot项目,选中Lombok、SpringWeb、MyBatisFr
SpringBoot简介为什么要使用SpringBoot因为Spring,SpringMVC需要使用的大量的配置文件(xml文件)还需要配置各种对象,把使用的对象放入到spring容器中才能使用对象需要了解其他框架配置规则。SpringBoot就相当于不需要配置文件的Spring+SpringMVC。常用的框架和第三方库都已经配置好了。拿来就可以使用了。SpringBoot开发效率高,使用方便多了JavaConfig使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式。在这个java类中可以创建java对象,把对象放入spring容器中(注入到容器)。对于此Java
SpringBoot简介为什么要使用SpringBoot因为Spring,SpringMVC需要使用的大量的配置文件(xml文件)还需要配置各种对象,把使用的对象放入到spring容器中才能使用对象需要了解其他框架配置规则。SpringBoot就相当于不需要配置文件的Spring+SpringMVC。常用的框架和第三方库都已经配置好了。拿来就可以使用了。SpringBoot开发效率高,使用方便多了JavaConfig使用java类作为xml配置文件的替代,是配置spring容器的纯java的方式。在这个java类中可以创建java对象,把对象放入spring容器中(注入到容器)。对于此Java
SpringBoot的定时任务:第一种:把参数配置到.properties文件中:代码:packagecom.accord.task;importjava.text.SimpleDateFormat;importjava.util.Date;importorg.springframework.scheduling.annotation.Scheduled;importorg.springframework.stereotype.Component;/***从配置文件加载任务信息*@author王久印*/@ComponentpublicclassScheduledTask{privatestat
SpringBoot的定时任务:第一种:把参数配置到.properties文件中:代码:packagecom.accord.task;importjava.text.SimpleDateFormat;importjava.util.Date;importorg.springframework.scheduling.annotation.Scheduled;importorg.springframework.stereotype.Component;/***从配置文件加载任务信息*@author王久印*/@ComponentpublicclassScheduledTask{privatestat
spirngboot整合InfluxDB2InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。在docker中安装InfluxDB2下载镜像dockerpulltutum/influxdb2查询influxdb2是否下载成功dockerimages打开8083、8086端口firewall-cmd--zone=public--add-port=8083-8086/tcp--permanent启动influxdb2dockerrun-d-p8083:8083
spirngboot整合InfluxDB2InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。在docker中安装InfluxDB2下载镜像dockerpulltutum/influxdb2查询influxdb2是否下载成功dockerimages打开8083、8086端口firewall-cmd--zone=public--add-port=8083-8086/tcp--permanent启动influxdb2dockerrun-d-p8083:8083
1简介之前在文章《dapr入门与本地托管模式尝试》中介绍了dapr和本地托管,本文我们来介绍如果在代码中使用dapr的服务调用功能,并把它整合到SpringBoot中。Dapr服务调用的逻辑如下:本次实验会创建两个服务:pkslow-data,提供数据服务,用于返回数据;pkslow-hello,提供查询服务,外界调用,它会调用pkslow-data的接口获取数据,而pkslow-data处理完,也会调用pkslow-hello的接口反馈结果。2创建SpringBoot项目2.1引入相关依赖先创建常规的SpringBoot项目,引入Web的同时,也引入dapr的SDK:org.springfr