自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 资源 (10)
  • 收藏
  • 关注

原创 LVM逻辑卷删除及新建分区

【代码】LVM逻辑卷删除及新建分区。

2024-03-26 16:50:05 85

原创 docker重建镜像

配置: cx_Oracle。

2024-02-04 14:48:48 507 1

原创 使用arthas ognl表达式调试方法

对返回的结果取值-map中根据key取value。下面我们根据一个spring bean来测试。对返回的结果取值-根据索引取list中的元素。点击复制命令,放在arthas客户端去执行。说明这个方法入参为0,返回的结果为null。获取spring bean对象中的普通属性。用idea的目的就是生成执行命令较为方便。idea在线安装arthas插件。执行方法-对象传参,返回list。对返回的结果取值-取对象中的属性。

2023-03-30 14:49:43 632 1

原创 mybatis多线程事务回滚

在有事务的方法中,有时候我们需要对这个方法进行性能优化,性能优化的措施采用多线程并发处理,不同的线程,在mybatis中创建的sqlSession不同,导致多线程之间同一时刻不能使用同一个connection(数据库的session),从而多线程执行的sql不会同时进行事务的回滚。链接可以通过数据库链接池被复用。在MyBatis中,不同时刻的SqlSession可以复用同一个Connection,同一个SqlSession中可以提交多个事务。

2023-03-23 12:02:11 1501

原创 k8s使用hostpath卷持久化数据

会在qhtx-k8s-node-001和qhtx-k8s-node-002节点下自动创建/root/logs目录,并且把容器中目录下的文件给同步过来,当容器关闭,文件仍然会存在。得知这个应用部署在 qhtx-k8s-node-002,和 qhtx-k8s-node-001节点下。容器中的文件在磁盘上是临时存放的,这给容器中运行比较重要的应用程序带来一些问题。• 问题1:当容器升级或者崩溃时,kubelet会重建容器,容器内文件会丢失。挂载Node文件系统(Pod所在节点)上文件或者目 录到Pod中的容器。

2023-03-14 19:42:05 595

原创 用arthas轻松排查线上问题

你是否在项目中会碰到以下一些问题:在代码中打印各种日志来排查,比如方法的入参,出参,及在方法体中打印日志判断走哪行代码 还有你觉得代码没问题,可是运行出现却是以前的bug,感觉代码没修改,或者别人把你修改好之前的代码部署上去了,你想要看线上部署的是不是你修改的最新代码,把包从服务器上下载下来然后再反编译查看 有些接口请求很慢,你想知道这个接口的方法调用链中耗时时间,你以前是不是通过切面去打印每个方法的耗时时间,修改代码,重新部署 当进程CPU飙高或者占用内存较大,你用top命令查看,然后top -

2023-03-02 10:29:13 1973

原创 mycat2使用

解压mycat2-install-template-1.21.zip把mycat2-1.21-release-jar-with-dependencies.jar放在mycat/lib中修改mycat/conf/datasources/prototypeDs.datasource.json配置文件进入到mycat/bin目录,执行以下命令对文件分配权限服务启动客户端进行连接默认的端口是8066,可以在mycat/conf/server.json中修改。

2023-02-09 17:25:42 1020 1

原创 ogg改变表结构和新增表操作

2、新增topic,由于新增topic需要添加新的REPLICAT进程为 REKAFKA2。修改新topic文件内容htf_damp_dimensionTopic.props。TARGETDB LIBFILE:修改为对应的topic文件名,后面会创建该文件。2、修改表结构定义文件(由于配置table QHTX_DW.* 不需要操作)添加:TABLE QHTX_DW.TP_SF_HOLD;添加:TABLE QHTX_DW.TP_SF_HOLD;3、退出ogg命令行,创建topic文件。查看进程状态是否正常。

2023-01-09 17:24:14 1288

原创 flink单机部署和简单使用

这个实时处理作业的source 是 scoket ,slink是print,对实时接收数据中的单词进行个数统计。看streaming作业会一直处于running运行中。利于nc启动socket server。Java版本:1.8.0_45。实时处理socket流数据。

