ICode9

精准搜索请尝试: 精确搜索
  • 强引用_弱引用_软引用_虚引用2022-07-29 18:32:21

    1)强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。2)软引用(SoftReference)如果一个对象只具有软

  • 多线程2022-07-29 12:34:29

    AQS-AbstractQueuedSynchronizer          抽象同步队列器,提供一个框架,简化程序员对锁,同步控制工具的开发,两个关键:        1 state: 线程状态表示        2 Queue 等待线程队列        ReentrantLock: 基于aqs实现的,使用方法: lock, unlock         

  • 【Redisson】记录一次Redisson延迟队列导致的生产Redis服务性能指标抖动问题2022-07-29 10:33:32

    背景   2022年7月27日晚,21:05分 新功能上线后,通过Grafana上查到Redis多个性能指标有很大的升高,Redis使用的是腾讯云的云服务  这里通过这个问题,记录和总结整个排查过程,Redis相关指标变化如下  1.CPU和内存参数    CPU利用率:   9%->99%(100%)         内存使

  • RABBITMQ之一概念解释(信道、交换器和路由键、队列)2022-07-29 09:04:43

    RABBITMQ之一概念解释(信道、交换器和路由键、队列) 一、 channel 信道:   概念:信道是生产消费者与rabbit通信的渠道,生产者publish或是消费者subscribe一个队列都是通过信道来通信的。信道是建立在TCP连接上的虚拟连接,什么意思呢?就是说rabbitmq在一条TCP上建立成百上千个信道

  • win32 API 消息分类2022-07-28 11:34:03

    消息分类[系统消息,用户自定义消息] 系统消息 id [0-0x03FF],系统定义的消息,可以直接使用 1024个 自定义消息 id 0x0400 - 0x7FF[31743个] 为了方便自定义消息设置的宏 WM_USER {自己发送自己处理} (WM_USER == 1024) 自定义消息用SendMessage或者PostMessage都是可以的 根据消息

  • c++ 结构体内置函数不同写法的不同效果2022-07-27 20:35:49

    使用的测试代码: #include<bits/stdc++.h> using namespace std; struct node { int a,b; bool operator < (const node &e) const { return b > e.b; } }; int main() { priority_queue<node,vector<node>,less<node>>

  • 数据结构与算法2022-07-27 09:01:58

    数据结构与算法描述 程序 = 数据结构 + 算法 数据结构是算法的基础, 换言之,想要学好算法,需要把数据结构学到位。 线性结构和非线性结构。 数据结构包括:线性结构和非线性结构。 线性结构 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种

  • javaScriptEventLoop2022-07-27 01:01:34

    我们通常把宿主发起的任务称为宏观任务,把 JavaScript引擎发起的任务称为微观任务。 以下事件属于宏任务: setlnterval() setTimeout() 以下事件属于微任务 Promise().then(function(){}) new MutationObserver() <script> setTimeout( function(){ console.log(1); } ) new

  • 任务队列、回调队列、事件循环( Event Loop ):2022-07-26 23:03:47

      任务队列、回调队列、事件循环( Event Loop ):   任务队列( Task Queue ):主线程执行完毕后所触发的异步任务( WebAPIs ),叫任务队列; 回调队列( Callback Queue ):这些异步 WebAPI 执行完成后得到的结果,会添加到 callback queue 中; 事件循环( Event Loop ):只要主线程的同步任务执

  • Java 基础6 - 线程2022-07-26 23:00:36

    线程 实现线程的两种方式:继承 Thread,实现 Runnable 接口 有了 Thread 不就够了?通过继承Thread来实现线程虽然比较简单,但 Java 中每个类最多只能有一个父类,如果类已经有父类了,就不能再继承 Thread。 启动线程调 start 而不是 run,一个线程对象只能启动一次 线程的状态 NEW:没有调用

  • Java阻塞队列2022-07-26 16:02:51

    概述 阻塞队列是一个支持两个附加操作的队列,这两个附加的操作支持阻塞的插入和移除方法。 1、支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,知道队列不满。 2、支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用语生产者和消

  • 怎么判断一个对象已经被回收---虚引用2022-07-26 12:35:23

    定义 虚引用是使用PhantomReference创建的引用,虚引用也称为幽灵引用或者幻影引用,是所有引用类型中最弱的一个。一个对象是否有虚引用的存在,完全不会对其生命周期构成影响,也无法通过虚引用获得一个对象实例。 说明 虚引用,正如其名,对一个对象而言,这个引用形同虚设,有和没有一样。 如

  • C# .net 进程通信2022-07-26 10:33:15

    C#进程通信 进程之间通讯的几种方法: 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有 使用内存映射文件 通过共享内存DLL共享内存 使用SendMessage向另一进程发送WM_COPYDATA消息 比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法.(Z

  • 单调栈/单调队列2022-07-25 22:36:00

    单调栈,单调队列 看名字他们有有一个共同的特点,那就是——单调 因为它们“单调”,所以单调栈和单调队列,他们存储的数据都是有序的,只会递增或递减。                                                 单调栈  单调栈分为单调递增栈和单调递减栈 单调递增栈

  • java数据结构分析-队列(queue)2022-07-25 20:00:06

    队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。  

  • 业务可视化-让你的流程图"Run"起来(3.分支选择&跨语言分布式运行节点)2022-07-25 12:35:36

    前言 首先,感谢大家对上一篇文章[业务可视化-让你的流程图"Run"起来(2.问题与改进)]的支持。 分享一下近期我对这个项目的一些改进。 1. 增加了分支选择工程,可以根据节点的运行结果决定执行哪一个节点。 2. 增加了分布式运行节点功能,可以将流程节点部署到任意服务器,通过队列来调度

  • Java线程池详解2022-07-25 11:00:20

    通过前文 线程的创建与使用 ,我们对线程有了一定了解。线程的创建与销毁需要依赖操作系统,其代价是比较高昂的,频繁地创建与销毁线程对系统性能影响较大。 出于线程管理的需要,线程池应运而生。线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。使

  • linux 4大IO调度算法2022-07-25 09:02:53

    四种调度器:  1、Noop IO scheduler (FIFO算法,电梯梯度算法)         会将请求与上个请求看能否合并处理, 看能否进行排序,如果是前面排序所需要的时间跟当前时间过长,则不进行排序处理  2、CFQ IO scheduler(完全公平算法)        会对每个进程的分配 一个请求队列和时间

  • JUC源码学习笔记3——AQS等待队列和CyclicBarrier,BlockingQueue2022-07-24 15:33:28

    一丶Condition 1.概述 任何一个java对象都拥有一组定义在Object中的监视器方法——wait(),wait(long timeout),notify(),和notifyAll()方法,这些方法配合sync hronized同步关键字,可以实现等待/通知模式。Condition接口也提供了类似于Object的监视器方法,可以和Lock接口的实现配合实

  • RabbitMQ细说之开篇2022-07-24 01:00:31

    前言 关于消息中间件的应用场景,小伙伴们应该都耳熟能详了吧,比如经常提到的削峰填谷、分布式事务、异步业务处理、大数据分析等等,分布式消息队列成为其中比较关键的桥梁,也就意味着小伙伴们得掌握相关技能;当下相对比较热门的消息中间件有RabbitMQ、Kafaka、RocketMQ、ActiveMQ等,在实

  • 基础数据结构2022-07-24 00:00:58

    基础数据结构介绍 栈 \(luoguB3614\) 概念 一种先进后出的数据结构 实现方法 手写栈(用数组模拟) int st[N];//模拟栈 int idx;//栈中元素数量 st[++idx]=x;//压栈 return st[idx];//取栈顶元素 if(idx) idx--;//弹出栈顶元素 idx=0;//清空栈 STL库 #include <stack>//栈

  • 消息队列MQ2022-07-23 23:31:15

    一、消息队列概述 MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消

  • RabbitMQ学习笔记2022-07-23 14:34:57

    RabbitMQ学习笔记 1、添加用户,进行登录 创建账号  rabbitmqctl add_user 用户名 密码 设置用户角色  rabbitmqctl set_user_tags 用户名 角色 设置用户权限  rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>  # 例如 rabbitmqctl set_per

  • 单调队列2022-07-23 10:34:38

    “如果一个选手比你小还比你强,你就可以退役了。”——单调队列的原理 作者写的很好,例子也很形象  : 算法学习笔记(66): 单调队列 - 知乎 (zhihu.com) https://leetcode-cn.com/problems/sliding-window-maximum/  

  • 17、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万 消息持续积压几小时,说说怎么解决2022-07-23 10:00:40

    消息积压处理办法:临时紧急扩容:先修复 consumer 的问题,确保其恢复消费速度,然后将现有 cnosumer 都停掉。新建一个 topic,partition 是原来的 10 倍,临时建立好原先 10 倍的 queue 数量。然后写一个临时的分发数据的 consumer 程序,这个程序部署上去消费积压的数据,消费之

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有