自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (5)
  • 问答 (48)
  • 收藏
  • 关注

原创 synchronized原理

一、synchronized原理

2018-10-13 21:38:41 286

原创 JMM内存模型(未完节)

一、什么是内存模型?先来了解下计算机操作发展的历史:part1时期计算机执行指令的时候都是在CPU中,数据都在主存中,物理内存中。 随着技术发展CPU中的执行速度越来越快,然而主存的技术遇到瓶颈,导致CPU的操作都要等待主存操作的响应。    ceo————员工于是考虑能不能不直接操作主存,在上层添加缓冲层       part2时期                    ...

2018-10-13 21:35:16 269

原创 等待通知范式

一、等待通知机制 等待线程获取到对象的锁,调用wait()方法,放弃锁,进入等待队列 通知线程获取到对象的锁,调用对象的notify()方法 等待线程接受到通知,从等待队列移到同步队列,进入阻塞状态 通知线程释放锁后,等待线程获取到锁继续执行二、等待方与通知方遵循的原则...

2018-10-13 21:27:42 849

原创 Spring data ES攻略

总结下es的使用,方便其他小伙伴使用一、配置依赖<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-elasticsearch</artifactId> <version>2.0.4.REL...

2018-09-10 23:10:20 12232

原创 ES增删改查内部原理

一、ES查询内部原理客户端发起请求到集群协调节点coordinate node 若是根据docId(不是根据docId查询则根据随机轮询算法,分配到所有分片查询)查询则根据路由算法,找到分片 根据随机轮询算法,将请求分摊给主备节点,达到负载均衡的目的 各个节点将结果返回给协调节点,由协调节点统一返回数据给客户端二、ES增删改内部原理客户端发起创建的请求到集群协调节点coordi...

2018-09-06 22:58:43 1014

转载 Gossip 算法

Gossip 算法, 灵感来自办公室八卦, 只要一个人八卦一下, 在有限的时间内所有人都会知道该八卦的信息,这种方式也与病毒传播类似, 因为 Gossip 有众多的别名"闲话算法"、"疫情传播算法"、"病毒感染算法"、"谣言传播(Rumor-Mongering)算法".但 Gossip 并不是一个新东西, 之前的泛洪查找、路由算法都归属于这个范畴, 不同的是 Gossip 给这类算法提供了明...

2018-09-06 22:13:47 1613

原创 BeanUtils.copyPropertys源码时序图

2018-09-05 22:15:00 221

原创 ES集群单机(单节点/多节点)搭建

一、单机单节点搭建需要在安装目录/config/elasticsearch.yml中加入配置使用系统默认配置,在ES安装目录执行elasticsearch脚本 看到控制台输出started表示启动成功二、单机多节点(伪集群)搭建在单台服务器上以不同的端口,启动ES服务,搭建ES伪集群拷贝安装包三分,分别修改elasticsearch.yml文件三、启...

2018-08-28 00:06:02 10604

原创 ES通配符查询慢优化

 使用ES查询遇到的坑:当为空字符串查询** 时速度超慢原始查询条件:生成的查询语句:查询语句http://11.11.11.11:9100/data_aa-2018.08/category_goods_1_day/_search  POST{  "from" : 0,  "size" : 10,  "query" : {    "bool" ...

2018-08-27 22:49:41 3628

原创 代理模式———静态代理、动态代理(JDK代理)、CGLIB代理

一、代理模式代理模式就是为某个对象Q,提供一个代理对象,通过代理对象,完成对对象Q的引用。通过代理对象的增强可以无侵入的扩展委托类。真正的业务实现还是交与委托类,代理类相当于包装了一层委托类,可以在委托类执行的前后加入扩展,比如缓存,切面,消息等。在SpringAOP的实现中,使用的核心技术就是动态代理,使用了JDK代理(对象实现了接口使用)与CGLIB(对象没实现接口使用)代理的结合...

2018-08-19 19:23:48 170

原创 SpringIOC源码分析(七)__IOC容器的依赖注入

