自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (10)
  • 收藏
  • 关注

转载 ElasticSearch java API - 聚合查询

以球员信息为例,player索引的player type包含5个字段,姓名,年龄,薪水,球队,场上位置。index的mapping为:[plain] view plain copy"mappings": {      "quote": {          "properties": {              "adj

2017-10-15 17:59:12 2580

转载 elasticsearch 编程api 1

https://www.elastic.co/guide/en/elasticsearch/client/java-api/index.html    我这里,elasticsearch用的是2.4.X版本。    https://www.elastic.co/guide/en/elasticsearch/client/java-

2017-10-15 17:29:53 773

转载 elasticsearch 编程api 2

我们继续。     test13测试(查询类型searchType)https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-request-search-type.htmlElasticsearch之四种查询类型和搜索原理(博主推荐) 1 package zh

2017-10-15 17:28:51 821

原创 elasticsearch使用心得

1、分页搜索中from/size:搜索请求一次请求最大量为[10000]。我们的请求量已经超标,因此报错,异常信息提示我们请求大数据量的情况下使用Scroll API。2、scroll api   可以获取所有的文档信息,而from/size有数量限制3、

2017-10-14 23:30:16 276

转载 Redis的快照与AOF

我们知道,redis的数据是保存在内存里,而内存一断电就没了,所以为了数据持久化,我们得想办法把内存中的数据持久化到硬盘或者另一台机子上。先说本地持久化到硬盘,这就有两种方式,一是快照(snapshotting),二是只追加文件(append-only file AOF)快照快照的核心原理就是把redis在某个时间内存内的所有数据都写入硬盘,那么什么时候写入呢?快照的配置都有哪

2017-10-13 11:26:05 226

转载 Elasticsearch之四种查询类型和搜索原理

Elasticsearch Client发送搜索请求,某个索引库,一般默认是5个分片(shard)。  它返回的时候,由各个分片汇总结果回来。          官网APIhttps://www.elastic.co/guide/en/elasticsearch/client/java-api/2.4/inde

2017-10-12 18:43:57 34479 3

转载 API安全设计

一、简述安全是恒久的话题,如果不注意防范,会带来很严重的后果。比如:1.接口被大规模调用消耗系统资源,影响系统的正常访问,甚至系统瘫痪2.数据泄露3.伪造(篡改)数据,制造垃圾数据4.App被仿制…那么我们设计API时,就要保证RESTful API的安全性,主要包括三大方面:a) 对受限资源的登录授权b) 对请求做身份认证,

2017-10-12 18:10:12 1412

转载 Elasticsearch与Solr

Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。

2017-10-12 10:07:52 226

转载 MYSQL MVCC 实现机制

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容)       在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirt

2017-10-10 22:57:37 257

转载 网络七层协议

应用层与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。表示层这一层的主要功能是定义数据格式及加密。例

2017-10-10 18:38:32 210

转载 分布式事物

问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单

2017-10-10 17:15:59 495

转载 mysql哪些情况下索引会失效

索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因)    注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引  2.对于多列索引,不是使用的第一部分,则不会使用索引  3.like查询是以%开头  4.如果列类型是字符串,那一定要在条件中将数据使用引号

2017-10-10 16:19:05 595

转载 redis 五种数据类型的使用场景

String[html] view plain copy  1、String  常用命令:  除了get、set、incr、decr mget等操作外,Redis还提供了下面一些操作:  获取字符串长度  往字符串append内容  设置和获取字符串的某一段内容  设置及获取字符串的某一位(bit)  批量

2017-09-26 23:32:29 138

转载 Redis过期策略 实现原理

