- 博客(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
转载 @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
ivr开发资料
2012-12-25
visualvm_135最新版本
2012-12-06
全文检索所用jar包3.6版本
2012-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人