一、前情提要完成了BeanDefinition的注册,就完成了了IOC容器初始化的过程。且这些BeanDefinition也可以被容器使用了,在beanDefinitionMap中承载。容器DefaultListableBeanFactory做用就是对这些信息进行处理维护。这些基础数据也是容器建立以来注入的基础。这些Bean都放在了容器里,什么时候才会初始化呢?bean的依赖关系什么时候回注入...

2018-08-01 00:04:29 310

原创 BeanUtils之Converter转换器

一、BeanUtils.copyPropertys时序图解析:获得类对象后循环copyProperty()方法,拷贝每一个属性 在动态类中取得属性的信息DynaProperty 在存放Convert转换器的map中获得Convert转换器,转换属性,返回value;这里的Convert转换器可以自定义,自定义的转换器继承Convert,实现某种类型的特殊转换,调用对应的regist...

2018-07-27 23:53:45 2527

原创 SpringIOC源码分析(六)__IOC容器的初始化__BeanDefinition载入注册

一、前情提要上一篇提到了IOC容器初始化的流程,及资源定位,本篇主要分析BeanDefinition的载入过程二、BeanDefiniton载入解析BeanDefinition是IOC容器对Bean的数据承载模型,IOC容器对Bean的管理和依赖注入的实现,是通过对BeanDefinition的各种操作来实现的,IOC容器通过一个HashMap来保持和维护这些BeanDefinit...

2018-07-27 23:49:08 188

原创 Lucence倒排索引

带着问题探索:全文检索,为什么要全文检索? 什么是lucence? 什么是倒排索引?一、全文检索要了解全文检索首先需要了解:结构化数据与非结构化数据,以及半结构化数据,这三种数据构成了我们生活中所有数据的组成形式。  结构化数据 非机构化数据 半结构化数据 含义 有固定格式的的数据 无固定格式的数据 有一定格式的数据 举例 数据库...

2018-07-19 23:28:03 948

原创 SpringIOC源码分析(五)__IOC容器的初始化__资源加载

一、IOC容器初始化过程IOC容器初始化是由如上篇所讲到的refresh(),方法来启动的,启动包括BeanDefinition的Resource定位,载入和注册这个主要过程。过程一:resource定位,是由resourceLoader通过getResource(String location) 的接口来完成的。 过程二:将用户定义的Bean表示为IOC容器的内部数据结构BeanD...

2018-07-16 23:38:47 187

原创 SpringIOC源码分析(三)__BeanFactory与FactoryBean

二、BeanFactory与FactoryBean       BeanFactory顾名思义是个bean工厂,是个IOC容器,负责管理和生产bean。       FactoryBean是一个Bean,能生产对象的工厂Bean。实现与工厂模式和修饰器模式相似。 Spring 中有两种Bean,一直为普通的Bean由容器管理,一种就是工厂Bean,由Spring管理。  package com.q...

2018-07-12 23:50:18 274

原创 ES基本查询及HEAD操作

一、基本查询操作选择索引设置type查询条件搜索        操作说明如图:二、must, must not,should的区别must 返回的文档必须满足must子句的条件,类似于 ==   and must not返回的文档必须不满足must not 子句的条件  类似于!=  not should 返回的文档只要满足should中的一个条件即可  类似于 ||  or三、各类查询参数ter...

2018-07-11 23:26:52 21844 3

原创 SpringIOC源码分析(二)__BeanFactory

一、BeanFactory           beanFactory是一个接口类提供了最基本的IOC容器的功能,负责管理和生产bean。beanFactory源码:package org.springframework.beans.factory; import org.springframework.beans.BeansException; public interface Bean...

2018-07-11 09:30:55 233

原创 SpringIOC源码分析(一) ___IOC容器

一、IOC容器概念            ioc容器是一个javaBean容器,通过工厂模式和反射,实现了对bean和bean依赖关系的管理,将对象的引用或依赖关系的管理,交与容器来实现。通过依赖注入,将bean注入容器而不是传统的在类自身通过new对象来创建。对象之间的依赖关系从传统的由类对象自身维护“反转”为由容器来维护。解耦了对象之间的依赖关系,提高了可测试性。二、IOC容器接口设计图IOC...

