自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程裕强的专栏

学习笔记(1.01^365=37.78,0.99^365=0.025)

  • 博客(43)
  • 资源 (7)
  • 论坛 (5)

原创 Java设计模式之观察者模式(发布/订阅模式)

1、概述观察者模式又称为发布/订阅(Publish/Subscribe)模式观察者设计模式涉及到两种角色:主题(Subject)和观察者(Observer)(1)Subject模块 Subjec模块有3个主要操作addObserver():注册添加观察者(申请订阅)deleteObserver():删除观察者(取消订阅)notifyObserver():主题状态发生变化时通...

2018-01-31 21:28:35 16115 3

原创 Eclipse导入Web项目 src、web、css、js等变成包解决办法

1.问题描述git克隆下来一个普通的Java web项目[root@hadron hadron]# git clone -b kylin git@192.168.1.2:hadron/web_store.git然后Eclipse导入该web项目产生异常,整个项目成为Java Resources的子目录,src变成了包,jsp web页面,css,javascript等也变成了包。

2018-01-29 15:06:48 3624

原创 简单理解Zookeeper的Leader选举

Leader选举是保证分布式数据一致性的关键所在。Leader选举分为Zookeeper集群初始化启动时选举和Zookeeper集群运行期间Leader重新选举两种情况。在讲解Leader选举前先了解一下Zookeeper节点4种可能状态和事务ID概念。1、Zookeeper节点状态LOOKING:寻找Leader状态,处于该状态需要进入选举流程LEADING:领导者状态,处于该状

2018-01-28 22:06:39 20679 16

原创 Zookeeper中的分布式一致性协议ZAB

1、Zab 协议在分布式系统中实现一致性是件困难的事。 Paxos 算法可以较好的解决分布式系统的一致性,但由于复杂,在实际工程上不是很合适。 ZAB(ZooKeeper Atomic Broadcast ) 协议借鉴了 Paxos 的思想,ZAB在Paxos算法上做了重要改造,和Paxos有着明显的不同,以满足工程上的实际需求。有序性是 Zab 协议与 Paxos 协议的一个核心区别

2018-01-28 21:15:38 1177

原创 ZooKeeper典型应用

参考了:https://www.jianshu.com/p/84ad63127cd11、CAP定理1.1 CAP定理分布式系统最多只能满足C(Consistency一致性)、A(Available可用性)、P(Partition tolerance分区容错性)三个特性中的两个,不能同时满足三个。1.2 最终一致性在目前的分布式系统中,P(分区容错性)是必须要实现

2018-01-28 17:32:23 413

原创 Java IO流处理 面试题汇总

说明:本节内容来源于网络汇总输入输出流是相对于内存而言的!1、面试题汇总(1)java中有几种类型的流?字符流和字节流。字节流继承inputStream和OutputStream,字符流继承自InputSteamReader和OutputStreamWriter。(2)谈谈Java IO里面的常见类,字节流,字符流、接口、实现类、方法阻塞答:输入流就...

2018-01-27 22:17:36 47793 5

原创 基于Lock+Condition实现生产者消费者模式

package demo;import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;...

2018-01-27 17:47:00 667

原创 Java Lock机制解读

1、synchronizedsynchronized是Java语言内置的特性,用来实现对资源的同步访问以及用wait和notify来实现线程间通信。如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁。 存在问题:那么如果这个获取锁的线程由于要等待IO或者其他原因(比如调用sleep方法)被阻塞了,但是又没

2018-01-27 16:20:11 3416

原创 Java join线程最简单例子