我们在使用Redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。1.redis设置过期时间:    expire key time(以秒为单位)--这是最常用的方式    setex(String key, int seconds, String val

2017-08-06 18:37:21 437

转载 Dubbo各种协议

1、dubbo协议Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。Dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。dubbo:protocol name="dubbo" port="20880" />设置默认协议:dubbo:provider protoc

2017-08-06 17:50:51 428

转载 MySQL的语句执行顺序

MySQL的语句执行顺序MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。下面我们来具体分析一下查询处理的每一个阶

2017-08-06 10:40:36 181

原创 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。一、MyBatis的框架设计        注:上图很大程度上参考了iteye 上的chenjc_it   所写的博文原理分析之二:框

2017-07-29 12:06:55 246

转载 《深入理解mybatis原理》 Mybatis数据源与连接池

对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题。本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池。    本文首先会讲述MyBatis的数据源的分类,然后会介绍数据源是如何加载和使用的。紧接着将分类介绍UNPOOLED、POOLED和JNDI类型的数据源组织;期间我们会重点讲解POOLED类型的数据源和其实现的

2017-07-29 10:17:39 197

转载 通过JDBC进行简单的增删改查(以MySQL为例)

目录前言:什么是JDBC一、准备工作(一):MySQL安装配置和基础学习二、准备工作(二):下载数据库对应的jar包并导入三、JDBC基本操作(1)定义记录的类(可选)(2)连接的获取(3)insert(4)update(5)select(6)delete四、测试五、代码分析六、思考问题

2017-07-28 18:32:17 257

转载 zookeeper原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2017-07-28 15:00:15 396

原创 研究点

1、mybatis原理2、jdbc实现过程3、xss攻击预防4、tomcat实现原理5、多线程6、zookeeper原理7、redis

2017-07-25 22:56:47 327

转载 @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常

Spring 统一异常处理有 3 种方式,分别为:使用 @ ExceptionHandler 注解实现 HandlerExceptionResolver 接口使用 @controlleradvice 注解使用 @ ExceptionHandler 注解使用该注解有一个不好的地方就是:_进行异常处理的方法必须与出错的方法在同一个Controller里面。_ 使用如下:@C

2017-07-20 15:17:33 280

转载 Redis Cluster实现原理

Redis是一个内存数据库,也就是说存储数据的容量不能超过主机内存大小。普通主机服务器的内存一般几十G,但是我们需要存储大容量的数据(比如上百G的数据)怎么办? redis3.0版本以上开始支持cluster,他可以把多个redis实例整合在一起,形成一个集群,也就是将数据分散到集群的多台机器上。但是该怎么分散呢,一个Key只能被分配到一台机器上,我们在查询数据时,数据可能存在集群中的任意一台

2017-07-17 15:48:08 283

转载 restful和http区别

rest 风格 是用来描述什么的?描述接口(api)  ,各种接口.http 接口 按照rest 风格设计  就是 restfull httpwebservice 接口 按照rest 风格设计 就是 restfull webserivce.用http 做例子:正常我们设计一个http接口 :url:  http://www.xx.com/api/getcon

2017-07-17 11:39:40 31385 2

转载 当当网Dubbox

Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即Dubbo eXtensions)。主要的新功能包括:支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的JBoss

2017-07-17 11:11:24 588

转载 关于为什么要重写hashCode()方法和equals()方法及如何重写

我想写的问题有三个:1、首先我们为什么需要重写hashCode()方法和equals()方法2、在什么情况下需要重写hashCode()方法和equals()方法3、如何重写这两个方法*********************************************************************第一个问题:为什么需要重写hashCo

2017-07-02 20:10:33 6581 5

转载 观察者模式

1. 概述  有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。2. 解决的问题  将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带

2017-07-02 20:01:30 291

转载 常见HTTP状态码

100 Continue  初始的请求已经接受,客户应当继续发送请求的其余部分101 Switching Protocols  服务器将遵从客户的请求转换到另外一种协议200 OK  一切正常,对GET和POST请求的应答文档跟在后面201 Created  服务器已经创建了文档,Location头给出了它的URL。202 Accepted  已

2017-07-02 19:53:09 263

转载 forward和redirect的区别

1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以

2017-07-02 19:51:32 229

转载 JAVA中Object类有哪些方法

protected Object clone()创建并返回此对象的一个副本。 boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。 protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 Class getClass()返回此 Object 的运行时类。 in

2017-07-02 19:39:56 1637

转载 Java中的String