2018-07-05 17:57:24 265

原创 责任链模式的应用

一、责任链模式概念         链是一系列节点的集合,链的各节点可以灵活的拆分重组。当一个请求需要多个对象进行处理,将多个对象串成一个链路,从而避免了请求发送者和接收者之间的耦合关系。请求者不知道是链路上的哪个节点做了处理。二、优缺点         优点: 1. 降低了请求发送者和接收者之间的耦合关系                   2. 把多个判定与条件处理放在各个类中去处理,代码更加...

2018-07-02 13:18:06 1078 1

转载 使用PlantUML快速绘图

PlantUML是一个快速创建UML图形的组件,官网上之所以称它是一个组件,我想主要是因为多数情况下我们都是在Eclipse,NetBenas,Intellijidea,Emacs,Sublime,Word等软件里来使用PlantUML。PlantUML通过简单和直观的语言来定义图形,它可以生成PNG,SVG和二进制图片.PlantUML支持的图形有:时序图用例图类图活动图组件图状态图对象图在ID...

2018-06-23 23:50:15 2158

原创 ES 字段映射store存储问题

首先ES映射字段的store 默认是为no的 ,文档存储后都可以从_source中获取。当构建ES映射时,如果将store设置为yew,会单独存储字段;取出每个store的field都需要一次IO因此仅适用于doc很大,很长的情况;不用从_source中解析出来,而从单独存储的field取出,效率跟高。当遇到跨索引查询的情况,A,B索引都有近乎相同的映射,区别只在于A的全部设置为store,B的没...

2018-06-13 11:27:51 1270

转载 Lucene学习总结之一:全文检索的基本原理

Lucene学习总结之一:全文检索的基本原理一、总论根据http://lucene.apache.org/java/docs/index.html 定义:Lucene 是一个高效的,基于Java 的全文检索库。所以在了解Lucene之前要费一番工夫了解一下全文检索。那么什么叫做全文检索呢?这要从我们生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和非结构化数据 。结构化数据: 指具有固...

2018-04-28 11:05:13 136

转载 索引表和ES的一点点思考

出处  http://blog.csdn.net/linsongbin1/article/details/79410156索引表和ES的一点点思考索引表设计在电商项目中,物理库存系统是个极其重要的系统,订单支付后,就会开始来占用物理库存。一般情况下,库存系统都是要分库的,因为主要的操作是写操作,例如占用/释放/取消等写操作。使用分库可以降低数据库写的压力。尽管写操作为主,但是读操作也是有的。比如说...

2018-03-18 09:51:54 552

转载 Spring boot Myibatis整合

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。orm框架的本质是简化编程中操作数据库的编...

2018-03-04 23:04:39 416

转载 索引的应用场景以及如何使用

唯一的是什么?  1. 索引列(字段)的所有值都只能出现一次,即必须唯一--------------------------------------------------------------------------------主键索引与唯一索引的区别  1. 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。  2. 主键创建后一定包含一个唯一

2017-06-05 17:24:18 3880

转载 Tomcat的access log的设置及存放日志路径修改

Tomcat中默认的情况下,access log是没有设置的。在server.xml文件中配置如下。[html] view plain copy print?            Documentation at: /docs/config/valve.html -->                Valve classNam

2017-06-05 14:51:19 15759

原创 JAVA_OPTS(JVM相关运行参数的变量)设置

JAVA_OPTS,顾名思义,是用来设置JVM相关运行参数的变量。 JVM:JAVA_OPTS =“ - server -Xms2048m -Xmx2048m -Xss512k”-server:一定要作为第一个参数,在多个CPU时性能佳-Xms:初始堆大小,使用的最小内存,cpu性能高时此值应设的大一些-Xmx:Java  heap最大值,使用-XX:PermSize:设置内存的永久保存区域-X...

2017-06-05 13:43:03 9098

转载 Tomcat 启动JVM参数配置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都

2017-06-05 13:34:01 2711

转载 使用ThreadLocal变量的时机和方法

