自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 嵌套DTO校验,失效

修改了一个其他同事留下的BUG,创建接口使用的是一个嵌套的DTO,里面的BDTO做了校验但没生效。在ADTO上增加 @Validated注解,在面的bDTO属性增加@Valid注解。

2024-04-17 10:19:58 214

原创 记一次CDH集群迁移产生的问题——HIVE

1. metadata.SessionHiveMetaStoreClient;2. MapReduce任务卡住

2023-12-06 17:22:04 256

原创 Datax ftp写入hive

解决这个问题正常的步骤(有些可能是多余配置,成功后我就没仔细的验证每个配置对本次修改的影响范围)1. 修改ftp文件目录的权限2. 修改vsftpd.conf3. 创建新的目录,将目录权限给你连接ftp的用户这个我也改了,但是我感觉和他没啥关系,1、2、3执行不行的话也改一下这个吧4. 重启服务,改完这些配置都需要重启的接下来我要研究这两个插件的参数具体可以控制什么细节了,以上只能让任务跑通。最后附上我得vsftpd.conf以及datax的任务json。

2023-05-30 17:53:13 1099

原创 Kylin 构建Cube报错(“com.mysql.jdbc.Driver“) was not found in the CLASSPATH

Kylin 构建Cube报错("com.mysql.jdbc.Driver") was not found in the CLASSPATH

2023-02-07 10:42:02 318

原创 零拷贝原理与实现

零拷贝

2022-12-01 18:29:01 855

原创 线程池ThreadPoolExecutor

线程池

2022-11-30 16:00:20 716

原创 Redis分布式锁

redis分布式锁

2022-11-21 18:49:00 480

原创 部署Redis

redis部署安装

2022-10-26 17:12:21 316

原创 ES特殊字符查询

ES特殊字符搜索

2022-10-18 15:07:26 3615

原创 Kafka消费者不消费数据

kafka消费者停止消费

2022-09-08 15:02:39 7861

原创 SpringBoot 项目瘦身 分离lib

SpringBoot 项目瘦身 分离lib

2021-12-14 13:37:42 1159 6

原创 并发安全笔记6——线程通信

线程之间可以通过写作方式完成一个任务,这就需要线程之间互相通信。当多个线程操作同一共享资源的时候,需要彼此通信告知状态避免资源争夺。线程通信方式有共享内存:volatile 通过volatile让线程之间对共享资源的修改可见 消息传递:wait/notify/join 线程之间可以通过消息来进行彼此通信 管道流:管道输入/输出流的形式主要了解消息传递,也就是wait/notify/joinwait/notify是一对都不陌生的线程通信方法,存在于Object类中public clas

2021-09-16 17:56:53 86

原创 并发安全笔记5——Lock

Lock是J.U.C中提供解决线程同步问题的实现方式Lock是一个接口public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException; boolean tryLock(); boolean tryLock(long time, TimeUnit unit) throws InterruptedException; void unlock();

2021-09-15 16:59:15 131

原创 并发安全笔记4——JMM

JMMJMM是Java内存模型JMM本质上是围绕 原子性、有序性、可见性展开的。JVMJVM是Java虚拟机模型.JVM的重点是运行数据区,所有写出来的程序都会加载到这里,然后运行。因为JVM的缘故使得Java可以实现跨平台运行,一次编译处处运行。那么如何保证跨平台也可以实现线程安全的呢?就是靠JMM了。所以JMM是一种内存模型的规范,屏蔽了操作系统和各种硬件之间的差异。JMM是保证了Java在任何平台下对内存的访问都能保证效果一致的机制和规范。Java内存模型规定了:所有的变量

2021-09-14 17:22:14 99

原创 并发安全笔记3——volatile

