- 博客(238)
- 资源 (1)
- 收藏
- 关注
原创 SQL查询出来的结果直接插入另一张表
例如下面SQL,功能就是将bupps_cups_serial表数据查出来插入bupps_cups_serial_his表中(Oracle数据库),类似一个表数据备份的功能。
2025-01-06 13:45:39
164
原创 Oracle清空表后如何恢复数据
有时候忘记备份数据,把数据清空了,或者删除了,这时候怎么恢复数据呢,使用下面sql即可,替换对应的table和column。更多oracle 闪回查询。
2025-01-02 12:30:30
206
原创 DockerCompose
而Docker Compose就可以帮助我们实现多个相互关联的Docker容器的快速部署。它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器。
2024-09-23 16:02:10
911
1
原创 Docker容器网络互联
但是,容器的网络IP其实是一个虚拟的IP,其值并不固定与某一个容器绑定,如果我们在开发时写死某个IP,而在部署时很可能MySQL容器的IP会发生变化,连接会失败。Java项目往往需要访问其它各种中间件,例如MySQL、Redis等。现在,我们的容器之间能否互相访问呢?OK,现在无需记住IP地址也可以实现容器互联了。发现可以互联,没有问题。教学演示:自定义网络。
2024-09-23 15:23:15
571
原创 Gateway--服务网关
大家都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。
2024-09-20 10:43:55
762
原创 基于OpenFeign实现服务调用
Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了Feign, Feign默认集成了 Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。
2024-09-19 08:39:39
256
原创 Nacos
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。服务发现:服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实 例的访问。
2024-09-18 13:56:00
908
原创 JMeter压力测试
进入bin目录,修改jmeter.properties文件中的语言支持为language=zh_CN,然后点击jmeter.bat。
2024-09-14 14:35:12
123
原创 可重入锁&公平锁&死锁(如何避免)
使用公平锁后 ReentrantLock lock = new ReentrantLock(true);上面这段代码没有使用公平锁,A线程抢到锁后,B线程基本抢不到票。释放锁后,在阻塞队列中等待的线程,都有机会能抢到锁。synchronized 实现死锁。ReentrantLock实现死锁。下面这段代码会出现死锁情况吗?B线程和A线程都能抢到锁。
2024-09-05 10:49:36
115
原创 volatile关键字作用
使用volatile关键字修饰的变量,修改是直接修改主内存的值,读也是直接从主内存读(跳过本地内存),所以其他线程能立即看到修改后的值。2、有序性:由于现代计算机体系结构中存在指令重排的优化机制来提高执行性能,使用volatile让执行顺序和Java源代码顺序一致。如果不用volatile 修饰flag,那么子线程中的while循环会一直卡着。1、可见性:当一个线程修改了共享变量后,其他线程能够立即看到修改后的值。
2024-09-04 16:59:33
192
原创 Netty+WebSocket实现高并发网络编程
我们来实现一个Netty+WebSocket集成案例,由于Netty+WebSocket集成代码比较麻烦,我们可以利用目前开源的项目netty-websocket-spring-boot-starter轻松实现Netty和WebSocket的集成。WebSocket会话处理我们使用了netty-websocket-spring-boot-starter相关的注解,netty-websocket-spring-boot-starter相关的注解可以参考。"您的浏览器支持WebSocket"
2024-08-28 10:46:28
705
原创 redisson分布式锁
大部分网站使用的分布式锁是基于缓存的,有更好的性能,而缓存一般是以集群方式部署,保证了高可用性。而Redis分布式锁官方推荐使用redisson。
2024-08-28 09:17:04
119
原创 Apache Druid日志实时分析
介绍 Apache Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理系统。它既支持高速的数据实时摄入,也支持实时且灵活的多维数据分析查询。因此 Druid 最常用的场景是大数据背景下、灵活快速的多维 OLAP 分析。另外,Druid 还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析,因此也有用户经常在有时序数据处理分析的场景中用到它。OLTP与OLAP的区别:OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理。
2024-08-27 09:42:52
389
原创 Lua收集请求日志
用户请求/web/items/1.html,进入到nginx第1个location中,在该location中向Kafka发送请求日志信息,并将请求中的/web去掉,跳转到另一个location中,并查找本地文件,这样既可以完成日志收集,也能完成文件的访问。在资料\lua中已经提供了该包lua-resty-kafka-master.zip,我们需要将该文件上传到/usr/local/openrestry目录下,并解压,再配置使用。定义好了消息格式后,创建一个生产者,往Kafka中发送详情页的访问信息。
2024-08-27 09:22:02
665
原创 elastic-job定时任务
我们创建一个动态配置任务的类,任何逻辑代码需要创建定时任务,可以直接调用该类的指定方法即可。 参考地址:https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-elasticjob。动态任务案例主要是讲解程序在运行时,动态添加定时任务,这种场景应用非常广泛。 使用elastic-job很容易,我们接下来学习下elastic-job的使用,这里的案例我们先实现静态任务案例,静态任务案例也就是执行时间事先写好。
2024-08-26 16:12:11
887
原创 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
1222
原创 使用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
1578
2
原创 高并发下Java中System.currentTimeMillis卡顿问题解决方案
【代码】高并发下Java中System.currentTimeMillis卡顿问题解决方案。
2024-08-19 16:31:03
308
原创 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
998
原创 Vuex基本使用
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:A.能够在vuex中集中管理共享的数据,便于开发和后期进行维护B.能够高效的实现组件之间的数据共享,提高开发效率C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新。
2024-08-12 15:57:22
906
1
原创 Vue---day08侧边栏导航(双层for循环、字体图标、高亮显示)
【代码】Vue---day08侧边栏导航(双层for循环、字体图标、高亮显示)
2024-08-08 08:48:09
398
原创 Vue---day06前端工程化
A.通过 package.json 进行配置 [不推荐使用] "vue":{ } } B.通过单独的配置文件进行配置,创建vue.config.js } }
2024-08-06 14:31:23
1072
原创 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
1106
原创 Vue---day04
我们使用new来构建一个Promise Promise的构造函数接收一个参数,是函数,并且传入两个参数: resolve,reject, 分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。// 在then方法中,你也可以直接return数据而不是Promise对象,在后面的then中就可以接收到数据了。// text()方法属于fetchAPI的一部分,它返回一个Promise实例对象,用于获取后台返回的数据。// 在这个then里面我们能拿到最终的数据。
2024-08-05 08:39:44
612
原创 Vue---day02
获取单选框中的值获取复选框中的值获取下拉框和文本框中的值表单修饰符.number 转换为数值.trim 自动过滤用户输入的首尾空白字符.lazy 将input事件切换成change事件在失去焦点 或者 按下回车键时才更新自定义指令内置指令不能满足我们特殊的需求Vue允许我们自定义指令Vue.directive 注册全局指令Vue.directive 注册全局指令 带参数自定义指令局部指令局部指令,需要定义在 directives 的选项
2024-08-02 08:54:48
484
原创 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
338
原创 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
869
原创 documents4j 将word转pdf文件,本地(Windows)测试没问题,部署到服务器(centos)报错
发现本地win没问题,到服务器Linux就有问题,原因是 documents4j 利用 Microsft Office 的 APIs 来进行文档转换,因此需要在Linux上安装 OpenOffice/LibreOffice 编辑器。首先要保证你的Java代码没问题,可以参考下面代码。把这装上后,再测试,发现可以完美转换。DocxToPdfUtil工具类。
2024-07-25 08:56:42
1393
8
原创 策略+工厂设计模式的应用
很明显,这代码太耦合,太多if…else现在只写了3个,实际情况可能几十个几百个if…else,每次添加一个新的品类,又需要修改原来代码添加一个if…这样优化有什么好处?现在新来一个品类,只需要加一个xxxHandler对应的处理方式,其他代码不用修改,代码完全解耦,条理清晰,易于扩展。比如有下面一段业务,一个自动售货机,根据用户选择不同的饮料,出对应的货。这段代码有什么问题?3、定义各种饮料的处理方式类。1、先定义一个策略接口。2、再定义一个饮料工厂。
2024-07-23 10:21:22
329
Java工作中的一些总结,你肯定也会遇到这些问题,能对你有一些借鉴和帮助
2022-09-14
我的Java学习笔记, 记录学习Java的点点滴滴
2022-09-14
SpringBoot整合es源码
2022-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人