
java
文章平均质量分 56
古道湫风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sentinel持久化配置至nacos
持久化至nacos需改造sentinel控制台sentinel版本1.8.31、修改pom文件,去除sentinel 连接nacos jar包限制<!-- for Nacos rule publisher sample --> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-data原创 2022-04-06 15:36:05 · 3661 阅读 · 0 评论 -
Apache Dubbo高级应用
一、支持多种协议的服务发布dubbo:// rest:// http:// hessian:// redis:// thrift:// grpc:// memcached:// rmi:// webservice://二、支持多种注册中心Nacos Zookeeper Multicast Redis Simple原创 2021-08-17 10:17:20 · 193 阅读 · 0 评论 -
多线程相关知识
线程有如下6中状态New(新创建)当用new关键字创建线程时(new Thread®),此时线程还没有开始运行。它的状态为new。当一个线程处于新创建状态时,程序还没有开始执行线程中的代码。在线程运行之前还有一些基础工作要做。Runable(可运行)Blocked(被阻塞)Waiting(等待)Timed Waiting(计时等待)Terminated(被终止)可以用getState方法确认线程当前状态...原创 2021-06-09 14:57:47 · 68 阅读 · 0 评论 -
泛型
类型擦除无论何时定义一个泛型类型,都自动提供了一个相应的原始类型(raw type)。原始类型的名字就是删除类型参数后的泛型类型名(如果限定的类型变量有多个 参考例2,则用第一个限定的类型变量替换)。擦除(erased)类型变量,并替换为限定类型(无限定的变量用Object)例1:无限定情况://泛型public class Pair<T>{ private T first; private T second; public T getFirs原创 2021-05-20 10:56:30 · 92 阅读 · 1 评论 -
Spring中常用事务类型
Spring中常用事务类型:PROPAGATION_REQUIRED (propagation_required)--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS(propagation_supports)--支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY(propagation_mandatory)--支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUI原创 2021-05-17 10:44:22 · 1394 阅读 · 0 评论 -
订阅者视角的消息重复的产生及应对
一、消息重复产生的原因消息重复产生主要有两大类原因:1、消息发送端应用的消息重复发送:消息发送端发送消息给消息中间件,消息中间件收到消息并成功存储,而这时消息中间件出现问题,导致应用端没有收到消息发送成功的原因,导致消息重复发送。 消息中间件因负载高响应变慢,成功把消息存储到消息存储中后,返回“成功”结果超时。 消息中间件接收消息后成功写入消息存储中,但是在返回结果时网络出现问题,消息发送方重试时,网络恢复,造成消息重复小结:此类问题都是消息中间件成功将消息写入消息存储中后,返回结果时出现原创 2021-03-29 14:29:30 · 413 阅读 · 0 评论 -
RabbitMq怎么防止交换机、队列和消息都设置了持久化但消息仍然丢失的问题
怎么防止交换机、队列和消息都设置了持久化但消息仍然丢失的问题情景一:消费者订阅消费队列时,autoAck(自动确认)参数设置了true,当消费者接收到了消息自动确认了,但是消息还没来得及处理,就宕机了。解决方法:autoAck参数设置成false,然后消费者处理完之后,手动确认情景二:在持久化消息的时候,数据在操作系统缓存中,还没写入磁盘中时宕机。解决方法:这里需要引入RabbitMq的镜像队列机制,相当于配置了副本,如果主节点(master)发生了宕机,可以自动切换到.原创 2021-01-22 11:12:48 · 434 阅读 · 0 评论 -
垃圾收集算法
目录一、标记-清除算法二、复制算法三、标记-整理算法四、分代算法一、标记-清除算法最基础的算法。如名称一致,分为两个阶段:标记、清除。先标记需要回收的对象,然后对标记的对象进行回收示意图回收之前回收之后缺点:1、效率问题:标记和清除的效率都不高 2、空间问题:当把对象回收后,会造成大量的不连续内存碎片,当有大对象创建并找不到连续的足够大的内存时,会重新触发GC动作。二、复制算法复制算法是将内存分为两块大小相等的空间,每次...原创 2021-01-05 16:03:06 · 87 阅读 · 0 评论 -
垃圾收集(Garbage Collection GC)
一、GC需要做的三件事哪些内存需要回收?什么时候回收?怎么回收?二、判断对象是否“已死”“已死”对象:不会再通过任何途径被使用1、引用计数算法在对象中添加一个计数器,当被引用时加1,当引用失效时减1;计数器为0时就是不可能在被使用的优点:实现简单、判定效率高缺陷:无法解决对象间互相引用问题使用:微软COM技术、使用ActionScript3的FlashPlayer、Python2、根搜索算法已一系列名为“GC roots”的对象为起点向下搜索,搜索走过的路径叫原创 2020-12-31 16:54:40 · 112 阅读 · 0 评论 -
java虚拟机内存区域
一、运行时数据区域java虚拟机在执行java程序时会将内存划分为不同的区域,不用区域负责不同任务。1、程序计数器程序计数器(Program Couter Register)是一块较小的内存空间,作用可以当做当前线程所执行的字节码的行号指示器。字节码解释器就是通过修改程序计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复等基础功能都是依赖这个计数器来完成因为java虚拟机的多线程是通过轮流切换并分配执行时间来实现的,在任何一刻时间中,一个处理器的一个原创 2020-12-22 14:35:09 · 107 阅读 · 1 评论 -
对百万数量级文件排序思路
对百万数量级文件排序思路:1、读取文件2、将数据换分为若干个中间文件3、对中间文件进行排序4、归并中间文件,比较取中间文件中第一行数据(因为中间文件排序后,每个文件最小的值会放在中间文件第一位) 例: midF001:1、6、9 midF002:2、4、7 midF003:3、5、8 ......那最小值时,midF001中的1最小,将1拿出后,然后拿midF001的下一行数据6,然后对6、2、3进行比较,则拿出2,然后读取midF002的下一行数据4;对6、4、原创 2020-09-05 15:37:14 · 613 阅读 · 0 评论