2022-12-13 20:15:57 1012

原创 如何清理ogg日志文件

进入目标端ogg文件目录,/usr/local/ogg/dirdat,删除hr000009674之前的文件,不要都全部删掉,最好保留5-6个最新文件。ogg分为源端和目标端,由于目标端和kafka部署在一机器上,ogg日志文件使这台机器磁盘频繁的被占满, 导致kafka 进程被杀死。之前配置的是3天就把已经完成推送的日志给删除,现在改成1小时就把已经完成推送的日志给删除。接下来的话 ./dirdat/* 日志文件就不会频繁的把磁盘占满了。其中一个文件500M。可以看到消费到哪个文件。

2022-11-09 18:48:58 2531

原创 redis cluster伪集群搭建及应用

集群架构: redis 版本:Redis 5.0.8下载地址为:https://download.redis.io/releases/安装步骤:1、安装gcc环境 : 执行 yum install gcc-c++2、进入文件夹编译cd /usr/local/redismake3、进入src文件夹,执行make install进行Redis安装make install4、编写6份redis.conf配置文件,端口号分别为7001,7002,7003,7004,7005,7006,如下7001端口的配置文件为

2022-11-09 09:52:39 325

原创 kafka监控工具----cmak安装

https://space.dingtalk.com/s/gwHOBC65GQLOAur0NgPaACAzYzYwMzhmNjZlYzc0OGY3YTY0NGNmOTExZDg4NTAwNQ 密码: sGEX。当前已安装的kafka版本:kafka_2.13-2.7.0 2.13为scala版本,2.7.0为kafka版本。则安装cmak需要Java 11及以上环境,kafka的版本为0.8,0.9,0.10,0.11及以上版本。jdk11下载的地址为:阿里云云盘链接如下。

2022-11-04 14:59:35 850

原创 trino关于查询elasticSearch中时间字段的问题

这段话的意思就是,elasticSearch支持很多时间类型的格式化方式,但是trino中es连接器只支持默认的date类型,就是不能加时间格式化。创建 yc_test_data 索引,索引中包含两个属性create_time 和 name。如果索引yc_test_data的mapping改成这样,则用trino可以查询出来。注意看,带有格式化的时间字段create_time没有查询出来。

2022-09-15 17:41:24 1063

原创 ORCAL给时间戳字段赋默认值,精确到毫秒级

为什么要精确到毫秒级呢?因为批量插入数据的时候,1s钟可以插入很多条数据。如果需要对数据先后来排序,显然不符合要求,所以要精确到毫秒级。

2022-09-09 15:47:37 2307

原创 freemarker+poi实现动态生成excel文件及解析excel文件

pom文件配置:配置文件:生成模板ftl文件步骤:1、新建excel文件:test.xlsx 2、把文件另存为xml文件,即test.xml 3、把test.xml修改文件后缀名,改为test.ftl 4、ftl文件格式化在线 XML 格式化 | 菜鸟工具 5、test.ftl文件中添加动态数据参数最终把test.ftl文件放到resources/templates下,freemarker默认读取模板文件的位置下面使用springboot+freemarker动态生成并在线下载excel文

2022-07-01 18:06:19 9432 7

原创 spring 事件监听器的使用及事件异步处理

spring 中的事件监听机制是运用观察者模式来实现的,观察者模式的优点有:1、观察者和被观察者之间低耦合,代码比较好维护2、被观察者和观察者之间是一对多的关系(当然也可以一对一),当被观察者状态改变的时候,多个观察者能同时进行处理,能实现广播通讯观察者模式有两种角色:1、Subject 目标角色:接收外界的状态变化,向观察者发送通知(广播通知) 2、Observer 观察者角色:就是具体操作的一个实体,根据Subject状态变化,会触发自身的具体操作逻辑所以说subject 和 obser

2022-06-29 11:30:06 2433

原创 使用stream api替代sql

假设mysql数据库中有两张表:user用户表 company企业表 当这以上两种类型的数据不是存放在数据库中,而是分别来自两个接口,如果想要对分别来自两个不同的接口的数据做一些join,group(sum),order,limit等操作的时候,我们就需要使用stream api来进行处理在java中用list来封装用户,企业信息:用mysql实现: ​​​​​​​ 用stream api(sorted)实现: 用mysql实现: 用stream api(limit)实现:

2022-06-16 21:16:06 396 4

原创 dubbo服务传递用户信息

dubbo服务传递用户信息

2022-06-16 14:18:48 1809 1

原创 Java获取日历数据及用mybatis进行保存

@Configurationpublic class RestClientConfig { @Bean RestTemplate restTemplate(){ return new RestTemplate(); }}package com.htf.damp.service.impl;import com.htf.damp.mapper.HolidayMapper;import com.htf.damp.model.DayHodilyDetai.

2022-05-28 13:57:00 529

原创 sql语法检测

maven配置: <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>4.2</version> </dependency>用 jsqlparser可以限定输

2022-05-28 13:45:08 5244

原创 执行逻辑大同小异的实现类使用模板模式

接着前一篇文章:使用枚举实现工厂模式_为爱停留的博客-CSDN博客如现在有从四个维度日度/周度/自定义,实现定时调度,现在每个维度有一个实现类,当创建不同维度的定时器的时候,就会触发实现类去执行枚举类:package com.htf.damp.custom_enum;import com.htf.damp.quartz.QuartzCustomManager;import com.htf.damp.quartz.QuartzDayManager;import com.htf.damp.quartz.Qu

2022-05-25 10:35:13 130

原创 使用枚举实现工厂模式

如现在有从四个维度日度/周度/自定义,实现定时调度,现在每个维度有一个实现类,当创建不同维度的定时器的时候,就会触发实现类去执行枚举类:package com.htf.damp.custom_enum;import com.htf.damp.quartz.QuartzCustomManager;import com.htf.damp.quartz.QuartzDayManager;import com.htf.damp.quartz.QuartzMonthManager;import c

2022-05-25 10:19:05 382

原创 Java强引用,软引用,弱引用

强引用一般我们声明变量都是强引用,如:int[] array1 = getArray();-Xmx10M -XX:+PrintGCDetailspackage com.fen.dou;public class YInyong { public static void main(String[] args) throws InterruptedException { int[] array1 = getArray(); int[] array..

2022-04-26 22:51:19 518 3

原创 java bio,nio(内存映射/零拷贝),aio(直接IO)

socket client:先来了解几个关键词:1、DMA控制器:通俗来讲,就是操作内存和硬盘之间数据的复制,可以让当前线程释放CPU,在DMA出来之前,是由CPU来做这事的2、pageCahe:就是一个高速缓冲区,缓存IO(大部分IO操作都是缓存IO)中用户态和内核态之间的一个桥梁3、缓存IO,直接IO缓存IO:大部分IO使用的一种方式直接IO:在AIO(nio2)中使用到4、mmap:就是用户进程虚拟内存地址和内核内存间直接建立映射关系,用户态可以直接访问内核态.

2022-04-22 12:48:36 1274

原创 sleuth+zipkin链路追踪

sleuth+zipkin大致工作图:sleuth: 有以下术语:Span:基本工作单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span通过一个64位ID唯一标识,trace以另一个64位ID表示,span还有其他数据信息,比如摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(通常是IP地址) ,span在不断的启动和停止,同时记录了时间信息,当你创建了一个span,你必须在未来的某个时刻停止它。 Trace:一系...

2022-04-17 03:42:07 2574

原创 cas server和client搭建

下载地址:GitHub - apereo/cas-overlay-template at 5.3Apereo CAS WAR Overlay template. Contribute to apereo/cas-overlay-template development by creating an account on GitHub.https://github.com/apereo/cas-overlay-template/tree/5.3解压压缩包,执行打包命令:./build.sh pa..

2022-04-16 18:20:44 1070

原创 CAS SSO用户认证原理分析

cas中重要的三个属性:TGT: 缓存在cas server用户登录标识的票据(可以存放在mongodb,mysql等数据存储介质中,默认是放在本地内存中) TGC:缓存在浏览器cookie中用户登录标识,在同一个用户下,可以用TGC去cas server中查找对应的TGT,获取ST ST:就是ticket,用来验证是否可以访问资源服务器的票据现在有两台资源服务器,一台资源服务器A,一台资源服务器B,现在想要资源服务A和资源服务器B实现单点登录第一次登录资源服务器A流程:由

2022-04-15 19:30:44 2889

原创 mysql-join优化

如有两张表:mysql> select * from testleft;+----+---------+| id | user_id |+----+---------+| 4 | NULL || 5 | NULL || 1 | 1 || 2 | 2 || 3 | 3 |+----+---------+5 rows in set (0.03 sec)mysql> select * from testright

2022-04-15 15:08:52 1702

原创 mysql-count优化

countcount是统计数据的行数的,一般分页都会用到,常见的有count(1),count(*)写法,很多人会人作为count(1)的效率会高,用数据说话count(*):mysql> SELECT count(*) FROM `job_instance`;+----------+| count(*) |+----------+| 2345399 |+----------+1 row in set (35.19 sec)mysql> EXPLAIN SEL.

2022-04-13 23:34:23 1766

原创 线程上下文类加载器的作用

在spring中,有一个获取默认的类加载器的方法public static ClassLoader getDefaultClassLoader() { ClassLoader cl = null; try { cl = Thread.currentThread().getContextClassLoader(); } catch (Throwable ex) { // Cannot access thread context ClassLoader - falling ba

2022-04-12 18:45:30 859

原创 spring IOC和AOP

springspring data :如常见的spring data jpa,有hibernate实现,springdata jdbc,spring boot 集成mybatis底层就使用了 ,spring data redis等等 spring core(ioc容器的实现) , spring web ,包括了支持很多web容器组件,如webflux,undotow,tomcat等等 spring web mvc 基于spring web实现的mvc框架 spring securit...

2022-04-12 01:01:39 629 3

原创 为什么要用微服务?

从传统单体架构,到集群架构,再到微服务架构过程单体架构有单点问题,如果宕机所有的服务都不可用 所有业务的功能模块都聚集在一起,如果代码量多,功能之前如果有很多共同的代码,不同业务的需求开发同时进行的时候,维护起来有点麻烦 由于是单体,对请求的并发量,有限制,一个tomcat,并发量千级左右 由于代码都聚集在一起,部署慢 修改bug,牵扯的可能性的代码有很多,修个bug可能需要把所有功能模块都测试一遍 扩展成本高,根据单体架构图假设用户模块是一个CPU密集型的模块(涉及到大量的运算)..

2022-04-11 18:03:19 3375 3

原创 @Transactional注解解析

@Transactional注解默认:隔离级别:Connection.TRANSACTION_REPEATABLE_READ,可重复读的隔离级别,传播机制:Propagation.REQUIRED,如果当前没有事务,则自己新建一个事务,如果当前存在事务,则加入这个事务readOnly首先要弄清楚如果一个接口中有多个查询,需要不需要加@Transactional ?如果不需要,会不会出现多个sql查询,数据不一致的情况? //关闭mybatis的二级缓存 @Overri

2022-04-09 15:05:52 2250

原创 mysql保证数据的安全性

mysql 是日志先行的原则,在操作一条数据的时候,就会把旧数据插入undolog在事务提交的时候,会把最新的数据保存在redolog表中在事务提交之后,如果开启了binlog,则会把sql或者数据的前后变化保存在binlog中undo.log和redo.log保证了数据的一致性,保证了数据库的安全持久性:持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何数据库系统故障。持久性通过数据库.

2022-04-08 16:16:14 1894

原创 几种可行的分布式事务解决方案

数据库层面上的分布式事务1、XA事务:是DTP模型定义TM和RM之间通讯的接口规范。XA接口函数由数据库厂商提供。TM用它来通知数据库事务的开始、结束、提交、回滚。基于XA规范衍生出下面的二阶段提交(2PC)、三阶段提交(3PC),sharding-jdbc和mycat都实现了XA事务2、JTA:Java的事务API,需要第三方实现,目前JTA的实现有以下几种形式 J2EE容器提供的JTA实现(Weblogic、JBoss ); JOTM(Java Open Transact...

2022-04-07 23:05:22 653

转载 SPRING CLOUD ALIBABA与SPRING BOOT、SPRING CLOUD版本对应关系

一、前言在搭建SpringCloud项目环境架构的时候,需要选择SpringBoot和SpringCloud进行兼容的版本号,因此对于选择SpringBoot版本与SpringCloud版本的对应关系很重要,如果版本关系不对应,常见的会遇见项目启动不起来,怪异的则会是你的项目出现一些诡异的问题,查资料也不好查。下面就收集一下SpringBoot与SpringCloud版本之间的对应关系,在搭建项目框架或者学习时按照对应的版本区间进行选择即可,避免走一些不必要的弯路。1. 历史版本图Release

2022-04-07 15:56:21 2485

原创 eureka

eureka server集群maven配置: <dependencyManagement> <dependencies> <!--引入springcloud的版本--> <dependency> <groupId>org.springframework.cloud</groupId> ...

2022-04-07 14:12:21 903

原创 sharing-jdbc分库分表方案设计

1、对存量数据进行不停机数据迁移2、对数据进行分片不停机数据迁移1、表中要有严格时间顺序的字段updateTime同步记录表(id,tableName ,lastSyncTime )数据分片(水平分库,水平分表)1、水平分库用业务ID2、水平分表用主键ID3、sharding-jdbc不兼容sql进行排查...

2022-04-06 13:23:41 3301

原创 mybatis 拦截器

在mybatis中可被拦截的类型有四种(按照拦截顺序):Executor:拦截执行器的方法。 ParameterHandler:拦截参数的处理。 ResultHandler:拦截结果集的处理。 StatementHandler:拦截Sql语法构建的处理。其实Executor都可以实现ParameterHandler,ResultHandler,StatementHandler拦截器的功能拦截器一般在业务处理中用于:1、分页查询2、多租户添加条件过滤3、对返回结果,过滤掉审计字段,

2022-04-05 23:03:26 9950

原创 mybatis 一级缓存和二级缓存

配置mybatismaven: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> ..

2022-04-05 22:53:08 2065 4

awt动态曲线sdkawt动态曲线sdk

awt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdkawt动态曲线sdk

2023-06-01

arthas培训文档arthas培训文档

哒哒哒哒哒哒多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多多

2023-04-04

kubernetes 1.19 二进制安装 zy 20220527

kubernetes 1.19 二进制安装 zy 20220527

2023-02-23

mycat学习资料,你懂得

mycat学习资料,你懂得

2023-02-17

大数据培训sssssssss

大数据培训sssssssss

2023-02-15

数据资产数据流表sssss

数据资产数据流表sssss

2023-01-13

中间件安装部署ssssssssssssssssssss

中间件安装部署ssssssssssssssssssss

2022-11-09

并发编程之Executor线程池原理与源码解读.pdf

并发编程之Executor线程池原理与源码解读.pdf

2021-04-10

java面试宝典

java面试宝典

2018-09-25

sjava面试死锁

java面试资料

2018-09-24

java面试复习资料

java面试复习资料

2018-09-21

jsp文件运行的机制

jsp文件运行的机制,讲述的是tomcat服务器的作用与运行机制

2012-11-03

用户登陆界面

用户登陆界面,是利用mysql数据库连接jsp而实现的

2012-11-03

JavaBean简介及基本操作

JavaBean简介及基本操作,讲述jsp怎样利用javabean技术来减少代码的重复等

2012-11-01

软件10大学物理考题

这是一张物理考卷,难易适中,是一张很好的试卷

2011-06-29

学生成绩统计管理系统

这是一篇关于用c++语言编写成的学生成绩统计管理系统的论文

2011-06-29

用不同语言编写电子日历

其中有用c++语言编写的电子日历,输入年,月,日就可得到当月的日历情况及相应的星期几。

2011-06-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除