小贼驴
码龄8年
关注
提问 私信
  • 博客:407,449
    社区:5,824
    413,273
    总访问量
  • 76
    原创
  • 550,543
    排名
  • 42
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-04-17
博客简介:

小驴

查看详细资料
个人成就
  • 获得157次点赞
  • 内容获得62次评论
  • 获得535次收藏
  • 代码片获得1,281次分享
创作历程
  • 1篇
    2022年
  • 4篇
    2021年
  • 5篇
    2020年
  • 29篇
    2019年
  • 29篇
    2018年
  • 9篇
    2017年
成就勋章
TA的专栏
  • docker
    2篇
  • swagger
    1篇
  • error
    1篇
  • Exception
    1篇
  • spring-ioc-aop
    4篇
  • mybatis
    3篇
  • string
    3篇
  • oracle
    4篇
  • ajax-json
    1篇
  • web-service
    1篇
  • apache-cxf
    1篇
  • java多线程
  • httpclient
    1篇
  • sql-server
    1篇
  • redis 排序
    1篇
  • SpringTemplate
    1篇
  • spring-redis
    1篇
  • idea
    1篇
  • Cache
  • Vue
    3篇
  • kafka
    1篇
  • spring aop
    2篇
  • mq
  • js
    2篇
  • jpa
  • spring boot
    4篇
  • java_base
    1篇
  • java
    4篇
  • linux
  • java基础
    2篇
  • Http
    1篇
  • sql
    1篇
  • viewer
    1篇
  • spring
    2篇
  • memcached
  • nosql
    1篇
  • spring cloud
  • java 设计模式
  • spring mvc
  • activemq
    1篇
  • 1
  • redis
    1篇
  • 线程
  • 设计模式
  • 算法
    1篇
  • Java Concrrent BlockingQueue
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 服务器
    linux
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

kafka消费报错 UNKNOWN_TOPIC_OR_PARTITION

