- 博客(218)
- 资源 (1)
- 收藏
- 关注
原创 ES(索引数据库)导入MySQL全量(批量导入)和增量数据&&Canal增量数据同步利器
canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费,应用场景十分丰富。github地址:https://github.com/alibaba/canal版本下载地址:https://github.com/alibaba/canal/releases文档地址:https://github.com/alibaba/canal/wiki/Docker-QuickStartCanal应用场景。
2024-08-23 15:30:22
535
原创 使用canal增量同步ES索引库数据
canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费,应用场景十分丰富。github地址:https://github.com/alibaba/canal版本下载地址:https://github.com/alibaba/canal/releases文档地址:https://github.com/alibaba/canal/wiki/Docker-QuickStartCanal应用场景。
2024-08-23 15:28:44
689
原创 高并发下Java中System.currentTimeMillis卡顿问题解决方案
【代码】高并发下Java中System.currentTimeMillis卡顿问题解决方案。
2024-08-19 16:31:03
184
原创 Java使用Modbus4j实现TCP通信
链接:https://pan.baidu.com/s/1hglcBhC7GbRjsKFVpzGcXA?modbus 4个常用功能码,仿真软件上面有F=01,F=02,F=03和F=04来显示。仿真软件ModbusSlaveSetup64Bit.exe下载地址。0x02:读离散量输入。0x03:读保持寄存器。0x04:读输入寄存器。
2024-08-13 17:16:41
339
原创 Vuex基本使用
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:A.能够在vuex中集中管理共享的数据,便于开发和后期进行维护B.能够高效的实现组件之间的数据共享,提高开发效率C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新。
2024-08-12 15:57:22
811
原创 Vue---day08侧边栏导航(双层for循环、字体图标、高亮显示)
【代码】Vue---day08侧边栏导航(双层for循环、字体图标、高亮显示)
2024-08-08 08:48:09
257
原创 Vue---day06前端工程化
A.通过 package.json 进行配置 [不推荐使用] "vue":{ } } B.通过单独的配置文件进行配置,创建vue.config.js } }
2024-08-06 14:31:23
1001
原创 Vue---day05路由
它是一个Vue.js官方提供的路由管理器。是一个功能更加强大的前端路由器,推荐使用。Vue Router和Vue.js非常契合,可以一起方便的实现SPA(single page web application,单页应用程序)应用程序的开发。Vue Router依赖于Vue,所以需要先引入Vue,再引入Vue RouterVue Router的特性:支持H5历史模式或者hash模式支持嵌套路由支持路由参数支持编程式路由支持命名路由支持路由导航守卫支持路由过渡动画特效。
2024-08-05 08:56:28
1033
原创 Vue---day04
我们使用new来构建一个Promise Promise的构造函数接收一个参数,是函数,并且传入两个参数: resolve,reject, 分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。// 在then方法中,你也可以直接return数据而不是Promise对象,在后面的then中就可以接收到数据了。// text()方法属于fetchAPI的一部分,它返回一个Promise实例对象,用于获取后台返回的数据。// 在这个then里面我们能拿到最终的数据。
2024-08-05 08:39:44
580
原创 Vue---day02
获取单选框中的值获取复选框中的值获取下拉框和文本框中的值表单修饰符.number 转换为数值.trim 自动过滤用户输入的首尾空白字符.lazy 将input事件切换成change事件在失去焦点 或者 按下回车键时才更新自定义指令内置指令不能满足我们特殊的需求Vue允许我们自定义指令Vue.directive 注册全局指令Vue.directive 注册全局指令 带参数自定义指令局部指令局部指令,需要定义在 directives 的选项
2024-08-02 08:54:48
385
原创 vue-day01
在Vue中可以通过自定义按键修饰符别名< div id = " app " > 预先定义了keycode 116(即F5)的别名为f5,因此在文字输入框中按下F5,会触发prompt方法 < input type = " text " v-on: keydown.f5 = " prompt() " > < script > Vue . config . keyCodes . f5 = 116;alert('我是 F5!');} } });
2024-07-31 17:34:27
295
原创 MAT(Memory Analyzer Tool)-Java内存分析入门实践
还是需要拿到Java Heap Dump文件,但是这个时候注意了,一定要保留现场的情况下去拿dump文件,否则重启了或者等Full GC了,现场就没有了。大家在使用上述命令时候一定要小心,如果服务器上的JVM heap过大,会造成应用“Stop the World”,建议使用参数的形式,在启动应用程序的时候就把参数带上,这样也会在内存溢出的时候,能够及时的保存线程dump文件。已经明确的告诉你问题嫌疑点:(a)234.6M,把配置的启动参数中分配的内存235.8M吃没了。
2024-07-25 10:42:29
686
原创 documents4j 将word转pdf文件,本地(Windows)测试没问题,部署到服务器(centos)报错
发现本地win没问题,到服务器Linux就有问题,原因是 documents4j 利用 Microsft Office 的 APIs 来进行文档转换,因此需要在Linux上安装 OpenOffice/LibreOffice 编辑器。首先要保证你的Java代码没问题,可以参考下面代码。把这装上后,再测试,发现可以完美转换。DocxToPdfUtil工具类。
2024-07-25 08:56:42
589
3
原创 策略+工厂设计模式的应用
很明显,这代码太耦合,太多if…else现在只写了3个,实际情况可能几十个几百个if…else,每次添加一个新的品类,又需要修改原来代码添加一个if…这样优化有什么好处?现在新来一个品类,只需要加一个xxxHandler对应的处理方式,其他代码不用修改,代码完全解耦,条理清晰,易于扩展。比如有下面一段业务,一个自动售货机,根据用户选择不同的饮料,出对应的货。这段代码有什么问题?3、定义各种饮料的处理方式类。1、先定义一个策略接口。2、再定义一个饮料工厂。
2024-07-23 10:21:22
302
原创 Redis+Lua脚本+AOP+反射+自定义注解,打造我司内部基础架构限流组件
*** 资源的key,唯一* 作用:不同的接口,不同的流量控制*//*** 最多的访问限制次数*//*** 过期时间(计算窗口时间),单位秒默认30*//*** 默认温馨提示语*/System . out . println("---------环绕通知1111111");
2024-07-22 15:29:04
566
原创 二分查找--简单
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。输入: nums = [-1,0,3,5,9,12], target = 9。输入: nums = [-1,0,3,5,9,12], target = 2。解释: 9 出现在 nums 中并且下标为 4。解释: 2 不存在 nums 中因此返回 -1。
2024-07-19 09:55:03
399
原创 反转字符串--简单
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]输出:[“o”,“l”,“l”,“e”,“h”]
2024-07-19 08:27:58
161
原创 连续递增最长子序列--中等
尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为 5 和 7 在原数组里被 4 隔开。给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。解释:最长连续递增序列是 [1,3,5], 长度为3。解释:最长连续递增序列是 [2], 长度为1。输入:nums = [1,3,5,4,7]输入:nums = [2,2,2,2,2]
2024-07-18 13:46:26
319
原创 两数之和--简单
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。输入:nums = [2,7,11,15], target = 9。输入:nums = [3,2,4], target = 6。
2024-07-18 13:42:28
152
1
原创 BigDecimalUtils精确计算
在金融,医疗,数据处理等领域,需要对数据做精确计算,这时候不能直接使用+,-,*,/ 需要用到BigDecimal这个类。这里写一个工具类,让使用BigDecimal更加便捷。
2024-07-17 09:42:55
197
原创 代码提交错分支了怎么办?
这段注释// AAAAAAAAAAA 本来应该写在dev分支的,现在提交并push到master分支了。你有么有遇到过正在开发的代码,提交到生产环境的分支去,遇到这种情况怎么办?然后就看到代码应用到dev分支了,然后就可以继续愉快的写代码啦。此时代码会被还原,然后切换分支dev Checkout。至此,代码是还原了,难道我之前写的代码不要了吗?现在代码就是未提交的状态了,然后把当前代码暂存一下。然后将暂存的应用到这个分支。现在第一步,撤回提交。
2024-07-06 12:31:24
479
原创 帮找Java Bug,面试,项目,解决Java问题
本人是个Java老程序员,如果你有解决不了的问题,或者面试的时候需要人帮助,或者求职就业上任何问题都可以联系我,下面是我微信,欢迎联系我!
2024-07-03 17:03:02
213
原创 day62--若依框架(基础应用篇)
若依内置的数据字典,用于维护系统中常见的静态数据。例如:性别、状态…功能包括:字典类型管理、字典数据管理若依为定时任务功能提供方便友好的web界面,实现动态管理任务。允许用户通过拖放等可视化操作创建表单,比如用来收集数据的表格或调查问卷。可以自定义表单的各个部分,比如添加不同的输入项和设置验证规则,无需编写代码。提供了导出数据、导入数据、分享表单和设置权限的功能,方便数据管理和共享。ruoyi-vue数据库设计包含了多个表结构,用于支持系统的各种功能模块。
2024-07-02 13:21:47
1701
原创 day61---面试专题(消息中间件面试题-参考回答)
如果有这样的需求的话,我们是可以解决的,把消息都存储同一个分区下就行了,有两种方式都可以进行设置,第一个是发送消息时指定分区号,第二个是发送消息时按照相同的业务设置相同的key,因为默认情况下分区也是通过key的hashcode值来选择分区的,hash值如果一样的话,分区肯定也是一样的。如果已经存在这个数据了,就说明消息重复消费了,我们就不需要再消费了。嗯,这个我们还真遇到过,是这样的,我们当时消费者是设置了自动确认机制,当服务还没来得及给MQ确认的时候,服务宕机了,导致服务重启之后,又消费了一次消息。
2024-07-01 10:02:21
627
原创 day60---面试专题(微服务面试题-参考回答)
我当时做的xx项目,采用就是微服务的架构,因为xx因为,应该会有突发流量,最大QPS可以达到2000,但是服务支撑不住,我们项目都通过压测最多可以支撑1200QPS。我们当时采用的nginx限流操作,nginx使用的漏桶算法来实现过滤,让请求以固定的速率处理请求,可以应对突发流量,我们控制的速率是按照ip进行限流,限制的流量是每秒20。服务雪崩是指一个服务失败,导致整条链路的服务都失败的情形,一般我们在项目解决的话就是两种方案,第一个是服务降级,第二个是服务熔断,如果流量太大的话,可以考虑限流。
2024-07-01 10:01:05
1483
原创 day59---面试专题(MySQL面试题-参考回答)
所以,我们一般使用的都是mysql默认的隔离级别:可重复读。**候选人:**如果一条sql执行很慢的话,我们通常会使用mysql自动的执行计划explain来去查看这条sql的执行情况,比如在这里面可以通过key和key_len检查是否命中了索引,如果本身已经添加了索引,也可以判断索引是否有失效的情况,第二个,可以通过type字段查看sql是否有进一步的优化空间,是否存在全索引扫描或全盘扫描,第三个可以通过extra建议来判断,是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复。
2024-06-30 14:29:35
847
原创 day58---面试专题(Redis面试题-参考回答)
这个是不能的,比如,当线程1加锁成功后,master节点数据会异步复制到slave节点,此时当前持有Redis锁的master节点宕机,slave节点被提升为新的master节点,假如现在来了一个线程2,再次加锁,会在新的master节点上加锁成功,这个时候就会出现两个节点同时持有一把锁的问题。我们当时采用的阿里的canal组件实现数据同步:不需要更改业务代码,部署一个canal服务。:嗯,是这样的,单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,可以搭建主从集群,实现读写分离。
2024-06-30 14:26:17
752
原创 day57---面试专题(框架篇)
refresh 是 AbstractApplicationContext 中的一个方法,负责初始化 ApplicationContext 容器,容器必须调用 refresh 才能正常工作。它的内部主要会调用 12 个方法,我们把它们称为 refresh 的 12 个步骤:onRefresh。
2024-06-29 09:29:01
778
原创 day54--面试专题(基础篇)
有一个有序表为 1,5,8,11,19,22,31,35,40,45,48,49,50 当二分查找值为 48 的结点时,查找成功需要比较的次数。使用二分法在序列 1,4,6,7,15,33,39,50,64,78,75,81,89,96 中查找元素 81 时,需要经过( )次比较。② A[M] > T,中间值右侧的其它元素都大于 T,无需比较,中间索引左边去找,M - 1 设置为右边界,重新查找。将数组分为两个子集,排序的和未排序的,每一轮从未排序的子集中选出最小的元素,放入排序子集。
2024-06-28 15:02:50
1116
原创 day53--ELK搜索
ELK是包含但不限于Elasticsearch(简称es)、Logstash、Kibana 三个开源软件的组成的一个整体。这三个软件合成ELK。是用于数据抽取(Logstash)、搜索分析(Elasticsearch)、数据展现(Kibana)的一整套解决方案,所以也称作ELK stack。本课程从分别对三个组件经行详细介绍,尤其是Elasticsearch,因为它是elk的核心。本课程从es底层对文档、索引、搜索、聚合、集群经行介绍,从搜索和聚合分析实例来展现es的魅力。Logstash从内部如何采集数据
2024-06-27 18:01:34
1118
原创 day52--Docker
*-v $PWD:/usr/local/tomcat/webapps:**将主机中当前目录挂载到容器的webapps。**-p 8080:8080:**将容器的8080端口映射到主机的8080端口。使用外部机器连接容器中的mysql。
2024-06-27 17:29:29
859
Java工作中的一些总结,你肯定也会遇到这些问题,能对你有一些借鉴和帮助
2022-09-14
我的Java学习笔记, 记录学习Java的点点滴滴
2022-09-14
SpringBoot整合es源码
2022-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人