- 博客(25)
- 资源 (6)
- 收藏
- 关注
原创 SpringBoot发布事件
备注:监听事件通常会异步处理,方法加上注解 @Async(“threadPoolTaskExecutor”),使用指定线程池异步处理。(1)实现ApplicationListener。(2)注解@EventListener。
2024-09-23 09:35:58 269
原创 Java8新特性
reduce:规约,reduce接受两个参数:一个是初始值,一个是BinaryOperator来将两个数据合成一个,如累计:reduce(0, (a, b) -> a + b)。collect:收集,把流转成一个对应的输出,如集合:collect(Collectors.toList())。map:对数据做映射,例如使用User::getName,从user对象转成name。findAny、findFirst:查找满足条件的数据,返回Optional。filter:筛选出满足条件的数据。
2024-09-19 18:17:38 381
原创 mybatis-plus代码生成器
1、AutoGenerator 简介AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。与 mybatis 中的 mybatis-generator-core 类似。2、添加依赖<dependency> <groupId>com.baomidou</group
2022-03-07 12:24:11 702 1
原创 redis搭建集群cluster
1、redis.confport 7001 //端口7001,7002 bind 192.168.1.101 //默认ip为127.0.0.1 需要改为其他节点机器可访问的ip 否则创建集群时无法访问对应的端口,无法创建集群daemonize yes //redis后台运行pidfile /var/run/r
2022-02-24 11:52:50 192
原创 Kafka扩容
背景在用kafka集群有3个节点,即host1, host2, host3,现需要将broker节点扩容至6个,以提供更高的数据处理能力。一、上架物理服务器用于提供更多的资源新扩容3个broker节点,host4,host5,host6二、在三台新增节点上部署kafka应用程序这些不是本文的重点,略过。三、重新分布原有的topic分区1、查看集群中当前所有可用的topic./kafka-topics.sh --list --zookeeper ip:port
2022-02-19 12:06:12 1813
原创 SpringBoot整合MQTT( Emqx)Demo
1.下载Emqx安装包,配置Emqx环境下载地址:免费试用 EMQ 产品下载压缩包解压,打开cmd,进入emqx/bin目录,输入emqx start,启动服务。2.创建SpringBoot项目Demo,添加pom引入jar包<!-- mqtt --><dependency> <groupId>org.springframework.integration</groupId> <artifactId>spring
2022-02-10 11:23:28 15696 2
原创 mysql事务未commit
如果一个连接中开启事务且未显式提交或回滚,在不考虑其他因素的前提下,确实应该是只有在连接断开的时候才会回滚。 如果出现锁等待,则是根据innodb_rollback_on_timeout参数进行下一步动作,如果此参数是off,则会回滚上一条语句,不会提交或回滚,直到显式提交或回滚(事务一直存在,直到连接断开)。如果此参数是on,在超时后会回滚整个事务。1、mysql 如何查看未提交的事务方法一:(root@localhost)[performance_schema]> SELECT
2022-02-08 15:51:09 2779
原创 限流算法漏桶算法和令牌桶算法
1、场景我们知道,硬件设备或是服务器之类的通信速率或是服务器的响应速率是有限制的,当瞬时大量通信量情况下需要对速率进行限制,否则可能会出现宕机等服务无法提供的故障。两个比较常用的算法有令牌桶算法、漏桶算法,是目前最常用的流量限制的方法。2、漏桶算法如上图所示,我们假设系统是一个漏桶,当请求到达时,就是往漏桶里“加水”,而当请求被处理掉,就是水从漏桶的底部漏出。水漏出的速度是固定的,当“加水”太快,桶就会溢出,也就是“拒绝请求”。从而使得桶里的水的体积不可能超出桶的容量。上面的分析
2022-01-26 09:40:26 386
原创 Java8的Optional使用总结
Java8推出的Optional的目的就是为了杜绝空指针异常,帮助开发者开发出更优雅的代码,使用Optional不正确时,将会违背设计者的初衷。一、Optional的构造方式1、Optional.of(T)该方式的入参不能为null,否则会有NPE,在确定入参不为空时使用该方式。2、Optional.ofNullable(T)该方式的入参可以为null,当入参不确定为非null时使用。3、Optional.empty()这种方式是返回一个空Optional,等效Optiona
2022-01-21 10:39:45 379
原创 人性的弱点
一、人际关系的基本技巧1、不要批评,不要指责,不要抱怨2、真心实意地感谢他人、赞美他人3、了解他人的需求,激发他人的需求二、赢得他人喜爱的六个方式1、建立对他人的兴趣,真心诚意地关注他人2、微笑3、记住别人的名字4、专注地倾听,鼓励他人谈论自己5、谈论对方感兴趣的事情6、 真心实意地让对方知道他有多重要三、如何让他人想你之所想1、赢得争论的方法只有一个,那就是避免争论2、尊重他人的观点,绝不要说“你错了”3、如果你错了,请坚决果断地承认错误
2022-01-20 10:39:54 187
原创 kubernetes介绍
一、Kubernetes管理文件介绍Kubernetes最常用的配置文件格式为yaml格式,yaml因为支持注释,可以很好的表示复杂的数据格式,正在越来越多地被其它程序作为配置文件来使用。Yaml(发音/ˈjæməl/)格式介绍缩进Yaml只支持空格作为缩进,不支持tab作为缩进。可以使用两个空格或者四个空格表示一层,但是整个yaml文件必须统一,要么全部使用两个空格作为缩进要么全部使用四个空格作为缩进,不允许混合使用。注释Yaml使用#作为一行的注释,当yaml碰到以#开头的行时将
2022-01-19 16:11:24 913
原创 jvm参数说明
1、堆设置-Xms:初始堆大小。-Xmx:最大堆大小。-Xss:设置每个线程的栈大小,不要超过2M。-XX:NewSize=n:设置年轻代大小。-XX:NewRatio=n:设置年轻代和年老代的比值。如为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 。-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个,如为3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
2022-01-16 15:18:26 323
原创 解决MySQL 8小时空闲后连接超时的问题
做完部署到服务器后(tomcat),测试正常运行。第二天发现无法登录了,检查了一遍系统没发现什么问题,重启tomcat后又恢复正常了。很奇怪,于是查看tomcat的日志,发现如下问题:2011-9-1 0:15:11 org.apache.catalina.startup.Catalina start信息: Server startup in 35866 ms2011-9-1 2:05:43 org.apache.coyote.http11.Http11Protocol pause信息: Pau
2022-01-10 12:02:23 443
原创 maven配置私服
1、settings.xml<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0
2022-01-05 09:41:37 2098
原创 链路跟踪Sleuth日志输出TraceId
1、依赖包配置 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> <dependen
2021-12-31 12:07:01 517
原创 分布式系统-幂等性设计
WEB资源或API方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部多次调用对系统的影响是一致的。幂等性是分布式系统设计中的一个重要概念,对超时处理、系统恢复等具有重要意义。声明为幂等的接口会认为外部调用失败是常态, 并且失败之后必然会有重试。例如,在因网络中断等原因导致请求方未能收到请求返回值的情况下,如果该资源具备幂等性,请求方只需要重新请求即可,而无需担心重复调用会产生错误。实际上,我们常用的HTTP协议的方法是具
2021-12-28 11:00:36 238
原创 图解物联网
一、物联网基础知识1.1-根据人体状态自动控制环境——以智能家居为例1.2-与网络连接的设备1.3-感测的作用1.4-反馈的作用1.5-反馈的3种方法1.6-用于物联网的两种网络1.7-Web系统和设备的通信1.8-保存和处理数据的时机1.9-数据分析的两种方法二、物联网架构2.1-物联网的整体结构2.2-通过MQTT传输消息2.3-MQTT通信机制2.4-QoS 0(最多只能发送一次)2.5-QoS 1(至少发送一次)2.6-Qo...
2021-12-03 16:20:09 1443
原创 软技能:代码之外的生存指南
1、转变心态,不止是为企业工作,也是为自己工作。2、为职业生涯设置个大目标,分解成若干小目标。3、换位思考,站在他人的角度看待问题,尊重他人。4、奖励他人的积极行为要比惩罚消极行为有效得多。5、找他人推荐工作。6、面试前就要开始经营自己,写博客、录播客等。7、工作中积极承担更多的责任。8、积极参加培训课程,考资质证书。9、时间管理,如:番茄钟。10、十步学习法:了解全局、确定范围、定义目标、寻找资源、创建学习计划、筛选资源、开始学习浅尝辄止、动手操作边玩边学、全面掌握学以
2021-11-29 10:49:01 379
原创 城市表层土壤重金属污染分析
摘要重金属污染是破坏土壤环境的重要因素,并直接或问接危害到人体健康。本文以某城区为例,对土壤中As、Cd、Cr、Cu、Hg、Ni、Pb和Zn 8种重金属进行分析,采用经典综合评价方法和内梅罗指数法对重金属的污染指数进行计算;采用统计方法和空间分布分析,确定污染的主要原因;采用算法循环遍历,推导出污染源的位置;通过分析寻求更多的信息,在此基础上扩展原有的模型,把握城市地质环境的演变。主要内容如下:针对问题一,了解8种主要重金属元素在该城区的空间分布,是建立模型的准备。我们绘制该城区功能区图和8种重金属
2021-11-22 15:28:56 4480
原创 储油罐的变位识别与罐容表标定
摘要加油站中的对储油罐中油的容量的确定是一个非常重要的事情,只有知道储油罐中的油的多少才能知道何时需要对储油罐进行加油,以及了解埋在地底下的储油罐是否由于地基变形,罐面被腐蚀等原因而发生漏油等情况。因此,很有必要建立一个关于储油罐的变位识别与罐容表标定的数学模型。通过对该题目中的各种情况的具体分析,我们建立了储油罐的变位识别与罐容表标定的数学模型,通过这个模型解决了该题目中的所有问题。并通过题目中所给的数据,利用最小二乘法验证所建立的模型的正确性。...
2021-11-15 15:53:14 8426 1
原创 制动器试验台的控制方法分析
摘 要随着科技的发展,社会的进步。汽车技术越来越重要。而其中在汽车中的制动装置即是汽车组件中最重要的组件之一。它直接影响着人身和车辆的安全,所以构架出本次竞赛内容的实用性与必要性。 检测制动器的综合性能,需要进行大量的路试。显然在车辆设计阶段无法实现,所以,制动器试验台是对车辆进行评价的重要试验平台。而制动器试验台,主要工作原理是:将车辆及其载荷平动时具有的能量等效地转化为试验台上的飞轮和主轴等机构转动时的能量,并称与此能量对应的转动惯量为等效的转动惯量;在此,主轴所固有的转动惯量称为基础惯量,
2021-11-11 17:06:20 1889
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人