2022-05-06 13:50:38.624 [kafka-producer-network-thread | producer-1] LEVEL.WARN [traceId:] o.apache.kafka.clients.NetworkClient.handleSuccessfulResponse(1070) - [Producer clientId=producer-1] Error while fetching metadata with correlation id 6823 : {inv
原创
发布博客 2022.05.06 ·
11695 阅读 ·
1 点赞 ·
3 评论 ·
1 收藏

spring boot集成es报错:nested exception is java.lang.NoSuchFieldError: IGNORE_DEPRECATIONS

Factory method ‘esRestClinet’ threw exception; nested exception is java.lang.NoError starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2021-08-30 15:51:49.699 ERROR [traceId:] 3247 --- [ .
原创
发布博客 2021.08.30 ·
5744 阅读 ·
3 点赞 ·
2 评论 ·
4 收藏

Redis和数据库数据一致性问题

数据一致性问题如果对一致性要求极高那么不建议使用缓存.在Redis缓存中经常会遇到数据一致性问题,下面罗列几种情况1.先更新数据库,再删除缓存2.先删除缓存,再更新数据库3.双删(先删除缓存,再更新数据库,再删除缓存)情况(1): T2先更新缓存,T1再删除缓存(数据一致)情况(2): T1先删除缓存,T2再更新缓存 (数据不一致)4.延时双删策略延时双删能尽量保证,如上情况(1),但是延迟删除的时间内可能会造成脏数据.总结无论哪种都不能保证数据完全一致性,强一致性的只能
原创
发布博客 2021.08.15 ·
426 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Random 高并发下的缺点(美团面试题) 替代方案JUC下的 ThreadLocalRandom

Random 高并发下的缺点大量CAS导致CPU飙高 Random random = new Random(); System.out.println(random.nextInt(100));一、奇怪的命名random.nextInt() 奇怪的命名,获取值为什么不是通常的 “get”, “create”,“generate”等常见的命名.random生成的随机数,并不是真正的随机,它有一个种子的概念,是根据种子值来计算【下一个】值的,如果种子值相同,那么它生成出来的随机数也必定相等,也
原创
发布博客 2021.08.07 ·
677 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

GC 的几种主要的收集方法:标记清除、标记整理、copy算法的原理、特点、各自的优劣势

搞懂垃圾回收的机制,先搞懂垃圾回收的是哪些数据,这些数据在哪块区域,所以我们先看JVM内存区域线程私有虚拟机栈:生命周期和线程相同,每个方法执行之前会被创建,保存局部变量等。进入方法前入栈和方法执行结束出栈,所以不需要进行GC本地方法栈:为虚拟机栈提供服务支持的,运行Java方法 >>> 虚拟机栈 >>> 本地方栈 。所以不需要进行GC程序计数器:线程执行字节码的行号指示器,Java虚拟机多线程是轮流切换的(上下文切换),每个线程如何知道上一次执行.
原创
发布博客 2021.01.08 ·
1029 阅读 ·
2 点赞 ·
1 评论 ·
3 收藏

spring netty websocket 服务端开发

场景需求: 由于公司是做在线教育的,客户的定制化需求,要求同一个账号同时只能观看一个视频。(BS)分析: 刚开始想过监听浏览器的close()事件,打开视频向redis 中存一个status,关闭浏览器修改这个status。但是不能处理极端情况如: 强制杀死进程、断电等(不考虑缓存播放视频的情况)方案: 想到socket,自然想到netty对socket 的支持非常好。为什么选择netty?API使用简单,开发门槛低功能强大,预置了多种编解码器功能几行代码,就能解决粘包\拆包问题成熟、稳定
原创
发布博客 2020.09.27 ·
921 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

为什么JDK代理不像CGLib代理一样继承目标类就可以动态代理呢?

为什么JDK代理不像CGLib代理一样继承目标类反而去实现其接口呢?因为JDK代理生成的代理类,默认会继承Proxy 类,由于java是单继承,所以不能继承目标类只能实现其接口1.首先把JDK动态代理生成的类: 继承了Proxy类不能再继承2.再把gclib动态代理,生成的类:输入jdk代理类可以再main中加入System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");输入gclib代理
原创
发布博客 2020.09.02 ·
543 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mysql error: Query execution was interrupted, maximum statement execution time exceeded

查询执行被中断,超过了最大语句执行时间,1.查询数据库最大语句执行时间,默认为10sSELECT @@global.max_execution_time2.设置最大执行时间, 设置为30sSET global max_execution_time = 30000;
原创
发布博客 2020.08.23 ·
17455 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Redis-cluster集群搭建

1.1 Redis-cluster介绍当高并发写请求较大时,哨兵模式并不能缓解写压力,Redis-cluster分片策略就是解决这个问题的。集群将整个数据库分为16384个槽位slot,所有key-value数据都存储在这些slot中的某一个上,一个slot槽位可以存放多个数据。集群中的每个主节点都可以处理0个至16383个槽,当16384个槽都有某个节点在负责处理时,集群进入上线状态,并开...
原创
发布博客 2020.04.02 ·
448 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Spring @transactional注解和synchronized同时使用出现的并发问题(可重复读问题)和解决办法

今天在用jmeter进行压力测试的时候,出现了并发问题,代码如下:@Override@Transactionalpublic synchronized CouponsH5Respons getACoupons() { .....}当时很疑惑,synchronized已经放在了方法级别,不应该出现并发的情况,于是我用IDEA的条件断点,一路跟下去,发现了重复读的问题(数据库是Mys...
原创
发布博客 2020.03.25 ·
4078 阅读 ·
6 点赞 ·
8 评论 ·
21 收藏

Tomcat虚拟路径

在tomcat/conf/Catalina/localhost 这种方式配置虚拟路径好处:方便管理,如果配置多个虚拟路径的话不用全部配置在server.xml不用重启tomcat 增加修改即时生效。[root@instance-f4khj00x localhost]# pwd/home/app/tomcat/conf/Catalina/localhost# 进入到该目录下 创建任意文件名...
原创
发布博客 2019.12.28 ·
264 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Docker push报错 :denied: requested access to the resource is denied

在排除没有登录和网络的原因:我还是报的如下错误原因镜像的名字没有按照规范命名:你的dockerHub用户名/镜像名字:镜像版本#我把 my_redis:v1 改成了 langxuhao/my_redis:v2 [root@instance-f4khj00x ~]# docker push langxuhao/my_redis:v2 The push refers to reposito...
原创
发布博客 2019.12.27 ·
1886 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

Docker 启动redis指定配置文件

一.docker中安装好redis后如下,我安装的是reidis5.0.5版本二.指定redis.conf 启动docker run -p 6379:6379 --name iredis -v /home/docker/redis/config/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis...
原创
发布博客 2019.12.18 ·
11558 阅读 ·
7 点赞 ·
5 评论 ·
37 收藏

spring swagger2 + swagger-bootstrap-ui +swgger分组 。简单几步10分钟轻松搞定

界面风格: 这里我进行了分组 API 和 H51 引入相关jar包<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.2.2</version></...
原创
发布博客 2019.11.28 ·
1368 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JSON error Could not write content: Object is null (through reference

org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Object is null (through reference chain: cn.steam.response.ResponseEntityBase["data"]->java.util.HashMap...
原创
发布博客 2019.11.19 ·
2722 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IOException:request to write '8024' bytes exceeds size in header of '0' bytes for entry

java.io.IOException: request to write '8024' bytes exceeds size in header of '0' bytes for entry 'TBND_0.xls' at org.apache.commons.compress.archivers.tar.TarArchiveOutputStream.write(TarArchiveOutpu...
原创
发布博客 2019.10.14 ·
3335 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

微服务分布式session共享解决方案

有几种解决的方案:1.tomcat的session共享优点:不需要额外开发,只需搭建tomcat集群即可缺点:tomcat 是全局session复制,集群内每个tomcat的session完全同步(也就是任何时候都完全一样的) 在大规模应用的时候,用户过多,集群内tomcat数量过多,session的全局复制会导致集群性能下降, 因此,tomcat的数量不能太多,而且依赖tomcat容器移植...
原创
发布博客 2019.08.16 ·
8412 阅读 ·
5 点赞 ·
5 评论 ·
31 收藏

倒计时器CountDownLatch 和 循环栅栏:CyclicBarrier

一 概念:1.在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种的业务场景下,通常可以使用Thread类的join方法,让主线程等待被join的线程执行完之后,主线程才能继续往下执行。当然,使用线程间消息通信机制也可以完成。其实,java并发工具类中为我们提供了类似“倒计时”这样的工具类,可以十分方便的完成所说的这种业务场景。2.为了能...
原创
发布博客 2019.08.02 ·
800 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Mybatis 一级缓存和引发的问题

一Mybatis 是默认开启一级缓存的。跟Spring结合使用的话执行的方法必须开启事务,一级缓存才有效,原因我们稍后解答。当查询数据时候,先从缓存中寻找是否存在该条数据,存在就直接取出来,不存在,向数据库发送sql查询, 然后将查询后的数据存入缓存返回给程序。二 验证1.开启事务,一级缓存有效。从日志看到确实只执行了一次查询。@Test@Transactionalpublic vo...
原创
发布博客 2019.06.20 ·
6786 阅读 ·
3 点赞 ·
0 评论 ·
7 收藏

Spring AOP动态代理的实现方式

"JDK"动态代理和"CGLIB"动态代理JDK动态代理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口。JDK动态代理的核心是InvocationHandler接口和Proxy类CGLIB(Code Generation Library),是一个代码生成的类库,可以在运行时动态的生成某个类的子类,注意,CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那...
原创
发布博客 2019.06.06 ·
13204 阅读 ·
14 点赞 ·
2 评论 ·
56 收藏
加载更多