- 博客(12)
- 收藏
- 关注
原创 splunk
1. IntroductionOverviewA data platform built for expansive data access, powerful analytics and automation.Splunk PlatformSplunk Enterprise: Search, analysis and visualization for actionable insights from all of your dataSplunk Cloud: petabyte-s
2022-09-13 10:58:08
348
原创 JVM:四、类文件结构解析
虚拟机的语言无关性靠的是字节码来实现的,虚拟机不和包括Java在内的任何语言绑定,只和“Class文件”绑定,Java,Jruby,Groovy程序经过各自的编译器形成字节码文件(.class)或叫做类文件。虚拟机处理类文件。类文件结构主要包括以下几部分:Class文件版本 + 常量池 + 访问标志 + 类索引父类索引接口索引集合 + 字段表 + 方法表 + 属性表1. 类文件结构常量池...
2018-11-15 00:43:24
533
1
原创 git上克隆的项目在idea里打开为什么没有项目目录?
idea无法显示项目的目录? 这个问题可能很多人遇到了,在这做个小结,导致这个问题的原因可能是因为克隆下来的项目没有Module(即没有.iml文件)导致idea无法识别,在这先说一下如何解决,之后再做一个分析。步骤如下,就不放图了:file => project structure => Modules => '+' => import modu...
2018-08-19 22:36:04
19127
5
原创 多线程:线程池的原理和使用解析
目录1,线程池相关的类接口(类)及其关系2,线程池的实现原理(即任务的处理流程)3,线程池的几种创建方式4,使用线程池提交任务5,关闭线程池1,线程池相关的类接口(类)及其关系 ThreadPoolExecutor作为线程池的主要实现类,在线程池的创建和使用中都起到了很大的作用,ThreadPoolExecutor的构造方法如下:public Threa...
2018-03-09 00:48:07
753
1
原创 多线程:synchronized关键字解析
原理synchronized是JVM层面的锁,是一种重量级的锁。synchronized可以同步方法和代码块。public class Synchronized { public static void main(String[] args) { // 对Synchronized Class对象进行加锁 synchronized (Synchronized...
2018-03-04 14:25:27
1586
原创 JVM:三、垃圾回收器与内存分配简介
目录: 对象已死吗?垃圾回收算法垃圾收集器内存分配与回收策略对象已死吗?如何判断对象已经死了呢,如下:1. 引用计数算法 引用计数算法给对象添加一个引用计数器,每当一个地方引用它是时,计数值就增加一;当引用失效时,计数值就建一,技术器为0的对象不可能在被使用。但是主流的JVM里没有使用它的,原因是他很难解决对象之间互相循环引用...
2018-03-03 23:00:04
524
原创 多线程:volatile关键字解析
volatile主要的作用就是保证变量的可见性,使用volatile修饰的变量每次修改后会立刻从缓存行刷回主内存,也会使已经加载的失效,所以每次获取的时候都是最新的,但是不能保证原子性。另外一点就是可以防止指令重排序。一. volatile多线程可见性如下代码:public class PrintStringA { private boolean isContinuePrin...
2018-03-02 00:20:10
370
原创 Elasticsearch:分布式集群时增删改查是如何实现的?
Elasticsearch集群时增删改查是如何实现的?本文不介绍ES API的如何使用,而是简单记录一下从一个请求发出后,elasticsearch服务器上的各个节点(或分片)是如何进行工作的。Elasticsearch分布式集群(图片来自网络)首先了解一下es集群中三个名词:cluster(集群):一个节点(node)就是一个elasticsearch实例;一个集群可有一个或多个节点,他们的cl...
2018-02-25 22:31:46
583
原创 Elasticsearch:Aggregation聚合的使用
Elasticsearch:Aggregation聚合的使用聚合函数(Aggregation) Elasticsearch做查询时,有一些查询满足不了我们的查询条件,这时候就需要aggregation函数,聚合函数中有两个非常重要的语法,桶(Bucket)和指标(Metric)。Bucket可以定义文档集合,可以定义一个或多个,或者在集合中嵌套着定义集合;而Metric也称为计算度量,是以从...
2018-02-24 23:40:31
6306
原创 JVM:二、堆中对象的创建及访问
1. 对象的创建在Java的堆中,对象(此处的对象指的是普通对象,不包括数组和类对象)创建过程,例如克隆,反序列化如下。虚拟机得到一条新指令时,首先检查这个指令的参数是否能够在常量池中定位到一个类的符号引用,并检查这个符号引用代表的类是否已经加载,解析和初始化过。如果没有那必须先执行类加载过程。在类加载检查(检查时异常会在这检查出)通过后,就需要给对象分配内存空间,这个空间...
2018-02-24 09:56:24
615
原创 JVM:一、运行时数据区域
概述Java的虚拟机使Java的成为了一种跨平台的语言,Java的不直接与操作系统接触,而是通过虚拟机这个中间桥梁,通过JVM与底层接触。不同的系统有不同的JVM,但是所有的这些JVM都完美的支持Java语法,这就使得write once,run everywhere成为可能。除此之外,JVM的内存管理机制使得不需要再为每一个新的操作去删除/免费代码,由机器代替程序员这样就...
2018-02-22 23:48:58
14844
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人