当我声明两个线程,线程1完成:a = 1;x = b;线程2完成:b = 1;y = a;按正常来说可能发生的结果是:x=0 y=1/x=1 y=1/x=1y=0。从程序上不可能出现x=0 y=0。/** * @author:hubinbin * @date:2021/9/7 */public class VolatileDemo { private static int a, b; private static int x, y; public static...

2021-09-08 19:50:45 562

原创 并发安全笔记2——CAS

CASCAS:Compare And Swap 比较并交换synchronized关键字时互斥锁,属于悲观锁,多线程下会有:a.线程竞争锁会有加锁、释放锁导致比较多的上下文切换;b.当锁被占用的时候,其他线程都是挂起对应的,还有一种锁叫乐观锁。多线程访问时并不会加锁,只有修改时才会根据版本号对比,有冲突就自旋重试,保证安全性。Unsafe类中有compareAndSwapObject方法,它通过直接调用本地方法,直接操作内存数据//Object var1 修改对象//long var

2021-09-06 16:37:21 91

原创 并发安全笔记1——synchronized

原子性:Synchronized、AtomicXXX、Lock 可见性:Synchronized、volatile 有序性:Synchronized、volatileSynchronized同步锁:排他锁、互斥锁同一时刻只允许一个线程执行。public synchronized void methodA(){ } public void methodB(){ synchronized (this){

2021-09-02 17:26:49 98

原创 并发复习笔记

1. tpstps:每秒请求数,就是说服务器在一秒的时间内处理了多少事务数2. qpsqps:每秒请求数,就是说服务器在一秒的时间内处理了多少请求如何支撑高并发硬件资源:CPU、核心数、并行任务数量内存磁盘网卡..软件:CPU->线程:线程是cpu的最小执行单元IO->数据库交互->刷到磁盘,内存/缓存/异步刷盘策略单节点遇到瓶颈,多个计算机组成一个分布计算机多线程技术什么是线程线程是操作系统能调度的最小单元,也是cpu.

2021-08-31 16:22:37 90

原创 SPI初试

创建SPI接口创建接口实现类测试类resources下创建META-INF/services,包下创建SPI接口同名文件

2021-06-24 14:35:56 92

原创 SpringBoot异步任务阻塞引发JVM调优

一. 背景:新功能上线后异步任务忽然阻塞了,造成所有的任务都在执行中很久都没有结果。而且整个服务接口都很慢。二. 排查过程: 发现报错任务队列已经满了,不能再接受任务 检查后发现,除异步任务外很多定时任务都加了@Async注解,所以给该异步任务新写一个任务池ExecutorTaskPool。 修改后上线,发现会快一点,没有报错,但是依然阻塞。效果不理想。 对比新老版本,发现上线了一个新功能,该功能增加了一个定时任务为每30秒钟执行一次,并且每次都是以线...

2021-06-24 14:31:36 609

原创 ES term精确查询问题

背景:同事突然线上除了bug,在测试环境正常上了生产查询不出来数据。因为业务是日志相关,数据入es都是直接放到索引下而不是构建mapping,所以字段A的类型是text,fields是keyword。查询方式使用terms查询。分析:通过_analyze可以看出该此被分词解析成全小写 通过建立一个定义好类型是keyword的字段A查询后发现被分词解析成与值完全一致因此猜测,测试环境的数据应该都是全小写的,所以测试环境正常,生产环境查不到所以将字段后加上....

2021-04-07 15:04:29 2107

原创 恢复未保存word文档

一. 背景:写好的word还未保存,电脑就自动升级,升级好后发现文件没有了二.恢复方式:1.打开word2. 找到保存中自动恢复文件位置3. 在文件管理中打开,根据丢失时间找到丢失文件并备份(操作备份文件防止损坏原始文件更无法恢复)C:\Users\72900\AppData\Local\Packages\Microsoft.Office.Desktop_8wekyb3d8bbwe\LocalCache\Roaming\Microsoft\Word\4. 打开word,打开.

2020-10-16 11:40:07 600

原创 flyway框架使用异常

1. 背景:使用flyway框架,初始化sql数据2. 异常:3. 解决方案:执行SELECT * from flyway_schema_history可以发现1.0.2错误,所以删除这条数据让框架重新执行这个sql,就正常了

2020-06-28 17:27:02 271

原创 linux下启动命令失效

问题. 新的服务起部署了tomcat,打算启动项目,发现命令失效解决方案:启动tamcat;命令:./startup.sh出现如下提示,需要对此目录进行权限设置:-bash: ./startup.sh: Permission denied终端命令:chmod u+x *.sh再次启动./startup.sh出现Tomcat started.启动成功...

2020-06-11 13:56:57 351

原创 Spring Cloud +Nacos 热更新

1. 环境:JDK8 SpringCloud 2.2.0 RELEASE Nacos1.1.42. 问题:nacos上的配置文件可以读取到,但是发现不能热更新3. 尝试办法1:在用到配置项的类上都加上注解@RefreshScope 结果 :没有成功 尝试办法2:将@value 注解替换成@NacosValue 结果 :没有成功 尝试办法3:将@value 注解替换成@NacosValue ...

2020-06-11 13:54:59 4212

原创 Shell制造es数据脚本

背景:因为很多项目都需要从es中获取数据,测试不会自己造es数据,所以每次都要问。然而问过之后一段时间就忘了,而且一条一条的造也很累。所以写了一个shell脚本目的:只需要修改shell脚本里的一些参数,然后执行脚本就能得到造好的数据,再使用批量创建es数据的命令制造数据。简化制造数据的成本。脚本:```#!/bin/bash#!固定变量无需修改date="`date "+%Y...

2020-03-18 18:43:10 1432

原创 SpringBoot项目idea启动webApplication启动类报错

可以看出没有选择module,找到Environment 查看use classpath of module果然没有选择模块,所以要选上WebApplication类所在模块红色X消实项目正常启动

2020-03-13 17:03:00 829

原创 ES查询当前时刻数据不准确

我在查询es的时候,第一次根据时间范围(截止时间是当前时间精确到秒),查询出来100条数据,以他们的tranceid作为第二次查询的条件;第二次查询,根据上次的100个tranceid(不约束时间范围)查询,但是结果不到100条,并且每次查询结果都不相同(不一定递增),一分钟左右后恢复正常,能查询出100条数据我把第二次的语句打印出来去kibana去查询,也是相同的情况每次查询结果都不相同(...

2020-03-13 14:13:43 2302 2

原创 git fork流程

背景:公司决定使用git fork的方式管理项目1.从远程仓库A fork到自己仓库B2.从自己仓库clone到本地3.git remote add upstream https://gitLab.XXXX.com/A/project(添加一个upstream指向远程仓库)4.git fetch upstream(获取A上的所有分支到你本地)5.git merge upstream/...

2019-12-11 10:09:02 976

转载 linux下解决tomcat中文乱码问题

转自:https://blog.csdn.net/m0_37392489/article/details/77683876在tomcat下的conf目录文件夹下server.xml文件中添加useBodyEncodingForURI="true"能很好的解决此类问题的发生。<Connector port="8080"useBodyEncodingForURI="true"red...

2019-11-28 16:48:58 1305 2

原创 ES按聚合后指标排序

环境es51.根据原数据字段分组后进行排序:service_duration_agg = AggregationBuilders.terms("serviceAgg").field(ESConstUtil.METHOD).order(Terms.Order.count(false)).size(3); Terms.Order.count(false):表示根据这个字段的count进行排序...

2019-08-23 15:05:32 4612 4

原创 代理模式

一.静态代理。静态代理常用的如:三层架构。缺点是不符合开闭原则。二.动态代理1.JDK动态代理 (实现InvocationHandler接口,实现invoke方法,被代理的类需要集成一个接口)Proxy是一个工具类,实际上的作用就是动态生成字节码并编译执行新生成的类。这里传入的clzz.getInterfaces() 就是为了获取到接口并且为新生成的类提供生成方法...

2019-08-13 18:42:40 98

原创 原型模式

原型模式的作用,简化new一个对象的繁琐复杂的过程。BeanUtils.copy()JSON.parseObject()都是原型模式。返回结果false,可以看出t1t2的地址不同,只是将里面的属性值复制给了t2,但真的是这样么?发现,当改变t2的classmate的时候,t1也随之改变了。这里引出一个概念,浅克隆与深克隆。浅克隆与深克隆的区别在于非基本对象的赋值...

2019-08-12 18:06:39 79

原创 comparison method violates its general contract

遇到了一个很有意思的问题报错 comparison method violates its general contract这是什么原因?因为我判空时,只分别判了o1==null和o2==null。违反了timesort的对称性原则,导致,如果o1和o2都为null的时候,会出现两种返回结果即:o1<o2=1,o1<o2=-1。所以就报了违反对比规则的异常。所以我在判null...

2019-08-12 14:47:59 192

原创 单例模式

一.单例模式的优缺点:单例模式优点:1.值在内存中只有一个实例,减少内存开销。2.可以避免对资源的多重占用。3.设置全局访问点,严格控制访问。单例模式的缺点:1.没有接口,不易于扩展2.如果要扩展只能修改单例对象,违反开闭原则二.单例模式的实现:1.饿汉式单例特点:将实例在静态代码块中实现,类加载时就创建。缺点:浪费内存空间。2.懒汉式单例...

2019-08-07 10:55:49 111

原创 gitlab fatal: 'origin' does not appear to be a git repository

在自己创建的gitlab项目上 第一次push进去代码的时候 失败网上查了很多都是github的 git remote -v 发现我的origin没有后面没跟地址于是一出origin 然后再添加上去git remote remove origin然后找到你的项目的git地址,可以去这里复制过来git remote add origin http...

2019-06-11 11:27:21 9497 5

原创 mysql5.0 启动发生系统错误 1067

mysql5.0 一直用的好好的 win10连接navicat 连接mysql server时遇到2003-Can't connect to MySQL server on 'localhost'(10038)错误1.找到服务 一开始是停止状态(现在好了),右键启动,结果立刻就停止,根本无法启动2.按照网上的方法找到了my.ini文件,default-storage-engine=I...

2019-05-27 16:40:21 7115

原创 Spring JPA实战反馈

一.定义实体类1.对应的属性名字一定要小写,不然userName会被映射成user_name2.不需要生成新的表配置上添加:#spring.jpa.hibernate.ddl-auto=update3.要注意JPARepository的一系列子类在继承的时候 如:CrudRepository<User, Integer> User:是映射表的实体类,Integer...

2019-04-30 17:52:41 154

原创 SpringData+JPA

按照SpringData命名规范1.查询方法:find| read| get开头 + By关键字: 涉及查询条件时,条件属性用关键字连接,要注意的是条件属性首字母大写And,Or,Between,LessThan,GreaterThan,After ,Before,IsNull,IsNotNUll,NotNullLike, NotLike,StartingWith,EndWit...

2019-04-30 17:50:34 472

原创 2sum

import java.util.HashMap;import java.util.Map;public class TowSum { public static void main(String []args){ int[] nums={2,2,2,12}; int [] res=getIndexs(nums,4); for(in...

2019-03-18 12:08:20 168

Redis个人学习总结

Redis个人学习总结

2024-03-25

空空如也

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

TA关注的人

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