1、普通多线程package demo;public class JoinThread extends Thread { public JoinThread(String name){ super(name); } @Override public void run(){ for(int i=0;i100;i++){

2018-01-27 11:22:06 218

原创 Java多线程3种实现方式

1、继承Thread类package demo;public class FirstThread extends Thread{ private String name; // 定义name属性 public FirstThread(String name) { this.name = name; } public void run()

2018-01-26 11:47:52 248

原创 Java HashSet源码分析

1、源码分析废话不多说,直接上代码,相关解释请参见注释package java.util;/** * * @param <E> the type of elements maintained by this set * * @see Collection * @see Set * @see TreeSet * @see Ha...

2018-01-26 10:37:34 275

转载 Hadoop Map中如何处理跨行Block和InputSplit

比如对于那么对于一个记录行形式的文本大于128M时,HDFS将会分成多块存储(block),同时分片并非到每行行尾。这样就会产生两个问题 1. Hadoop的一个Block默认是128M,那么对于一个记录行形式的文本,会不会造成一行记录被分到两个Block当中? 2. 在把文件从Block中读取出来进行切分时,会不会造成一行记录被分成两个InputSplit,如果被分成两个InputSplit...

2018-01-24 22:41:54 881 2

转载 Kafka原理框架汇总

Kafka拓扑结构1.producer:   消息生产者,发布消息到 kafka 集群的终端或服务。 2.broker:   kafka 集群中包含的服务器。 3.topic:   每条发布到 kafka 集群的消息属于的类别,即 kafka 是面向 topic 的。 4.partition:   partition 是物理上的概念,每个 topic 包含一个或多个 part...

2018-01-24 15:08:39 615

转载 Flume框架原理

Flume的架构主要有一下几个核心概念:Event:一个数据单元,带有一个可选的消息头 Flow:Event从源点到达目的点的迁移的抽象 Client:操作位于源点处的Event,将其发送到Flume Agent Agent:一个独立的Flume进程,包含组件Source、Channel、Sink Source:用来消费传递到该组件的Event Channel:中转Event的一个临

2018-01-24 14:37:50 544

原创 命令修改副本数:hadoop fs -setrep

1、hadoop fs -setrepsetrepUsage: hadoop fs -setrep [-R] [-w] Changes the replication factor of a file. If path is a directory then the command recursivelychanges the replication factor of all

2018-01-23 14:31:21 7910 3

原创 Linux safe-rm

1、下载(1)下载[root@node0 ~]# wget https://launchpad.net/safe-rm/trunk/0.12/+download/safe-rm-0.12.tar.gz(2)解压缩[root@node0 ~]# tar -zxvf safe-rm-0.12.tar.gz -C /optsafe-rm-0.12/safe-rm-0.12/INSTA

2018-01-23 11:19:05 749 1

转载 HBase rowkey设计案例

hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+qualifier),timestamp(时间戳)三部分组成的三维有序存储。rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据。所以 rowkey的设计是至关重要的,关系到你应用层的查询效率。rowkey是以字典顺序排序的,存...

2018-01-22 22:44:14 3472 2

原创 ElasticSearch 6.x 学习笔记:25.Java API之索引管理

25.1 判定索引是否存在package cn.hadron;import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse;import org.elasticsearch.client.IndicesAdminClient;import org.elasticsearch.cl

2018-01-21 23:02:20 5058 5

原创 ElasticSearch 6.x 学习笔记:24.Java API连接Elasticsearch

24.1 实例演示package cn.hadron;import java.net.InetAddress;import java.net.UnknownHostException;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.client.transport.TransportC

2018-01-20 22:51:39 9612 9

原创 ElasticSearch 6.x 学习笔记:23.Java API之Maven项目

23.1 创建maven项目(1)新建工程项目 (2)选择maven类型 (3)输入名称 (4)确认maven安装路径 (5)项目路径 (6)构建maven工程 (7)构建完成 23.2 编辑pom.xml参考官网,编写pom.xml https://www.elastic.co/guide/en/elasticsearch/client/j

2018-01-20 21:47:57 6095

原创 ElasticSearch 6.x 学习笔记:22.桶聚合

为了满足桶聚合多样性需求,修改文档如下。DELETE my-indexPUT my-indexPUT my-index/persion/1{ "name":"张三", "age":27, "gender":"男", "salary":15000, "dep":"bigdata"}PUT my-index/persion/2{ "name":"李四"

2018-01-19 23:16:51 5887

原创 ElasticSearch 6.x 学习笔记:21.指标聚合

https://www.elastic.co/guide/en/elasticsearch/reference/6.1/search-aggregations-metrics.html为了方便聚合统计,增加两条文档PUT my-index/persion/5{ "name":"程裕强", "age":28, "salary":10000}PUT my-index/pe

2018-01-19 14:57:13 2026

原创 ElasticSearch 6.x 学习笔记:20.搜索排序

20.1 按照文档添加顺序排序GET website/_searchGET website/_search{ "query": { "match_all": {} }}20.2 按照文档相关度评分排序GET website/_search{ "query": { "term": { "title": { "value

2018-01-19 14:31:01 3850

原创 ElasticSearch 6.x 学习笔记:19.搜索高亮

19.1 高亮概述参照官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/6.1/search-request-highlighting.htmlHighlighters enable you to get highlighted snippets from one or more fields in your sea

2018-01-19 10:41:05 6948 2

原创 ElasticSearch 6.x 学习笔记:18.复合查询

【这一节先占个坑,后面再更新】https://www.elastic.co/guide/en/elasticsearch/reference/6.1/compound-queries.htmlCompound queries wrap other compound or leaf queries, either to combine their results and scores, to

2018-01-18 22:13:06 2890 3

原创 ElasticSearch 6.x 学习笔记:17.词项查询

17.1 词项查询介绍词项查询官网: https://www.elastic.co/guide/en/elasticsearch/reference/6.1/term-level-queries.htmlWhile the full text queries will analyze the query string before executing, the term-level qu

2018-01-17 23:14:19 2478

原创 ElasticSearch 6.x 学习笔记:16.全文检索

ElasticSearch 6.x 全文检索相关内容官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/6.1/full-text-queries.htmlThe high-level full text queries are usually used for running full text queries on

2018-01-17 11:17:30 5904 4

原创 ElasticSearch 6.x 学习笔记:15.检索入门

15.1 准备数据[es@node1 ~]$ vi website.json [es@node1 ~]$ cat website.json{ "index":{ "_index": "website", "_type": "blog", "_id": "1" }}{ "title": "Ambari源码编译","author":"程裕强","postdate":"2016-12-2

2018-01-17 10:51:42 3403

原创 ElasticSearch 6.x 学习笔记:14.mapping参数

14.1 mapping参数概述官方文档 https://www.elastic.co/guide/en/elasticsearch/reference/6.1/mapping-params.html ElasticSearch提供了丰富的映射参数对字段的映射进行参数设计,比如字段的分词器、字段权重、日期格式、检索模型等等。14.2 analyzerhttps://www.el

2018-01-14 22:33:25 5296 3

原创 ElasticSearch 6.x 学习笔记:13.mapping元字段

13.1 元数据概述mapping元字段官网文档 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html#_document_source_meta_fieldsmapping元字段是mapping映射中描述文档本身的字段,大致可以分为文档属性元数据、文档元数据、索引元数据、路

2018-01-13 22:25:47 4466 3

原创 ElasticSearch 6.x 学习笔记:12.字段类型

12.1 字段类型概述 一级分类 二级分类 具体类型 核心类型 字符串类型 string,text,keyword 整数类型 integer,long,short,byte 浮点类型 double,float,half_float,scaled_floa

2018-01-12 23:03:45 31648 1

原创 ElasticSearch 6.x 学习笔记:11.映射Mapping

11.1 Mapping概述前文已经把ElasticSearch的核心概念和关系数据库做了一个对比,索引(index)相当于数据库,类型(type)相当于数据表,映射(Mapping)相当于数据表的表结构。ElasticSearch中的映射(Mapping)用来定义一个文档,可以定义所包含的字段以及字段的类型、分词器及属性等等。映射可以分为动态映射和静态映射。 (1)动态映射 我们知道

2018-01-12 22:14:38 15270

原创 Linux系统下命令卸载删除vmware

(0)卸载命令直接执行命令:vmware-installer -u vmware-workstation[root@hadron ~]# vmware-installer -u vmware-workstation(1)关闭(2)是否删除配置(3)开始卸载(4)卸载完成

2018-01-12 15:15:45 13375 1

原创 快速排序及其改进算法Java实现

import java.util.Random;public class Main { //输出数组 public static void show(int[] a){ for(int i:a) System.out.print(i+" "); System.out.println(); } //交换元素

2018-01-10 22:33:20 433

原创 常见排序算法Java实现

package test;public class SortDemo { /** * 输出数组 * @param a */ public static void show(int[] a){ for(int i:a){ System.out.print(i+" "); } S

2018-01-10 11:34:40 275

原创 ElasticSearch 6.x 学习笔记:10.批量操作

10.1 Bulk API如果文档数量非常庞大,商业运维中都是海量数据,一个一个操作文档显然不合实际。幸运的是ElasticSearch提供了文档的批量操作机制。我们已经知道mget允许一次性检索多个文档,ElasticSearch提供了Bulk API,可以执行批量索引、批量删除、批量更新等操作,也就是说Bulk API允许使用在单个步骤中进行多次 create 、 index 、 update

2018-01-09 15:32:46 3746

原创 ElasticSearch 6.x 学习笔记:9.版本控制

9.1 冲突处理如果两个线程同时修改一个文档,这时就会发生冲突。比如某件商品存货100件,用户1下单买走1件,剩余99件;与此同时用户2也下单买走1件,但是用户2不知道用户1已经下单,看到剩余商品仍然是99件。这样造成系统中显示商品总数比实际数量要多,这种情况在商业系统中肯定是不能容忍的。 在数据库领域中,有两种方法通常被用来确保并发更新时变更不会丢失: 1、悲观并发控制 这种方法被关系型数据

2018-01-09 14:58:25 3347

原创 ElasticSearch 6.x 学习笔记:8.路由机制

PUT blog/csdn/3?routing=chengyuqiang{ "id":3, "title":"Java简介", "author":"chengyuqiang", "content":"Oracle Java"}{ "_index": "blog", "_type": "csdn", "_id": "3", "_version": 1, "res

2018-01-09 11:43:04 3274 1

原创 ElasticSearch 6.x 学习笔记:7.文档

7.1 新建文档index/type/id(1)一般格式PUT blog/csdn/1{ "id":1, "title":"Elasticsearch简介", "author":"chengyuqiang", "content":"Elasticsearch是一个基于Lucene的搜索引擎"}{ "_index": "blog", "_typ

2018-01-09 10:13:18 5580 5

原创 ElasticSearch 6.x 学习笔记:6.索引

6.1 创建索引(1)简单方式PUT test{ "acknowledged": true, "shards_acknowledged": true, "index": "test"}(2)索引名不能包含大些字母PUT Test (3)重复创建PUT test(4)指定参数PUT blog{ "settings": { "number_of_shards": 3,

2018-01-09 09:32:32 8501 2

小巧的屏幕调节软件flux

推荐一款非常好用的小巧的屏幕调节软件flux,可以按照当地时间自动调节屏幕亮度。 友情提示,由于google地图的数据不可用,建议直接输入本地经纬度即可, 比如北京输入:40N,116E 比如上海输入:31N,161E

2019-08-10

OraClient Lite Setup.7z

Oracle客户端精简版,安装PL/SQL Developer的必备软件。

2019-08-10

基于elasticsearch 6.x的新闻搜索项目代码

基于elasticsearch 6.x的新闻搜索项目代码,SpringBoot2.x项目形式,使用Java High Level REST Client。包含了WebMagic爬虫程序

2019-07-17

Xftp6官方个人版

Xftp6官方个人版,免费版,配合XShell6使用。 也可以到官网下载https://www.netsarang.com/download/free_license.html

2018-11-11

Xshell 6 官方个人版

Xshell 6 官方个人版。也可以直接去官方网址注册下载https://www.netsarang.com/download/free_license.html

2018-11-11

hibernate5+spring4+springmvc+maven基本框架整合样例代码

hibernate5+spring4+springmvc+maven基本框架整合样例代码

2018-07-13

XShell免费版

最新版的XShell取消了学校免费授权。只好切换到之前的版本, 安装时请选择学校版,不要选择商业版。永久免费。

2018-07-13

程裕强的留言板

发表于 2020-01-02 最后回复 2020-07-20

求助--junit 的安装配置(转)

发表于 2007-11-11 最后回复 2016-06-03

娘,好女子也!

发表于 2007-10-28 最后回复 2007-11-04

爱(转)

发表于 2007-10-28 最后回复 2007-10-29

爱 罗伊.克里夫特 [爱尔兰】

发表于 2007-10-28 最后回复 2007-10-28

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