并发编程中,一个重要的内容是数据共享。当你创建了实现Runnable接口的线程,然后开启使用相同Runnable实例的各种Thread对象,所有 的线程便共享定义在Runnable对象中的属性。也就是说,当你在一个线程中改变任意属性时,所有的线程都会因此受到影响,同时会看到第一个线程修改后的值。有时我们希望如此,比如:多个线程增大或减小同一个计数器变量;但是,有时我们希望确保每个线程,只能工作在它

2017-06-04 19:26:07 410

转载 Java 线程组,Callable,Future,线程池,ThreadLocal类,包装线程不安全的集合

线程组和未处理的异常Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,对线程组的控制相当于同时控制这批线程.用户所创建的所有线程都属于指定线程组,若没有显示指定线程组,则属于默认线程组.默认情况下子线程和创建它的副线程处于同一个线程组内;例如:A创建了B,则默认A和B处于同一个线程组.一但加入某个线程组,则中途不能改变该线程的线程组,直到该线程死亡.

2017-06-04 18:49:25 737

转载 Redis中5种数据结构的使用场景介绍

一、redis 数据结构使用场景原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢?String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集

2017-06-04 09:55:40 355

转载 maven中properties标签定义变量

一 发现问题在pom.xml中添加依赖时语法如下 org.springframework spring-core 1.2.6 org.springframework spring-aop 1.2.6 以上内容没错,但有这样一个问题,在spring的依赖中,我们需要引用一系列版本的spring,如版本1.2.6。每次都写不利于维

2017-05-31 11:22:57 1386

转载 spring与mybatis三种整合方法

1、采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。spring-mybatis.xml:xml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:

2017-05-31 10:42:03 307

转载 Spring MVC视图解析器:配置多个视图解析器的优先级

问题在Spring MVC应用程序中,我们经常需要应用一些视图解析器策略来解析视图名称。例如,联合使用三个视图解析器:InternalResourceViewResolver、ResourceBundleViewResolver和XmlViewResolver。但是,如果返回了一个视图的名称,那么,使用哪一个视图解析器策略?解决方法如果应用了多个视图解析器策略,那么

2017-05-31 09:30:07 1706 1

转载 Java动态代理的两种实现方法

AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行。不同的切入时机对应不同的Interceptor的种类,如BeforeAdviseInterceptor,AfterAdviseInterceptor以及ThrowsAdviseIntercepto

2017-05-27 10:42:38 290

转载 maven内部运行原理解析(二)

default-jar package jar maven-deploy-plugin 2.7

2017-05-27 10:26:59 471

转载 maven内部运行原理解析(一)

maven至今还是Java编程语言构建的事实标准,大部分项目还在使用maven来进行构建,因此了解maven内部运行的原理对定位和分析问题还是很有裨益的。本篇文章主要介绍一些maven内部运行过程中的一些基本概念,相信看完后,对那么些刚刚接触maven的读者来说maven将不再陌生。  在具体分析项目构建的过程前,需要了解maven的一些基本概念,这些概念十分重要,请务必理解清楚后再看下文。基

2017-05-27 10:14:23 315

转载 浅析@Deprecated

最近由于工作环境不太理想,很长时间没心情写技术博文,今天在调试springMVC的DispatcherSevlet类的代码时,看到一处代码且联想到项目中程序员的一些做法,觉得有必要写一下。      我们在做项目时,前期写的类中的一些代码可能由于需求变化的原因需要重写,有时重写时方法的传参和返回值也会发生变化,这样往往导致调用的代码也跟着出错,我们看下spring的代码是如何处理这样的事,

2017-05-23 17:34:27 381

原创 Mac下修改hosts

上次修改后忘记怎么改了 做下记录避免下次忘记command+shift +g    进入“/etc”目录可以看到 HOSTS文件,没有权限打开,可以复制出来 改好后在覆盖回去

2017-02-14 21:57:11 461

WEB前端助手(FeHelper)_v6.2

下载完成后 打开chrome浏览器 打开设置,打开扩展功能,将.crx文件直接拖入浏览器即可

