自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三劫散仙

有问题关注微信公众号:我是攻城师(woshigcs)

  • 博客(996)
  • 资源 (17)
  • 收藏
  • 关注

JDK8中ArrayList的工作原理剖析

ArrayList也是在Java开发中使用频率非常高的一个类,内部是基于数组的动态管理的方式来实现的。数组在内存里面是一块连续的存储空间,其优势是基于下标的随机访问和遍历是非常高效的。JDK8源码中的ArrayList类结构定义如下:[code="java"]```` class ArrayList extends AbstractList impleme...

2018-02-25 21:57:23 169

原创 Java里面关于数组拷贝的几种方式

在java里面数组拷贝有几种方式:(1)clone(2)System.arraycopy(3)Arrays.copyOf(4)Arrays.copyOfRange下面分别介绍下他们的用法:(1)clone方法是从Object类继承过来的,基本数据类型(String,boolean,char,byte,short,float,double.long)都可以直接使用clone方法进行克隆,注意Stri...

2018-02-10 20:18:11 3093

Java里面关于数组拷贝的几种方式

在java里面数组拷贝有几种方式:(1)clone(2)System.arraycopy(3)Arrays.copyOf(4)Arrays.copyOfRange下面分别介绍下他们的用法:(1)clone方法是从Object类继承过来的,基本数据类型(String,boolean,char,byte,short,flo...

2018-02-10 20:03:45 285 2

原创 如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了目前在ES5.x中备份支持的存储方式有如下几种:fs //本地挂载的盘url //网络协议存储支持http,https,ftprepository-s3 //亚马逊repository-hdfs //HDFSrepository-azure //微软repository-gcs //googl...

2018-02-09 18:33:23 3138

如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了目前在ES5.x中备份支持的存储方式有如下几种:[code="java"]````fs //本地挂载的盘url //网络协议存储支持http,https,ftprepository-s3 //亚马逊repository-hdfs //HDFSrepository...

2018-02-09 18:19:47 557

Elasticsearch5.6.4集群搭建

本次搭建的是一个三节点的集群(一)es的安装(1)下载安装包[url]https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gz[/url](2)解压到指定目录(3)进入根目录,修改config/elasticsearch.yml文件,清空内容,添加如...

2018-02-07 20:13:25 129

原创 Elasticsearch5.6.4集群搭建

本次搭建的是一个三节点的集群(一)es的安装(1)下载安装包https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gz(2)解压到指定目录(3)进入根目录,修改config/elasticsearch.yml文件,清空内容,添加如下配置cluster.na

2018-02-07 20:11:18 2900

原创 数据结构的基本概念

(一)什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。(二)为什么要了解数据结构程序的性能瓶颈往往都跟算法和数据结构有关系,简单的说,可以让你程序跑的更快(三)数据结构的逻辑结构逻辑结构是指

2018-02-01 20:18:12 270

数据结构的基本概念

(一)什么是数据结构数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。(二)为什么要了解数据结构 程序的性能瓶颈往往都跟算法和数据结构有关系,简单的说,可以让你程序跑的更快(三)数据结构的逻辑结...

2018-02-01 20:05:36 70

原创 使用位运算替代模运算

昨天的分析HashMap原理的文章里面提到,使用位运算替代取模运算效率高,但位运算只能在特定场景下才能替代%运算。正常情况下:a % b = a - (a / b)*b但如果b的值为2的n次方的时候(n为自然数),这时候就可以用位运算来替代模运算, 转化如下:a % b = a & (b-1)2的n次方的二进制如下:` 0001 2^0 1 0010

2018-01-30 21:15:11 4443

使用位运算替代模运算

昨天的分析HashMap原理的文章里面提到,使用位运算替代取模运算效率高,但位运算只能在特定场景下才能替代%运算。正常情况下:[code="java"]````a % b = a - (a / b)*b ````[/code]但如果b的值为2的n次方的时候(n为自然数),这时候就可以用位运算来替代模运算,转化如下:[code="java"]`...

2018-01-30 21:12:59 463

原创 JDK8中HashMap的工作原理剖析

在Java语言里,HashMap无疑是使用频率非常高的一个类,了解它的内部实现将有助于更好的使用它。在jdk8中的HashMap是由三种数据结构组成:数组 + ( 链表 or 红黑树 )图示如下:而在jdk8之前还只是数组+链表两种数据结构,在这里简单提下数组和链表的区别:数组优点:物理地址连续+按下标随机访问效率高O(1)缺点:插入,删除效

2018-01-29 21:59:44 1167

JDK8中HashMap的工作原理剖析

在Java语言里,HashMap无疑是使用频率非常高的一个类,了解它的内部实现将有助于更好的使用它。在jdk8中的HashMap是由三种数据结构组成:数组 + ( 链表 or 红黑树 )图示如下:[img]http://dl2.iteye.com/upload/attachment/0128/7314/a506a881-9a28-3957-a4b9-a3f60f...

2018-01-29 21:47:10 390

原创 理解Java中的hashCode 和 equals 方法

在Java里面所有的类都直接或者间接的继承了java.lang.Object类,Object类里面提供了11个方法,如下:1,clone()2,equals(Object obj)3,finalize()4,getClass()5,hashCode()6,notify()7,notifyAll()8,toString()9,wait()10,wait(long timeout

2018-01-26 19:16:16 719 1

理解Java中的hashCode和equals 方法

在Java里面所有的类都直接或者间接的继承了java.lang.Object类,Object类里面提供了11个方法,如下:[code="java"]````1,clone()2,equals(Object obj)3,finalize()4,getClass()5,hashCode()6,notify()7,notifyAll()8,toString...

2018-01-26 19:05:40 222

原创 Java程序排查问题利器之Btrace

(一)Btrace的介绍BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源。正如上面描述的一些特性,所以btrace一般是

2018-01-23 20:26:17 1154 1

Java程序排查问题利器之Btrace

(一)Btrace的介绍BTrace是Java的安全可靠的动态跟踪工具。 他的工作原理是通过 instrument + asm 来对正在运行的java程序中的class类进行动态增强,可以在不用重启的情况下监控系统运行情况,方便的获取程序运行时的数据信息,如方法参数、返回值、全局变量和堆栈信息等,并且做到最少的侵入,占用最少的系统资源。正如上面描述的一些特性,所以btr...

2018-01-23 20:13:25 155

原创 小知识之Linux系统中的最大进程数,最大文件描述,最大线程数

今天来了解一下linux里面的一些小知识:(一)Linux系统中最大可以起多少个进程?(1)32位系统中最多可以起32768个进程(2)64位系统中最多可以起2的22次方(4194304)约420万个如何查看linux系统默认的最大进程数,这里以centos7(x64)作为例子:[root@es1 ~]# cat /proc/sys/kernel/pid_max

2018-01-19 22:29:40 6059

小知识之Linux系统中的最大进程数,最大文件描述,最大线程数

今天来了解一下linux里面的一些小知识:(一)Linux系统中最大可以起多少个进程?(1)32位系统中最多可以起32768个进程(2)64位系统中最多可以起2的22次方(4194304)约420万个如何查看linux系统默认的最大进程数,这里以centos7(x64)作为例子:[code="java"]````[root@es1 ~...

2018-01-19 22:16:15 755

原创 理解Java里面的jvm,jre,jdk的区别和联系

有时候越是基础的问题,越是容易被我们忽视,比如标题上的问题,感觉挺简单,但真正让解释一下,未必能够说的很清楚,其实这个问题在Oracle官网的Java的文档里面解释的非常清晰,看官网下面的一张图:先解释下几个名词的意思:(一)JVM(Java Virtual Machine ):Java虚拟机主要负责将class文件也就是bytecode编码解释为机器能够识别的010101类似的编码,然后执行程序

2018-01-17 20:00:07 632

理解Java里面的jvm,jre,jdk的区别和联系

有时候越是基础的问题,越是容易被我们忽视,比如标题上的问题,感觉挺简单,但真正让解释一下,未必能够说的很清楚,其实这个问题在Oracle官网的Java的文档里面解释的非常清晰,看官网下面的一张图: [img]http://dl2.iteye.com/upload/attachment/0128/5786/1483e43a-3fec-390c-8ce3-c7ec0ed01054.jpg[...

2018-01-17 19:57:51 265

原创 Nginx配置的一些小功能

前面的文章,已经介绍了Nginx的作用以及Nginx的安装,本篇文章我们来看几个实际的小例子,来对Nginx进一步加深了解。(一)Nginx一些常用的配置介绍//nginx运行的用户,一般不要设置成rootuser nginx //工作进程,通常等于cpu的数量worker_processes 1;//全局错误日志定义类型,[ debug | info | notice

2018-01-12 21:30:05 351

Nginx配置的一些小功能

前面的文章,已经介绍了Nginx的作用以及Nginx的安装,本篇文章我们来看几个实际的小例子,来对Nginx进一步加深了解。(一)Nginx一些常用的配置介绍[code="java"]````//nginx运行的用户,一般不要设置成rootuser nginx //工作进程,通常等于cpu的数量worker_processes 1;//全局错...

2018-01-12 21:28:36 179

原创 Scala里面的排序函数的使用

排序方法在实际的应用场景中非常常见,Scala里面有三种排序方法,分别是: sorted,sortBy ,sortWith分别介绍下他们的功能:(1)sorted对一个集合进行自然排序,通过传递隐式的Ordering(2)sortBy对一个属性或多个属性进行排序,通过它的类型。(3)sortWith基于函数的排序,通过一个comparator

2018-01-09 20:22:16 28900 3

Scala里面的排序函数的使用

排序方法在实际的应用场景中非常常见,Scala里面有三种排序方法,分别是:sorted,sortBy ,sortWith 分别介绍下他们的功能:(1)sorted对一个集合进行自然排序,通过传递隐式的Ordering(2)sortBy对一个属性或多个属性进行排序,通过它的类型。(3)sortWith基于函数的排序,通过一个comp...

2018-01-09 20:20:10 1502

原创 在Scala里面如何使用元组

元组在Scala语言中是一种十分重要的数据结构,类似数据库里面的一行记录(row),它可以将不同类型的值组合成一个对象,在实际应用中十分广泛。先来看一个简单的tuple定义:val tuple=("张三",25)//定义一个tupleval (name,age)=("张三",25)//变量绑定模式上面的第二种例子中,可以直接通过name和age来访问单个tuple的元素

2018-01-08 22:07:33 3684

在Scala里面如何使用元组

元组在Scala语言中是一种十分重要的数据结构,类似数据库里面的一行记录(row),它可以将不同类型的值组合成一个对象,在实际应用中十分广泛。先来看一个简单的tuple定义:[code="java"]```` val tuple=("张三",25)//定义一个tupleval (name,age)=("张三",25)//变量绑定模式````[/code]...

2018-01-08 22:05:41 1072

原创 Spark如何读取一些大数据集到本地机器上

最近在使用spark处理分析一些公司的埋点数据,埋点数据是json格式,现在要解析json取特定字段的数据,做一些统计分析,所以有时候需要把数据从集群上拉到driver节点做处理,这里面经常出现的一个问题就是,拉取结果集过大,而驱动节点内存不足,经常导致OOM,也就是我们常见的异常:java.lang.OutOfMemoryError: Java heap space这种写法的代码一般

2018-01-04 21:19:54 4872

Spark如何读取一些大数据集到本地机器上

最近在使用spark处理分析一些公司的埋点数据,埋点数据是json格式,现在要解析json取特定字段的数据,做一些统计分析,所以有时候需要把数据从集群上拉到driver节点做处理,这里面经常出现的一个问题就是,拉取结果集过大,而驱动节点内存不足,经常导致OOM,也就是我们常见的异常:[code="java"]```` java.lang.OutOfMemoryError: Ja...

2018-01-04 21:07:09 984 1

原创 使用Spark SQL的临时表解决一个小问题

最近在使用spark处理一个业务场景时,遇到一个小问题,我在scala代码里,使用spark sql访问hive的表,然后根据一批id把需要的数据过滤出来,本来是非常简单的需求直接使用下面的伪SQL即可:select * from table where id in (id1,id2,id3,id4,idn)但现在遇到的问题是id条件比较多,大概有几万个,这样量级的in是肯定会出错的

2017-12-28 18:29:24 13848 1

使用Spark SQL的临时表解决一个小问题

最近在使用spark处理一个业务场景时,遇到一个小问题,我在scala代码里,使用spark sql访问hive的表,然后根据一批id把需要的数据过滤出来,本来是非常简单的需求直接使用下面的伪SQL即可:[code="java"]````select * from table where id in (id1,id2,id3,id4,idn)````[/code]...

2017-12-28 18:27:59 2431

原创 Spark任务两个小问题笔记

今天在用spark处理数据的时候,遇到两个小问题,特此笔记一下。两个问题都与网络交互有关,大致处理场景是,在driver端会提前获取组装一批数据,然后把这些数据发送executor端进行后续处理。问题一:序列化异常driver有一个case class类需要封装一些数据发送到executor上,原来都是scala的类,直接发送到executor上执行没问题,而且也没加序列化

2017-12-26 19:53:47 3098

Spark任务两个小问题笔记

今天在用spark处理数据的时候,遇到两个小问题,特此笔记一下。两个问题都与网络交互有关,大致处理场景是,在driver端会提前获取组装一批数据,然后把这些数据发送executor端进行后续处理。问题一:序列化异常driver有一个case class类需要封装一些数据发送到executor上,原来都是scala的类,直接发送到executor上执行没问...

2017-12-26 19:52:55 178

原创 Spark中foreachPartition和mapPartitions的区别

spark的运算操作有两种类型:分别是Transformation和Action,区别如下:Transformation:代表的是转化操作就是我们的计算流程,返回是RDD[T],可以是一个链式的转化,并且是延迟触发的。Action:代表是一个具体的行为,返回的值非RDD类型,可以一个object,或者是一个数值,也可以为Unit代表无返回值,并且action会立即触发job的执行。

2017-12-25 21:31:58 20871 2

Spark中foreachPartition和mapPartitions的区别

spark的运算操作有两种类型:分别是Transformation和Action,区别如下:Transformation:代表的是转化操作就是我们的计算流程,返回是RDD[T],可以是一个链式的转化,并且是延迟触发的。Action:代表是一个具体的行为,返回的值非RDD类型,可以一个object,或者是一个数值,也可以为Unit代表无返回值,并且action会立...

2017-12-25 21:19:47 1284

原创 理解正常代理与反向代理的区别

我们介绍了Nginx主要用来做反向代理,可能有些朋友并不很清楚什么是反向代理,本篇文章会介绍下反向代理和正向代理的不同之处:(一)正向代理正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从原始服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转交并且将获得的内容返回给客户端。正向代理的情况下客户端必须要进行一些特别的设置

2017-12-21 10:08:11 1005

原创 理解正常代理与反向代理的区别

[url]http://blog.csdn.net/u010454030/article/details/78860412[/url]

2017-12-21 09:57:45 134

原创 Nginx入门介绍与安装

Nginx是什么?Nginx是俄罗斯人编写的十分轻量级的HTTP和反向代理服务器。发音:"engine X"Nginx能干什么?(1)Http反向代理Nginx 支持正则表达式以区分静态资源或者动态资源,提供性能稳定,并且能够提供配置灵活的转发功能。 ,其中动态资源可以进一步转发给后端的 Proxy Server, 而静态资源则可以在 Nginx 层面使用本地缓存策

2017-12-20 21:50:31 589

Nginx入门介绍与安装

### Nginx是什么?Nginx是俄罗斯人编写的十分轻量级的HTTP和反向代理服务器。发音:"engine X"### Nginx能干什么?#### (1)Http反向代理Nginx 支持正则表达式以区分静态资源或者动态资源,提供性能稳定,并且能够提供配置灵活的转发功能。,其中动态资源可以进一步转发给后端的 Proxy Server, 而静态资源则可...

2017-12-20 21:38:10 101

原创 给centos重新安装yum的base-repo源

如果自己的centos的系统yum源出现问题了,如何才能修复?方式一:使用国内的阿里云镜像(1)把/etc/yum.repos.d/下面所有的源给删除掉了(2)下载镜像# CentOS 5wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo# Ce

2017-12-14 21:19:19 45527 1

protobuf-2.5.0.tar.gz

Hadoop2.x安装必须的通信包,google的protobuf协议,google官网已经下载不了了,特地传到此处,供大家使用! 在编译hadoop的时候,是必须要安装这个的,否则编译会失败的

2015-06-24

hadoop插件

基于Hadoop2.2的稳定版本的,eclipse插件,大家以后可以更方便的调试Hadoop程序了。

2013-12-17

luke4.6工具

luke4.6查看索引工具,最新版lucene的查看工具,本人测试过,可以正常使用!

2013-12-05

eclipse插件

hadoop1.2.0的eclipse插件,笔者经过测试可以完美运行,对于刚学习hadoop1。x的同学们,是一份不可多得的好资料。

2013-11-10

luke4.5的jar包

luke4.5的索引查看工具,最新版lucene的索引查看工具,用4.x版本的lucene的朋友们,可以使用luke4.5方便的查看,修改,更新索引了,支持4.5之前的所有lucene索引,有需要的朋友们,下载吧,LZ测试过,可以正常使用。

2013-10-29

Access驱动

jdbc Access驱动,兼容处理03,07+的Access,的增删改查。值得下载

2013-09-23

lucene4.3工具类

lucene4.3增删改查的的一个工具类,对新手来说是一份不可多得的入门资料。

2013-08-15

luke4.4索引查看工具

关于全文检索的最新版Lucene4.4,solr4.4的索引查看工具,新项目的开发的朋友们,可以下载下来,方便查询索引结构。

2013-08-15

向LUCENE搜索引擎中加人中文同义词查询

介绍lucene同义词库的使用,想使用lucene同义词的朋友们,如果不知道原理的可以看下。

2013-08-08

lucene的索引工具

lucene的最新版本的索引查看工具,支持4.x以上的索引查看,分析,非常方便调试,官网只能支持到4.0,本工具支持最新的lucene及solr的4.3版本。

2013-07-18

solr各个热点功能详解

详细介绍了solr中,各个功能的UI页面的使用,以及使用solrj操作solr的代码,比较全面的总结了solr的各个功能点。是不可多得的好资料!

2013-07-11

solr4.3的IK分词器

最新版solr4.3的IK分词器,中文分词效果良好!对付一般的大众分词没有问题

2013-06-25

solrcold与zk集群

关于solr4.3solrcloud与zk+tomcat6.x集群,详细描述。

2013-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除