java
文章平均质量分 87
酱g
人望山 鱼窥荷
展开
-
Prometheus 二、
k8s内部监控体系重度依赖Prometheus以及EFK以及Heapster,主要的组件如下:Prometheus 监控+报警 Elasticsearch、Fluentd和Kibana(EFK)技术栈日志收集(pod的stdout) Heapster节点指标监控监控体系主要是基于上述组件定制。技术架构业务指标收集,主要是依赖日志+Fluentd+Prometheus Plug...原创 2019-08-30 16:04:35 · 439 阅读 · 0 评论 -
Prometheus 一、
Prometheus 入门与实践随着容器技术的迅速发展,Kubernetes 已然成为大家追捧的容器集群管理系统。Prometheus 作为生态圈 Cloud Native Computing Foundation(简称:CNCF)中的重要一员,其活跃度仅次于 Kubernetes, 现已广泛用于 Kubernetes 集群的监控系统中。本文将简要介绍 Prometheus 的组成和相关概念,...原创 2019-08-30 16:01:23 · 1085 阅读 · 0 评论 -
jstat命令详解
Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。jstat工具特别强大,有众多的可选项...转载 2018-07-13 11:17:47 · 314 阅读 · 0 评论 -
ConcurrentHashMap 底层原理
ConcurrentHashMap 实现原理由于 HashMap 是一个线程不安全的容器,主要体现在容量大于总量*负载因子发生扩容时会出现环形链表从而导致死循环。因此需要支持线程安全的并发容器 ConcurrentHashMap 。数据结构如图所示,是由 Segment 数组、HashEntry 数组组成,和 HashMap 一样,仍然是数组加链表组成。ConcurrentHashMap 采用了分...原创 2018-07-16 15:30:39 · 367 阅读 · 0 评论 -
java多线程基础入门 基本概念
线程状态图说明:大致分为五种1. 新建状态(New) : 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。2. 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可能被CPU调度执行。3....原创 2018-07-11 10:53:01 · 161 阅读 · 0 评论 -
HashSet 底层原理
HashSetHashSet 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 HashMap,HashSet 就水到渠成了。成员变量首先了解下 HashSet 的成员变量: private transient HashMap<E,Object> map; // Dummy value to associate with an Object in the b...原创 2018-07-12 15:28:41 · 575 阅读 · 0 评论 -
HashMap 底层原理
如图所示,HashMap 底层是基于数组和链表实现的。其中有两个重要的参数:容量负载因子容量的默认大小是 16,负载因子是 0.75,当 HashMap 的 size > 16*0.75 时就会发生扩容(容量和负载因子都可以自由调整)。put 方法首先会将传入的 Key 做 hash 运算计算出 hashcode,然后根据数组长度取模计算出在数组中的 index 下标。由于在计算中位运算比取...原创 2018-07-11 16:51:18 · 202 阅读 · 0 评论 -
LinkedList底层原理
如图所示 LinkedList 底层是基于双向链表实现的,也是实现了 List 接口,所以也拥有 List 的一些特点(JDK1.7/8 之后取消了循环,修改为双向链表)。新增方法 public boolean add(E e) { linkLast(e); return true; } /** * Links e as last ...原创 2018-07-13 10:28:39 · 10611 阅读 · 1 评论 -
ArrayList/Vector 源码分析
ArrayList/Vector 源码分析ArrayListArrayList 实现于 List、RandomAccess 接口。可以插入空数据,也支持随机访问。ArrayList相当于动态数据,其中最重要的两个属性分别是: elementData 数组,以及 size 大小。 在调用 add() 方法的时候: /** * 向elementData中添加元素 */ ...原创 2018-07-10 15:50:42 · 412 阅读 · 0 评论 -
java多线程基础入门(二)有返回值的多线程
前言之前我们使用多线程要么是继承Thread类,要么是实现Runnable接口,然后重写一下run()方法即可。但是只有的话如果有死锁、对共享资源的访问和随时监控线程状态就不行了,于是在Java5之后就有了Callable接口。简单的实现有返回值的线程代码如下:CallableFuture类package com.test.thread;import java.util.concurrent....原创 2018-07-09 11:57:39 · 5896 阅读 · 3 评论 -
java多线程基础入门(一)
前言本文主要讲解java多线程的基础,以及一些常用方法。关于线程同步、ExecutorService框架我会放到后续的文章进行讲解。进程与线程的区别进程进程简单的来说就是在内存中运行的应用程序,一个进程可以启动多个线程。比如在windows中一个运行EXE文件就是一个进程。线程同一个线程中的进程共用相同的地址空间,同时共享进程所拥有的内存和其他资源。线程Demo-继承Thread类首先我们我们继承...原创 2018-07-09 11:37:16 · 181 阅读 · 0 评论 -
Prometheus三、
1、样本过滤 【按照标签,多个标签用逗号分割】过滤前:rule_platform_sync_success_counter_total过滤后:rule_platform_sync_success_counter_total{service="srch-rule-platform-sync-prod-prom"}注:= 精确地匹配标签给定的值 != 不等于...原创 2019-08-30 16:05:00 · 1212 阅读 · 0 评论