![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 68
WaiSaa
Talk is cheap,show me the code
展开
-
docker自定义网络实现容器之间的通信
Docker网络有三个基本要素:网络类型、网络驱动和网络配置。Macvlan是一个新的尝试,是真正的网络虚拟化技术的转折点。Linux实现非常轻量级,因为与传统的Linux Bridge隔离相比,它们只是简单地与一个Linux以太网接口或子接口相关联,以实现网络之间的分离和与物理网络的连接。Macvlan提供了许多独特的功能,并有充足的空间进一步创新与各种模式。这些方法的两个高级优点是绕过Linux网桥的正面性能以及移动部件少的简单性。删除传统上驻留在Docker主机NIC和容器接口之间的网桥留下了一个非常原创 2024-02-22 11:35:07 · 1275 阅读 · 0 评论 -
InfluxDB数据的导入导出
influxdb支持将时序数据导出到文件,然后再将文件导入到数据库中,以此实现数据的迁移。datadir: influxdb的数据存放位置。waldir: influxdb的wal目录。database: 导出的db名称。import: 标识导入。path: 导入文件。原创 2024-02-01 18:36:43 · 965 阅读 · 0 评论 -
Kafka配置Kerberos安全认证及与Java程序集成
本文主要介绍在 Kafka 中如何配置 Kerberos 认证,以及 java 使用 JAAS 来进行 Kerberos 认证连接。原创 2024-01-12 17:23:19 · 1949 阅读 · 0 评论 -
springboot集成cas客户端
中央身份认证服务(Central Authentication Service)通常被称为CAS,是针对Web的企业级多语言单点登录解决方案,并致力于成为身份验证和授权需求的全面平台。原创 2024-01-08 19:00:13 · 1661 阅读 · 0 评论 -
java使用poi读写excel(处理上下标和科学计数法)
poi指定sheet读写excel原创 2023-11-29 18:42:50 · 1345 阅读 · 0 评论 -
java科学计数法表示数值
但很多时候,我们需要做一个统一,要么全部以科学计数法输出,要么就全部显示为普通计数。原创 2023-11-29 16:28:16 · 941 阅读 · 0 评论 -
java和python调用matlab程序详细记录
关于Java和Python调用matlab程序,网上相关文章很多,但质量不佳,有的前提条件也没介绍,你按照他的步骤来,他成功了,你失败了,很懵啊原创 2022-12-27 16:04:07 · 1486 阅读 · 0 评论 -
Centos7配置服务开机启动
【代码】Centos7配置服务开机启动。原创 2020-12-02 13:59:06 · 5327 阅读 · 0 评论 -
Flink解决广播配置流滞后数据流的问题
【代码】Flink解决广播配置流滞后数据流的问题。原创 2022-09-02 18:24:32 · 3556 阅读 · 15 评论 -
Flink快速入门
通过利用Flink提供的CEP进行时间模式的抽取,同时应用Flink的Sql进行事件数据的转换,在流式系统中构建实施规则引擎,一旦事件触发报警规则,便立即将告警结果通知至下游通知系统,从而实现对设备故障快速预警检测,车辆状态监控等目的。flink利用自身作为纯数据流的特性优雅的实现反压机制。在金融领域的业务中,常常出现各种类型的欺诈行为,例如信用卡欺诈,信贷申请欺诈等,运用Flink流式计算技术能够在毫秒内就完成对欺诈行为判断指标的计算,然后实时对交易流水进行实时拦截,避免因为处理不及时而导致的经济损失。.原创 2022-08-28 19:12:47 · 1264 阅读 · 0 评论 -
Log4j2报错ERROR StatusLogger Unrecognized解决方法
代码】Log4j2报错ERROR StatusLogger Unrecognized解决方法。原创 2022-08-16 15:53:01 · 1874 阅读 · 4 评论 -
Log4j2基本使用及配置样例
目录下就行,当然不一定非得是这个目录,我这里只是给个可以的。这里为了使用注解,结合lombok来使用。原创 2022-08-15 13:51:01 · 1909 阅读 · 0 评论 -
Apache Kafka 消息中间件
Kafka基础概念及与springboot的集成KafkaProducer生产者KafkaConsumer消费者9、监控工具原创 2022-06-12 17:35:55 · 418 阅读 · 0 评论 -
每秒125万条写入速度-时序数据库Machbase中的Tag table的基本使用
Background上年6月份写过一篇关于Machbase时许数据库的简单介绍 【时序数据库Machbase】。但之前只是简单介绍了下,今天我们详细介绍下,主要是Machbase中针对存储传感器监测数据而设计的Tag table的基本使用,并在本地单机环境简单测试了一下数据的写入性能,写入的数据和之前测试中【Influxdb和TDengine的写入性能测试(Java)】使用的一样,一个传感器带三个指标数据。最终测试结果为【125万条/秒】。这次测试的服务器和之前测试Influxdb和TDengine原创 2022-04-22 19:55:23 · 1687 阅读 · 0 评论 -
Java工具类实现word转pdf结果几乎一模一样
Background【封装好的工具类】【转换效果99%】【无水印】实现技术【Aspose】这里给出需要的依赖包 aspose-words-15.8.0.jar和word-license.xml,提取码:kingexcel转pdf可以参考另一篇博客【Java工具类实现excel转pdf结果几乎一模一样】先看下效果哈(左word右pdf),格式基本没乱,几乎一模一样直接上源码注意:使用前,先安装下载的aspose-words-15.8.0.jar包,然后把word-license.xm原创 2022-04-12 15:20:01 · 1929 阅读 · 14 评论 -
Influxdb和TDengine的写入性能测试(Java)
Background这里读写测试是为了大致了解下Influxdb和TDengine的读写速度,以及对比数据存储大小。Influxdb是用go语言开发的,TDengine是用c语言开发,Influxdb和TDengine都支持单机版和集群版,这里都使用单机版测试。TDengine服务端下载地址TDengine-server-2.4.0.12-Linux-x64.tar.gz (15.5 M)TDengine Windows客户端下载地址TDengine-client-2.4.0.12-Windo原创 2022-03-14 20:11:56 · 4917 阅读 · 2 评论 -
SpringBoot集成mqtt配置
Backgroundspringboot 集成mqtt实现发布、订阅消息的功能application.yml配置# Mqtt配置mqtt: serverURIs: tcp://localhost:1883 username: admin password: public client: id: ${random.value} topic: topic_defaultMqttConfigpackage com.cloudansys.config;imp原创 2020-05-21 14:53:15 · 2174 阅读 · 0 评论 -
传感器监测数据实时存储、计算和展示(RabbitMQ-Flink-InfluxDB)
BackgroudGoal: 目前一直在做传感器监测类项目,包括地震、桥梁、大厦、体育场、高铁站房、爬模架、风电塔筒等的监测。传感器类型包括GPS、应变、位移、温度、振动、索力、精力水准仪、倾角仪、气象站等。数据采集频率从分钟级到毫秒级不等。需求大同小异,一般需要存储原始监测数据、实时计算、阈值告警等。Design: 此类时序数据的存储采用influxDB,实时计算采用Flink,所有传感器数据都接入RabbitMQ(本来想用Kafka,但前期架构不好改了)。Tool: 这里分享一个数据模拟软件(传原创 2020-09-15 17:15:09 · 7002 阅读 · 6 评论 -
swagger2带全局token配置
Backgroundswagger2辅助后台开发非常方便。但正常使用时,我们的接口需要登陆后才能访问的。即访问接口时,要传一个登陆后的token。那这个怎么设置,才可以让所有接口都允许登陆后访问呢。通常有两个方法,加在接口上,访问每个接口都需要传token验证,我为了方便,采用的是另一种方法,配置一个全局的token,验证后就可以访问所有接口,如下图所示具体配置如下SwaggerConfigpackage com.cloudansys.config;import org.springf原创 2020-05-21 14:34:37 · 2375 阅读 · 2 评论 -
Idea集成docker远程部署
Background为了方便对dokcer镜像的管理,我们这个安装了portainer,如上图所示,各个项目、各个组件的使用管理非常方便,具体安装配置如下首先安装 docker基于 Centos 7,配置阿里云镜像(在阿里云镜像站上面可以找到docker-ce的软件源,使用国内的源速度比较快)安装依赖yum install -y yum-utils device-mapper-persistent-data lvm2添加软件源yum-config-manager --add.原创 2020-05-21 14:19:57 · 361 阅读 · 0 评论 -
Java导出MySQL数据成csv文件并压缩成zip
Background业务需求:提供数据导出功能。数据为传感器监测数据,存储在MySQL。需要用户传入传感器的ID,起始时间和结束时间,由于数据量较大,所以这里通过定时任务实现,然后把每个传感器数据写一个csv文件,最终把所有的文件压缩成zip,再把压缩包的存储路径写入数据库,用户请求下载数据时从数据库查询获取压缩包的存储路径,最终把压缩包返回给用户。下面是主要代码(springboot+swagger2)Ctrollerpackage com.cloudansys.monitor.solution原创 2020-05-21 12:58:44 · 1557 阅读 · 1 评论 -
SpringCloud五大神兽快速入门
Spring Cloud单一应用架构 :主要解决ORM 数据库访问层。垂直应用架构 : 解决分层问题,实现应用的分层开发,提升开发效率。分布式应用架构:解决系统间调用问题,引发了SOA(面向服务开发)架构新潮。SOA治理(Macro Service治理):对面向服务开发和治理同时提出新的挑战,要求应用能够做到容易部署、智能路由、服务负载均衡、熔断等要求,能够做到对服务的可视化治理等。...原创 2020-03-25 18:35:17 · 159 阅读 · 1 评论 -
springboot自定义缓存加载数据库中的基本信息
Background在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执行时机为容器启动完成的时候。这两个接口中有一个run方法,我们只需要实现这个方法即可。这两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLi原创 2020-05-21 13:22:54 · 203 阅读 · 0 评论 -
【Java】指定【微信】好友自动发送消息
Backgroud原理很简单:robot类模拟键盘输入,快捷键打开微信,搜索好友,把发送内容发送的粘贴板实现。程序源码package com.cloudansys.test;import java.awt.*;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.StringSelection;import java.awt.datatransfer.Transferable;import java.aw原创 2020-10-16 17:58:20 · 4598 阅读 · 16 评论 -
Java后台推送告警信息到钉钉(工具类-可直接使用)
Background网上此类相关教程有很多哈,但是,都不能直接拿来用,还需要自己拿过来封装调试下,这里是参考别人的实现自己的过程,做下记录,方便以后查阅:1、建立一个钉钉群人数要大于等于三人(不然还群聊个锤子…),一般需要在电脑端操作,下面添加机器人也是。2、添加机器人在【群设置】【智能群助手】【添加机器人】添加一个【自定义机器人】。3、拿到url、token 和 secret注意:这里secret有很长,全选是可以复制的。4、DingTalkUtil 工具类pack原创 2020-09-25 13:29:34 · 3216 阅读 · 1 评论 -
JAVA 后台开发规范
本篇规范基于阿里巴巴、华为的开发手册。感谢前人的经验和付出,让我们可以有机会站在巨人的肩膀上眺望星辰大海。规范不是为了约束和禁锢大家的创造力,而是为了帮助大家能够在正确的道路上,尽可能的避免踩坑和跑偏。规范可以让我们无论单枪匹马还是与众人同行的时候都能得心应手。规范可以让我们在面对日益变态的需求和做代码接盘侠的时候,更优雅从容。规则并不是完美的,通过约束和禁止在特定情况下的特性,可能会对代码实现造成影响。但是制定规则的目的:为了得到更多的好处,如果在团队实际运作中认为某个规则无法遵循或有更好的..原创 2020-09-21 09:24:33 · 1008 阅读 · 0 评论 -
Java8函数式接口取代if-else
Background函数式接口是JDK8的一个非常重要新特性,使用起来可以极大的简化代码。函数式接口(Functional Interface)就是一个有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。函数式接口可以被隐式转换为 lambda 表达式。1、四大函数式接口消费型接口:Consumer供给型接口:Supplier函数型接口:Function断言型接口:Predicate2、处理异常定义函数 /** * 异常处理接口原创 2022-01-04 13:08:13 · 3040 阅读 · 0 评论 -
Java工具类实现excel转pdf结果几乎一模一样
Background今天项目有需求,需要把excel转成pdf。找了一上午,又是python又是Java,本来以为挺简单的,把网上找到的轮子一一拿过验证,结果发现都是坑啊,不管能不能用都贴出来,混流量呢。实验了好久,终于成功,这里自己又简单封装了下,以便日后使用着方便。实现技术【Aspose】。这里给出需要的依赖包 aspose-cells-8.5.2.jar和license.xml,提取码:king先看下效果哈(左excel右pdf),格式基本没乱,几乎一模一样直接上源码注意:使用原创 2021-12-07 10:49:20 · 16742 阅读 · 93 评论 -
java -cp 使用以及maven如何打包
Background今天总结,方便明天。使用场景:有的时候一个工程里有多个主类,我们希望启动程序的时候通过指定主类来运行相应的main方法。1、测试工程介绍我这里有两个主类,分别干了不同的事情。2、maven配置以及打包主要的配置就这些,这里我默认配置了第一个主类,即直接java -jar不指定主类启动时,执行的就是第一个main方法。打包就很简单了,两条命令mvn clean,然后mvn package就行了。 <build> <finalN原创 2021-09-17 10:14:02 · 479 阅读 · 0 评论 -
传感器采集的数据怎么处理、怎么存储【flink】【influxdb】
Background不同类型的传感器数据频率不同,低频的有的几分钟一个数,高频的有的一秒几十个数、几百个数。低频数据可以使用传统的mysql进行数据的存储。但数据频率比较高时,对程序的计算能力和数据存储能力要求较高,还好有现成的轮子可以直接拿来使用。本文介绍高频数据流的实时计算和存储,应用场景选用风电塔筒提升监测为例。之前的博客中也有探索,这里算是总结下吧,写出来是希望和大家交流,哪里有问题,多多指点哈。这里给出源码【170-tower-lift-processor】,但是你拿到肯定是起不来的,原创 2021-09-01 16:49:07 · 5247 阅读 · 4 评论 -
【Java】接口返回【下载文件】【文件名】【中文乱码】问题解决
Background最近有个项目有数据导出的功能,文件格式为xls,文件名是中文,结果下载时返回的文件名乱码,最终解决方案如下。1、接口代码 @PassToken @ApiOperation("导出报表") @ApiImplicitParam( name = "typeId", value = "1单用户日报表,2单用户月报表,3全用户日报表,4全用户月报表", required = true )原创 2021-07-23 16:41:09 · 2940 阅读 · 0 评论 -
Java根据模板生成excel文件【Java】【EasyExcel】【xls】
Background前两天客户反应对数据导出的文件格式不太满意,然后给了我们模板,让我们按照模板导出数据。于是一通修改(excel数据量有限制他们也不管,之前我们给的csv格式)。Java操作excel常用的有poi和阿里开源的easyexcel两种方式,poi太麻烦了这里用的easyexcel。根据模板生成文件还是比较简单的,因为我们不需要在代码中再设置各种格式、样式,模板设置好所有格式、样式以及占位符,只用写数据就行了,easyexcel使用个数据类非常方便。1、简介如下图所示,t原创 2021-07-23 11:24:02 · 9967 阅读 · 24 评论 -
Java设置生成文件编码格式带BOM【csv】【hutool】【java】
Background之前做的一个数据导出功能,生成的csv文件,编码格式UTF-8,后来客户反应说文件打开中文乱码,一问用的是office excel,实验后最终发现UTF-8-BOM格式就没问题。这里记录下过程,代码中使用了Hutool工具类。源码@Test public void Test1() { String filePath = "d://test/b.csv"; FileOutputStream fos = null; CsvWr原创 2021-07-19 14:00:04 · 4463 阅读 · 2 评论 -
【Centos7】【排查】【java进程】【内存泄露】
1、top命令按内存占用排序【大写M】这里我们选取进程号为13144来走一遍流程。请忽略jvm内存分配情况哈,jvm调优过段时间贴出来。我没打马赛克,别攻击我服务器哈。2、查看该进程中对象的大小及个数jmap命令是JDK自带的一个,查看jvm内存使用详情的命令。jmap -histo:live 13144 | head -233、获取该进程中堆栈的使用信息jstack -l 13144 > jstack.log4、获取该进程下的线程使用ps命令获取该进程下的所有线原创 2021-06-18 19:52:07 · 1529 阅读 · 0 评论 -
jconsole远程监控jvm【Windows】【Centos7】
BackgroundJVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta。jstack – 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程原创 2021-06-18 17:38:21 · 503 阅读 · 0 评论 -
【jar包服务操作】【配置 web 界面监控服务运行】【shell脚本】
1、先看下最终实现效果2、 安装 supervisor (web 界面监控)安装yum install -y supervisorsystemctl start supervisordsystemctl enable supervisord修改配置 /etc/supervisord.confcat <<EOF >> /etc/supervisord.conf[inet_http_server] port=*:9001 usernam原创 2021-04-28 11:25:01 · 512 阅读 · 0 评论 -
Java 发送短信工具类
Background发送短信需要第三方短信接口(收费的),这里以诚立业短信接口为例,基于Hutool工具类进行封装,可以直接使用(当然需要你自己买账号)1、直接上干货 SMSUtil/** * 【发送短信工具类】 * 注:基于诚立业短信平台 */private static class SMSUtil { /** * @param phoneNumber 接口短信的手机号 * @param msg 短信内容 * @return 返回 true原创 2021-04-25 17:43:06 · 1362 阅读 · 0 评论 -
springboot基本配置文件
Background项目多时,开发、测试、生产环境,环境多的时候修改配置文件很麻烦,如果又使用了很多中间件,那修改不同环境的配置就更麻烦了,这里基于一定的规则把变量提取了出来,把需要修改的配置提取了出来,每来个项目只用修改env.properties就行了。这里仅作记录,方便以后不断完善:1、banner.txtbanner 在线生成工具:https://www.bootschool.net/ascii2、logback-spring.xml日志生成策略日志文件保留三十天日志名叫s原创 2021-04-22 15:00:56 · 577 阅读 · 0 评论 -
Java常用工具类
Background这里只是对自己常用的工具类型做个整理记录。主要包括日期、数字、文件类型(csv文件的创建以及zip压缩)等的操作,项目结构如下图所示:1、maven依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2021-03-23 18:25:07 · 139 阅读 · 0 评论 -
IDEA 自定义 Maven 骨架(Archetype)以及如何删除
Background很多小公司都是靠做项目赚钱的,这个项目做完下个项目开始,并且通常会做比较类似的项目,这个时候我们在开发时后台工程比较相似,大部分代码都能复用,这个时候我们在idea中可以自定义maven骨架(一个通用模版),然后每次创建项目都用这个通用的模版即可,以下记录如何自定义 Maven 骨架(Archetype),以及如何删除自定义的Maven 骨架。这里以模板项目cloudansys-server-sample为例。1、新建一个maven项目模版cloudansys-server-sa原创 2021-03-04 11:56:47 · 2502 阅读 · 4 评论