- 博客(74)
- 资源 (6)
- 收藏
- 关注
原创 【Apache Doris 4.x 与 MySQL 深度对比及数仓使用规范】
Doris 4.x 通过向量化引擎、湖仓一体与资源隔离三大升级,实现了从报表工具到核心分析引擎的跨越,向量化执行使性能提升300%,Multi-Catalog支持10+外部数据源,Workload Group保障多租户环境下的查询稳定性。MySQL与Doris的架构差异本质是OLTP与OLAP场景的分野:行存与列存的选择决定了事务处理能力与分析效率的取舍,B+树索引与前缀索引+ZoneMap的组合体现了点查与批量扫描的优化方向差异。异步物化视图支持多表Join与定期刷新,可替代传统数仓DWS层。
2026-07-23 19:44:27
337
原创 Websocket的理论与实践应用
WebSocket是一种网络通信协议,它在单个TCP连接上进行全双工通信。它允许服务器主动向客户端推送信息,客户端也能实时接收服务器的响应。WebSocket通信过程中,只需要一次握手,就可以在客户端和服务器之间建立持久性的连接,并进行双向数据传输。WebSocket的工作原理基于HTTP协议进行握手,建立TCP连接后,双方通过帧(Frame)进行数据通信。在此之前我们首先要了解下,http的三次握手四次挥手,长连接与短连接;3.编写代理http工具。6.代理JSON工具编写。3.编写代理http工具。
2026-02-10 15:56:27
596
转载 TCP握手和断开时的四次挥手
TCP协议通过三次握手建立可靠连接,通过四次挥手优雅断开连接。三次握手过程包括:客户端发送SYN报文,服务器回复SYN+ACK,客户端最后发送ACK确认。四次挥手过程包含:主动方发送FIN,被动方ACK确认;被动方发送FIN,主动方ACK确认并等待2MSL时间后彻底关闭。四次挥手是由于TCP全双工特性,需要双向独立关闭。这一机制确保了数据传输的可靠性。
2026-02-10 14:08:28
57
原创 Webservice企业级应用
业务应用系统不通过负载均衡设备实现集群部署,需要把每个节点的WebService地址提供给I6000,I6000将对这些WebService地址进行按序调用,如果第一个WebService调用失败则自动切换下一个WebService进行调用,以此来实现接口互备的效果。为了达到接口模块互备,提供接口稳定性的目的,业务应用系统可以在多个节点上部署WebService服务供I6000系统调用,防止任一WebService接口异常而造成数据抽取中断,可以采用负载均衡和非负载均衡两种方式。
2026-02-10 11:01:10
548
原创 Oracle、Mysql的数据命令导入、备份
摘要:Oracle与MySQL数据库操作指南 本文介绍了Oracle和MySQL数据库的常用操作命令。Oracle部分包括:使用sqlplus登录、创建用户授权、监听器状态查看、数据泵导入(impdp)和普通数据导入/导出(imp/exp)的完整流程,重点说明了目录创建、权限分配及schema映射方法。MySQL部分涵盖:登录命令、数据库查看、数据导入(source命令)以及数据库/单表备份(mysqldump)操作。文中提供了iscII/lsgxh等具体用户示例,并强调需在服务端创建对应物理目录,适用于数
2026-02-09 11:51:16
429
原创 JAVA中切面的应用
在运行时,JDK 动态代理会根据目标对象实现的接口动态生成一个代理类,该代理类实现了与目标对象相同的接口。当调用代理对象的方法时,会触发 InvocationHandler 的 invoke() 方法,在该方法中可以插入切面逻辑。在AOP中,Joinpoint代表了程序执行的某个具体位置,比如方法的调用、异常的抛出等。(Aspect):一个切面是一个模块化的关注点集合,它包含了多个通知和切入点的定义。在运行时,CGLIB 会动态生成一个目标对象的子类,并重写目标对象的方法,在重写的方法中插入切面逻辑。
2026-02-05 11:50:46
322
原创 Java泛型的应用(使用泛型去简化开发,且能很好的保证代码质量)
代替具体的类型实参,注意了,此处’?’是类型实参,而不是类型形参。’是类型实参,而不是类型形参!’是类型实参,而不是类型形参!当操作类型时,不需要使用类型的具体功能时,只使用Object类中的功能。在使用泛型的时候,我们还可以为传入的泛型类型实参进行上下边界的限制,如:类型实参只准传入某种类型的父类或某种类型的子类。//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型。为泛型添加上边界,即传入的类型实参必须是指定类型的子类型。//在实例化泛型类时,必须指定T的具体类型。
2026-02-04 14:00:01
71
原创 多线程执行任务-效率
说明:最近在开发一个功能,大概是一个区域下有多个电站,而一个电站下又有多个摄像头,一个摄像头上又有几百个预置位(固有的转动位置),需要转动预置位,等待10s,然后获取预置位上的PTZ(坐标值)数据;多线程的话,5个就只需要16小时左右,线程池设置更大,则用时更少,就可以大幅度的减少时间提高效率。当一个线程修改了共享变量的值时,JVM 会将该值刷新到主内存中。其他线程读取共享变量的值时,会从主内存中读取最新的值。这意味着对共享变量的写操作要么全部成功,要么全部失败,不会出现部分成功的情况。
2026-02-03 16:19:54
82
原创 Webservic 服务注册发布及参数封装-实际项目应用
本文介绍了基于Apache CXF框架实现WebService服务的配置方法。首先需要引入CXF的Spring Boot Starter依赖,然后通过配置类注册CXF Servlet并发布WebService端点。文章还提供了XML解析工具类JaxbXmlParser,实现了JAXB的XML与对象转换功能,包含自动注册JAXB类、获取XML编码声明以及XML字符串清理等方法。该工具类支持预注册常见实体类,并提供线程安全的类注册机制,能够有效处理XML注释清理、空白字符处理等常见XML处理需求。整体方案适用于
2025-12-05 14:52:49
311
原创 【自定义Bean注入失败问题】
作用:@DependsOn 注解主要用于控制 Bean 的加载顺序,避免因依赖关系导致的初始化失败。例如,如果某个 Bean(如 A)在启动时需要使用 ApplicationContextAware 工具类来获取其他 Bean,但 ApplicationContextAware 实例尚未创建,就会出现空指针或注入失败问题。通过 @DependsOn(“coreApplicationContextAware”),可以强制 Spring 先初始化 coreApplicationContextAware,再
2025-12-04 16:15:45
578
原创 EasyExcel导出多张图片
这篇文章介绍了如何使用EasyExcel实现Excel图片导出功能。主要内容包括: 引入EasyExcel依赖 创建图片转换器(ImageConvert),将URL集合转换为Excel可识别的图片数据格式,处理图片加载失败等情况 实现自定义图片处理器(CustomImageModifyHandler),控制图片在单元格中的插入方式,处理图片最大张数限制等 文章提供了完整的代码实现,涉及图片URL获取、二进制转换、Excel单元格处理等关键步骤,可以帮助开发者在EasyExcel框架下实现复杂图片导出功能。代
2025-11-19 16:36:31
333
原创 【Jenkins入门以及安装】
Jenkins是一个开源的自动化部署工具,它能够持续地自动化构建、测试和部署软件项目。Jenkins通常用于构建、测试和部署Web应用程序,但也可以用于构建和测试其他类型的软件。Jenkins提供了一个可扩展的插件系统,使得它可以轻松地与其他工具和技术集成。它支持各种版本控制系统(如Git、SVN等)、构建工具(如Maven、Gradle等)以及测试框架(如JUnit、Selenium等)。
2025-08-10 17:12:49
1182
原创 k8s常用基础命令总结
Kubernetes常用基础命令摘要: Pod管理:通过kubectl get pods查看Pod列表,describe pod查看详情,logs查看日志,exec进入容器,delete删除Pod。 配置操作:edit修改配置,apply/delete -f通过YAML文件管理Pod,label/annotate管理标签和注释。 实用工具:port-forward端口转发,cp文件传输,top监控资源,watch实时查看状态。 集群信息:cluster-info查看集群状态,api-resources列出A
2025-07-25 14:49:22
2558
原创 【Spring声明式事务管理】
即要达到这么一种效果:对于任意两个并发的事务A和B,在事务A看来,B要么在A开始之前就已经结束,要么在A结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。REPEATABLE_READ:(可重复读) 对相同字段多次读取是一样的,除非数据被事务本身改变,可防止脏,不可重复读,但幻读认可发生。比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。:一个事务读取了另一个事务改写但是还没有提交的数据,如果这些数据被回滚,则读到的数据是无效的。
2025-07-10 13:50:07
665
原创 【基于阿里云上Ubantu(x86-64)系统部署配置K8s】
此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。Dockerfile 专门定义的指令: FROM、RUN、COPY、ADD、CMD。docker run -p <宿主机端口>:<容器端口> <镜像名>kubelet:在集群中的每个节点上用来启动 Pod 和容器等。kubectl:用来与集群通信的命令行工具。kubeadm:用来初始化集群的指令。使用-p或-P参数发布端口。
2025-06-11 16:21:18
856
原创 【基于阿里云上Ubantu系统部署配置docker】
注意:以上流程适配 Ubuntu 18.04/20.04/22.04,其他版本需调整源路径中的 $(lsb_release -cs) 系统代号。验证安装docker:查看版本号docker --version;查看运行状态 sudo systemctl status docker。
2025-06-11 16:15:25
578
原创 微信,qq,浏览器 等所有软件都可以输入中文,就idea输入不了中文
这看是一个简单的问题,在关键时候,赶工期的紧迫时间里,让你无从下手,我也遇到过这个问题,所以记录一下,有两种方式:1.ctrl+shift+E 即可正常输入中文2.idae 左上角 File -> Invalidate Caches / Restart后解决
2024-11-12 09:49:08
360
原创 Mysql关键字闭坑
因为需求,所以数据设计时用到了一个INTERVAL字段,程序编译及启动都没有任何问题,但是到了查询的时候,直接控制台报语法异常,这就奇怪了,用的是MP插件作为查询,为啥报出语法错误,一脸懵!column_name 为列名,table 为表名,[] 为可选条件,where conditions 为检索条件,字段命名规范:使用有意义的字段名,并遵循一定的命名规则,例如使用下划线分隔单词。避免使用关键字:尽量不要使用MySQL的关键字作为字段名、表名或数据库名。
2024-05-14 10:44:29
776
原创 【Java开发过程中的流程图】
流程图的含义在于帮助开发人员更好地理解程序的执行过程,从而更容易发现潜在的问题和优化点。通过合理使用流程图,可以更好地展示程序的执行流程和逻辑,从而更好地解决问题和优化代码。流程图由一系列的图形符号和箭头组成,每个符号代表一个特定的操作或决策。准确无误:流程图应该准确地反映程序的执行流程和逻辑,避免出现错误或模糊的表示。通过连接这些符号,可以形成一个完整的流程图,清晰地展示程序的执行流程和逻辑。
2024-03-22 09:51:23
1776
原创 【数据库】
阅读索引的底层架构:http://blog.codinglabs.org/articles/theory-of-mysql-index.html。1.官网:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html。隔离性:事务的隔离性是多个用户并发范根数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,事务之间要相互隔离。外键:以上的操作都是物理外键,数据库级别的外键,我们不建议使用!
2024-01-11 21:21:47
1530
1
原创 Mybatis
2.数据源(DataSource) 连接数据库 dbcp c3p0 druid。尽管可以配置多个环境,但每个SqlSessionFactory实例只能选择一种环境。1.LOG4j【掌握】 2.STDOUT_LOGGING【掌握】namespace中的报名要和Dao/mapper接口的包名一致!Mybatis默认的事务管理器就是JDBC,连接池:POOLED。MyBatis 可以配置成适应多种环境。2.结果集映射:resultMap。学会配置多套运行环境。
2024-01-11 21:02:21
494
原创 【JVM之再阅读】
内存效率:复制算法>标记清除算法>标记压缩算法内存整齐度:复制算法=标记压缩算法>标记清除算法内存利用率:标记压缩算法=标记清除算法>复制算法思考一个问题:难道没有最有算法吗?答案:没有,没有最好的算法,只有最合适的算法----》 GC:最合适就是利用分代收集算法年轻代:存活率低,复制算法!老年代:区域大:存活率标记清除(内存碎片不是太多)+标记压缩混合实现。
2024-01-09 21:44:52
1185
原创 【初识微服务Cloud-预习】
ZooKeeper 是一个高性能、集中化、分布式应用程序协调服务,是 Hadoop 和 Hbase 的重要组件,主要是用来解决分布式应用中用户经常遇到的一些数据管理问题,例如:统一命名服务、统一配置管理、统一集群管理、分布式锁等。如果你是公司的一名技术负责人或者技术架构,当公司需要进行技术选型,整个微服务的架构搭建,你会怎么办?1.8、eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?1.6、微服务的优缺点是分别是什么?1.5、什么是服务熔断?1.1、什么是微服务?
2024-01-08 22:29:52
782
原创 【深入学习Java虚拟机】
类的加载指的是将类的 .class 文件中的耳机子数据读入到内存中,将其放在运行时数据去的方法区内,然后再兑取创建一个java.lang.Class 对象,用来封装类在方法区内的数据结构。但对父类的“主动”使用并不会导致子类的初始化。• 除了以上六种情况,其他使用Java类的方式都被看作是对类的被动使用,都不会导致类的初始化。6.父子加载器并非继承关系,也就是说子加载器不一定是继承父加载器。– Java虚拟机启动时被标明为启动类的类(Java Test)3)系统加载器(应用加载器),使用java代码实现。
2024-01-08 20:57:31
714
原创 【JVM线上故障排查】
对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢?首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现。今天的文章,就如我们的题目一样,讲的是基本操作,也就是一些排查线上问题的基本方法。为什么这么说呢?
2024-01-08 20:54:33
1204
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