一、String类想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码:public final class String implements java.io.Serializable, Comparable, CharSequence{ /** The value is used for character storage. *

2017-07-02 19:18:10 347

转载 spring中的BeanFactory与ApplicationContext的作用和区别?

BeanFactory类关系继承图1. BeanFactory类结构体系:BeanFactory接口及其子类定义了spring IoC容器体系结构,由于BeanFactory体系非常的庞大和复杂,因此要理解Spring IoC,需要先理清BeanFactory的继承机构。 2. ApplicationContext的结构体系:Applicatio

2017-07-02 18:42:25 387

转载 java经典排序算法

1、冒泡排序 static void bubble_sort(int[] str) { for (int i = 0; i ) { for (int j = i; j ) { if (str[i] > str[j])

2017-06-20 23:45:38 124

转载 java性能优化

代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以优

2017-06-19 23:14:45 304

转载 mysql大数据量之limit优化

背景:当数据库里面的数据达到几百万条上千万条的时候,如果要分页的时候(不过一般分页不会有这么多),如果业务要求这么做那我们需要如何解决呢?我用的本地一个自己生产的一张表有五百多万的表,来进行测试,表名为big_data;首先我们看如下几条sql语句:在这之前我们开启profiling来监测sql语句执行的情况。set profiling=1;1.查询从第10w条数据开始分页10

2017-06-19 23:03:14 559

转载 线上应用故障排查:高内存占用

搞Java开发的,经常会碰到下面两种异常:1、java.lang.OutOfMemoryError: PermGen space2、java.lang.OutOfMemoryError: Java heap space要详细解释这两种异常,需要简单重提下Java内存模型。 Java内存模型是描述Java程序中各变量(实例域、静态域和数组元素)之间的关系,以及

2017-06-19 22:52:26 1362

转载 单例模式有五种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举

单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知道什么是双检锁,那这篇文章可能会帮助到你。懒汉式,线程不安全当被问到要实现一个单例模式时,很多人的第一反应是写出如下的代码,包括教科书上也是这样教我们的。

2017-06-19 22:27:46 379

转载 spring bean的作用域

1、singleton作用域 当一个bean的作用域设置为singleton,那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。换言之,当把一个bean定义设置为singleton作用域时,Spring IOC容器只会创建该bean定义的唯一实例。这个单一实例会被存储到单例缓存(singleton

2017-06-18 21:50:04 224

转载 JVM内存区域分区及OOM分析

概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内容泄漏和内存溢出错误,看起来由JVM管理内存一切都很美好。不过,也正是因为Java程

2017-06-18 18:44:31 450

转载 Spring @Resource、@Autowired、@Qualifier的注解注入及区别

spring2.5提供了基于注解(Annotation-based)的配置,我们可以通过注解的方式来完成注入依赖。在Java代码中可以使用 @Resource或者@Autowired注解方式来经行注入。虽然@Resource和@Autowired都可以来完成注入依赖,但它们之间是有区 别的。首先来看一下: a。@Resource默认是按照名称来装配注入的,只有当找不到与名称匹配的bea

2017-06-18 18:36:42 199

Java编程思想第四版完整中文高清版

对象入门、一切都是对象、控制程序流程、初始化和清除、类再生、IO系统。第四版完整中文高清版.pdf

2014-01-23

云计算与Azure平台实战

云计算与Azure平台实战

2013-05-24

XFire_Web_Service应用.pdf

XFire_Web_Service应用.pdf

2013-01-06

ivr开发资料

jar包里面包括(中国电信全网声讯业务IVR流程编译器和编写手册.rar、流程示例.rar、网关开发资料.rar、sleedbg.rar、SMC操作手册(sp).doc、suntek.rar、编译环境+测试话机.rar、116平台业务上线流程工单(模板).doc、116业务流程开发规范.doc、116平台通用工单.doc、炫音系统业务开发指南.pdf、炫音系统业务网关开发接口.pdf)

2012-12-25

visualvm_135最新版本

VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,您可以方便、快捷地查看多个 Java 应用程序的相关信息。

2012-12-06

全文检索所用jar包3.6版本

IKAnalyzer3.2.8.jar lucene-analyzers-3.5.0.jar lucene-core-3.6.1.jar lucene-highlighter-3.5.0.jar lucene-memory-3.5.0.jar

2012-12-05

空空如也

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

TA关注的人

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