Docker 生产环境之配置守护进程 - 通过 Prometheus 收集 Docker 指标
原文地址 Prometheus 是一个开源系统监控和告警工具包。可以将 Docker 配置为 Prometheus 的目标。本主题向你展示如何配置 Docker,设置 Prometheus 作为 Docker 容器运行,并使用 Promet...
原文地址 Prometheus 是一个开源系统监控和告警工具包。可以将 Docker 配置为 Prometheus 的目标。本主题向你展示如何配置 Docker,设置 Prometheus 作为 Docker 容器运行,并使用 Promet...
JVM垃圾回收的算法很多,但是不管是哪种算法,在进行GC时大致的流程都是差不多的,主要有以下3个过程: 1. 枚举根节点 这个过程主要是找到所有的GC Roots对象,这些对象一般发生在JVM虚拟机栈栈帧、常量池中的静态对象、方法区中静态类...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
在多线程的情况下,ThreadLocal提供了一个种为每个线程访问相同的变量,并且线程对变量的更新互不影响的机制。也是对象实现线程安全的一种方式。 ThreadLocal的实现机制 我们常用的方法有get、set和initialValue,...
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分成为若干个不同的数据区域。 程序计数器(Program Counter Register) 每一个线程都有一个程序计数器,各线程之间互不影响,独立存储,属于线程的私有内存。如果线...
在Java虚拟机中,如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。一共有4类引用: 强引用(Strong Reference) 类似Object obj = new Object()...
无锁 无锁是指线程通过无限循环来执行更新操作,如果执行成功就退出循环,如果执行失败(有其他线程更新了值),则继续执行,直到成功为止。CAS操作就属于无锁。如果从性能的角度来看,无锁状态的性能是非常高的。 自旋锁 自旋锁是一种通过让线程不释放...
最近阅读了《Java并发编程实践》这本书,总结了一下几个相关的知识点。 线程安全 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么...
最常用的HotSpot VM垃圾收集器是分代垃圾收集。该方案是基于两个观察事实。 大多数分配对象的存活时间很短。 存活时间久的对象很少引用存活时间短的对象。 上述两个观察事实统称为弱分代假设(Weak Generational Hypoth...
HotSpot VM运行时系统为HotSpot JIT编译器和垃圾收集器提供服务和通用API,同时还为VM提供启动、线程管理、JNI(Java本地接口)等基本功能。HotSpot VM运行时环境担当许多职责,具体如下: 1、命令行选项 ...
Redis的发布和订阅功能分为频道订阅和模式订阅两种。每当有其他客户端向被订阅的频道发送消息时,频道的所有订阅者都会收到这条消息。 频道订阅 当一个客户端执行SUBSCRIBE命令订阅某个或某些频道时,这个客户端与被订阅频道之间就建立起了一...