2015-09-04

JAVA实现RSA加密解密

JAVA+RSA的DEMO工程,适合初学者学习RSA加密解密 文档参看 http://blog.csdn.net/u013400939/article/details/44490441

2015-03-20

pgAdmin3客户端

pgAdmin3 版本1.18.1 PostgreSQL 数据库客户端 安装包

2015-03-18

数据库管理工具 Navicat Premium 11.0.17

数据库管理工具 Navicat Premium 11.0.17 32位,64位及破解方式均包含

2015-03-02

ssh2 进销存系统

SSh2 进销存系统 MySql数据库 含数据库文件 BootStrap2页面设计 代码含注释 简单易懂 适合初学者学习研究

2015-02-10

JAVA代码优化,求解这段代码如何优化

2021-01-10

多表left join优化 各位大佬有没有什么优化方案

2019-10-12

使用spring data es如何使用SUM方法

2017-11-04

正则表达式获取指定字符串的操作

2017-01-03

在一个系统中有一个数据同步的需求

2016-05-30

关于synchronized修饰的方法的问题?

2016-03-15

给一个页面的URL 如何通过JQUERY获取 这个页面中的最大的一张图片

2016-03-09

 Spring的设置注入和构造注入有什么好处?有没有浅显一点的解释额?

2016-03-07

sql中的OR的使用求解,想查出该学校手机号不为NULL且不为"" 或 邮箱不为NULL且不为“”

2016-02-17

作为一个学JAVA的请教一下大家,EXCEL中的函数问题

2015-11-26

关于httpSession 与 HttpServletRequest

2015-11-12

mysql数据库,自定义排序查询

2015-11-07

如何解决IE对于JSTL标签的兼容问题

2015-09-26

如何用SQL语句查出该表中 不为空的值得数量

2015-09-24

如何用SQL语句查询Table表中的ID1中的O1,O2,O3为1 的数目

2015-09-24

java如何判断一个字符串中是否有@符号

2015-09-17

如何用jquery获取到td中的字符串,截取字符串

2015-08-29

如何用Js实现文本框只能输入数字且只能输入1-15号数字,且大于15设值为15,小于1设值为1

2015-08-27

使用FindBugs报错,该如何解决

2015-08-25

如何用正则表达式控制TEXT文本框只能输入1--15的数字?

2015-08-20

用C标签定义的变量,如何在另一个C标签中进行除法?

2015-07-28

JS如何实现时间的比较

2015-07-27

用JS如何取到,input中由session对象设置的id

2015-07-22

如何用Jquery实现当 vlaue中的el表达式取值为空时 隐藏该这个选项

2015-07-21

JSP页面实现对每一个list对象的遍历

2015-07-20

如何用jquery实现,当点击添加行后,行中的value中的EL表达式的值也增加

2015-07-20

如何用jquery实现点击“删除”行删除后,选项重新排列;

2015-07-20

如何容jquery实现,当该文本域中value取的session中的值为0时,将值变为1

2015-07-18

a与SerialNumInital同样都是int 型 同样都是3,为什么LL.get()取不到?

2015-07-16

如何在一个方法内将对象存入list中,放入session,再次执行该方法如何将新的对象继续存入?

2015-07-16

如何用jquery实现点击radio选择“多选”选项后,最多xx项的maxnum文本框成为必填?

2015-07-15

jquery如何根据文本框中输入的数,实现数组循环

2015-07-14

求助用Jquery实现,点击添加选项新增一行

2015-07-14

后台获取input标签中的属性值,该怎么获取

2015-07-14

后台获取<input >元素中的值

2015-07-13

求助帮忙解释这段Jquery代码

2015-07-13

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

2015-05-31

如何写一个方法用SQL语句查询一张表中有多少条数据,方法改怎么写?

2015-05-31

用SQL语句查询User表中newsh属性为“政治类新闻”和“娱乐类新闻”的人数放入MAP中

2015-05-23

根据当前session中的用户 获取用户ID HQL查询当前用户的所有日志

2015-05-08

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

TA关注的人

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