自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Linux下使用Jenkins+Git+Maven+码云搭建自动化部署,可远程部署jar和war

写在前面:       本教程为2台全新阿里云服务器CentOS 6.8(以下称搭建Jenkins的为第1台服务器,可访问项目工程的为第2台服务器,以免混淆,没有说明的都是在第1台服务器root目录上操作,记得添加端口安全组和关闭防火墙),git仓库使用的是码云。       整个教程包括了jdk、tomcat、Git、Maven、Maven私服、Jenkins、zookeeper等的搭建,全部代...

2018-04-24 22:18:36 6182 2

原创 ElasticSearch系列一:了解和安装ES、Kibana页面可视化

一、概述(简称ES) 是基于Lucene的搜索服务器,基于RESTful web接口。 分布式、高性能、高可用、可伸缩的搜索和分析系统。 面向文档的搜索分析引擎。 ES会自动建立index和type,不需要提前创建,而且es默认会对document每个field都建立倒排索引。二、ES概览  核心知识点:工作原理、文档管理、索引管理、搜索、聚合分析、分词、数据建模、Java API。深入和细节...

2018-04-09 23:15:19 2258

原创 面试系列三:数据库(优化、分库分表、执行计划、事务和隔离级别、试题)

//todo

2019-04-08 14:35:37 259

原创 面试系列二:JavaWeb框架(spring、springmvc、mybatis、springboot、SpringCloud、dubbo)

1.springMVC的流程(1)用户发送请求至前端控制器DispatcherServlet(2)DispatcherServlet收到请求调用处理器映射器HandlerMapping。(3)处理器映射器根据请求ur1找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。(4)DispatcherServlet通过HandlerAdap...

2019-04-08 14:35:03 420

原创 面试系列一:Java基础

一、查看源码//todo二、多线程和锁//todo三、集合//todo四、JVM//todo2.性能调优和问题查找五、网络七层协议//todo六、tcp和udp和http//todo七、网络Netty和NIO//todo八、JDK1.8新特性//todo...

2019-04-08 14:33:55 117

原创 ElasticSearch系列十二:掌握ES使用Java API

一、Java连接ElasticSearch6.x版本(可整合到spring中) <dependencies> <!-- ES --> <dependency> <groupId>org.elasticsearch</groupId> <artifa...

2018-06-18 13:38:28 6287 1

原创 SpringBoot2.x系列二:整合第三方组件Mybatis、JPA、Redis、Elasticsearch、ActiveMQ、Kafka、Logback

一、整合Mybatis及事务(1)加入依赖<!-- 引入starter--><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version&g

2018-06-18 13:32:32 3334

原创 SpringBoot2系列一:基础入门

一、概述Spring Boot设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。二、特性 ①创建独立的Spring应用程序 ②嵌入的Tomcat,无需部署WAR文件 ③简化Maven配置 ④自动配置Spring ⑤提供生产就绪型功能,如指标,健康检查和外部配置 ⑥开箱即用,没有代码生成,也无...

2018-06-13 21:58:01 4489

原创 Java任务调度

1.Spring任务调度之Spring-Task步骤:①配置文件中: xmlns:task="http://www.springframework.org/schema/task" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd &lt...

2018-06-13 21:38:52 990

原创 SpringMVC、SpringBoot、Dubbox跨域

1.跨域描述:当两个应用协议、主机地址(或域名)、端口其中有一项不同,则认为他们的域不同的,例如: http://cas.pinyougou.com http://cart.pinyougou.com http://192.168.0.130/aaa http://192.168.0.135/aaa http://192.168.0.130/aaa https://192.168.0.130/...

2018-06-13 21:36:43 1202

原创 ElasticSearch系列十一:掌握ES使用地理位置

一、geo point地理位置数据类型1.建立geo_point类型的mappingPUT /my_index {  "mappings": { "my_type": {  "properties": { "location": {  "type": "geo_point" }  } }  }}2.写入geo_point的3种方法PUT my_index/my_type/1{ 

2018-05-31 19:55:28 5191 1

原创 ElasticSearch系列十:ES底层原理探秘

一、ES基于_version进行乐观锁并发控制 post /index/type/id/_update?retry_on_conflict=5&version=6 ①内部_version版本号:  第一次创建document的_version版本号为1,以后每次对这个document修改或删除操作,_version自动加1。  同时带上数据的版本号,确保es中数据的版本号,跟客户端中的...

2018-05-30 21:57:08 4866

原创 ElasticSearch系列九:掌握ES相关特性

一、ES分布式的特性1.对复杂分布式机制的透明隐藏特性:分片机制集群发现机制shard负载均衡shard副本请求路由集群扩容shard重分配2.增减或减少节点时的数据rebalance 保持负载均衡3.master节点 创建或删除索引 增加或删除节点4.节点对等的分布式架构 节点对等,每个节点都能接收所有的请求 自动请求路由 响应收集二、shard和replica机制①index包含多个shard...

2018-05-30 20:40:35 2472

原创 ElasticSearch系列八:掌握ES数据建模

1.将所有有关联关系的数据,放在一个doc json类型数据中。冗余数据,将可能会进行搜索的条件和要搜索的数据,放在一个doc中。一般来说,对于es这种NoSQL类型的数据存储来讲,都是冗余模式 { "deptId": "1", "name": "研发部门", "desc": "负责公司的所有研发项目", "employees": [ { "

2018-05-30 19:48:13 4192 1

原创 ElasticSearch系列七:深入ES聚合数据分析

一、聚合操作内部原理1.正排索引(doc value)的聚合内部原理①index-time生成PUT/POST的时候,就会生成doc value数据,也就是正排索引②核心原理与倒排索引类似正排索引,也会写入磁盘文件中,然后os cache先进行缓存,以提升访问doc value正排索引的性能如果os cache内存大小不足够放得下整个正排索引,doc value,就会将doc value的数据写入...

2018-05-30 19:46:05 7053

原创 ElasticSearch系列六:深入ES结构化搜索

一、搜索条件的权重boost 默认情况权重都是1,可以将某个搜索条件的权重加大,此时当匹配这个搜索条件和匹配另一个搜索条件的document,计算relevance score时,匹配权重更大的搜索条件的document,relevance score会更高,也就会优先被返回回来。 需求:搜索标题中包含java的帖子,同时呢,如果标题中包含hadoop或elasticsearch就优先搜索出来,同...

2018-05-29 23:02:45 3131

原创 ElasticSearch系列五:掌握ES使用IK中文分词器

一、内置分词器的介绍例:Set the shape to semi-transparent by calling set_trans(5)standard analyzer(默认): set, the, shape, to, semi, transparent, by, calling, set_trans, 5simple analyzer: set, the, shape, to, sem...

2018-05-29 20:56:36 13878

原创 ElasticSearch系列四:掌握ES聚合数据分析

1.两个核心概念 bucket:一个数据分组,类似数据库分组group by metric:对一个数据分组执行的统计,常见的数据分析的metric操作有count,avg,max,min,sum2.有分词的字段需要field的fielddata属性设置为truePUT /ecommerce/_mapping/product{  "properties": { "tags": {  "type":...

2018-05-29 20:52:04 3917 1

原创 JVM(二)性能调优

一、常见线上问题内存泄露某个进程突然cpu飙升线程死锁响应变慢二、问题定位 一般会基于数据收集来定位,而数据的收集离不开监控工具的处理,比如:运行日志、异常堆栈、GC日志、线程快照、堆快照等。经常使用恰当的分析和监控工具可以加快我们的分析数据、定位解决问题的速度。三、JVM常见监控指令 ①jps:查看java进程信息 -q 不输出类名、Jar名和传入main方法的参数 -l 输出main类或J...

2018-05-28 21:45:20 1296

原创 JVM(一)内存分布

一、JVM概述 ①所有的java代码都是在虚拟机中运行的。 ②一次编译,到处运行。JVM可以和不同的操作系统交互。Java是一门跨平台性语言。二、JVM、JDK 、JRE区别 JDK:(Java Development Kit) 是Java语言的软件开发工具包。 JRE:在JDK的安装目录下有一个jre目录,里面有bin和lib两个文件夹,可以认为bin里的就是JVM,lib中则是jvm工作所需要...

2018-05-28 20:55:40 1949 1

原创 Spring中切面捕获自定义异常

pom.xml: <properties> <!-- base setting --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.jdk>1.7</proje...

2018-04-24 22:01:30 6124

原创 Java自定义注解

一、概述jdk5之后提供了一个特性,和类、接口同级。注解本质就是一个接口,接口中可以有常量和抽象方法,抽象方法在注解中就称之为注解属性。示例:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface AccessTokenVerify { AccessTokenVerifyEnum valu...

2018-04-24 21:51:27 1254

原创 Java反射

一、类加载器1.类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 ①加载  就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象 ②连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据...

2018-04-24 21:42:34 1243

原创 Java自定义泛型

一、概述自定义泛型的作用是用来规定一个类, 接口或方法所能接受的数据的类型。泛型中没有多态的概念,两边的数据必须要一致,或者只写一边的泛型类型(兼容老版本)。二、泛型的好处①将运行时出现的错误提前到了编译时②避免了类型强转的麻烦三、自定义泛型方法 ①定义格式:修饰符  <自定义泛型>返回值类型    函数名(自定义泛型 变量名){ }②注意: a. 在方法上的自定义泛型的具体数据类型是...

2018-04-24 21:32:52 2648

原创 Java注解教程、学习笔记

一、概述jdk5之后提供了一个特性,和类、接口同级注解本质就是一个接口,接口中可以有常量和抽象方法,抽象方法在注解中就称之为注解属性示例:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface AccessTokenVerify { AccessTokenVerifyEnum value(...

2018-04-20 14:39:27 1542

原创 dubbox跨域请求、Cookie

Dubbox配置CORS服务来解决跨域问题,这里不涉及jsonp跨域方式,一般服务端接口返回的数据都不是jsonp形式。1、创建CorsResponseFilter类package com.neusoft.filter;import com.neusoft.util.PropertiesUtils;import javax.ws.rs.container.ContainerRequestC...

2018-04-16 22:18:07 1818

原创 ECMAScript 6新特性(ES6)

一、ES6的三种声明方式var:variable的简写,变量的意思。let:声明局部变量。const:声明常量。二、解构赋值①概述:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。等号左边和等号右边的形式要统一,如果不统一解构将失败。 数组解构: 第一种:let [a,b,c]=[1,2,3]; 第二种:let [a,[b,c],d]=[1,[2,3],4]; 第...

2018-04-16 17:22:16 1269

原创 jQuery教程、笔记

一、概述 John Resig在2006年1月发布的一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作。 使用: <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>二、jQuery的功能(API) 选择器...

2018-04-16 11:07:18 1324

原创 多线程教程、学习笔记

一、线程与进程的区别把操作系统的多个任务称为进程(Process),而程序中的多任务则称为线程。一个程序运行后至少有一个进程,一个进程中可以包含多个线程。二、程序运行原理分时调度 所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间。抢占式调度 优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),Java使用的为抢占式调度。三、创建线程    方式一...

2018-04-13 21:39:58 1518

原创 Java集合教程、学习笔记

一、常用集合概览单例集合:----| Collection 单列集合根接口---------| List 实现List接口具备的特点:有序、可重复。-------------| ArrayList   底层用Object数组实现,特点:查询快、增删慢。-------------| LinkedList  底层用链表结构实现的,特点:查询慢、增删快。-------------| Vector   ...

2018-04-13 21:19:47 1533

原创 正则表达式

一、概述正则表达式(英语:Regular Expression,在代码中常简写为regex)。正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。二、方法 matches 匹配 split         切割 replaceAll         替换 查找并获取: Pattern...

2018-04-13 16:27:44 1069

原创 centos6.8安装MySQL 5.6,可腾讯云、阿里云

==================  安装MySQL 5.6 ===============2.下载编译包wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gztar xvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz3.复制到...

2018-04-13 13:35:44 1200

原创 Redis入门、安装教程

一、概述Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,也叫非关系型型数据库,并提供多种语言的API。关系型数据库:以二维表形式存储数据,如:MySQL、Oracle、SQLite非关系型数据库: 以键值对形式存储数据(key, value形式),如Redis、MongoDb、HBase优点:存取速度快,官方称读取速度会达到30万次...

2018-04-11 22:39:55 1128

原创 XML(可扩展标记语言)教程

1.XML的作用 ①描述带关系的数据(作为软件的配置文件): 包含与被包含的关系 ②作为数据的载体(存储数据,小型的"数据库")2.需注意的语法 ①xml标签名称区分大小写。 ②xml标签名不能以数字开头 ③在一个xml文档中,有且仅有一个根标签 ④转义字符 "         " &         & 原样输出   <...

2018-04-11 22:35:33 2109

原创 Spring框架入门教程

一、概述Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。Spring的核心是控制反转IOC和面向切面AOP。Spring解决的是业务逻辑层和其他各层的松耦合问题。Spring可以解决对象创建以及对象之间依赖关系的一种框架Spring可以和其他框架一起使用。二、Spring4示例(待续)三、组件/框架设计侵入式设计 引入了框架,对现有的类的结构有影响;即需要...

2018-04-10 21:03:15 1215

原创 cause: Failtodecoderequestdueto: RpcInvocation

错误记录:dubbo报错之坑,cause: Failtodecoderequestdueto: RpcInvocation。首先看看实体对象是否序列化了,其次看dubbo版本是否一致,我就因为这个被坑了一下午。因为某些原因,本地maven仓库下了dubbo其他版本,导致序列化与反序列化不一致出错,解决方式:把本地maven仓库的dubbo删掉,让它重新下载。...

2018-04-10 18:09:53 3375 3

原创 ElasticSearch系列三:掌握ES结构化搜索

一、ES分布式的特性对复杂分布式机制的透明隐藏特性: 分片机制 cluster discovery(集群发现机制) shard负载均衡 shard副本 请求路由 集群扩容 shard重分配增减或减少节点时的数据rebalance 保持负载均衡master节点 创建或删除索引 增加或删除节点节点对等的分布式架构 节点对等,每个节点都能接收所有的请求 自动请求路由 响应收集二、shard和replic...

2018-04-09 23:32:19 1958

原创 ElasticSearch系列二:掌握ES索引和Mapping

本文所有ES系列均采用Kibana操作ES文档。一、ES的cat api查看mapping: GET /my_index/_mapping/my_type检测健康状态:GET _cluster/health操作索引:  PUT /test_index?pretty  DELETE /test_index?pretty  GET /test_index?pretty操作文档: P...

2018-04-09 23:28:27 3274

原创 Maven入门教程

一、概述Maven是基于POM(工程对象模型),通过一小段描述来对项目的代码、报告、文件进管理的工具。Maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及以上。二、Maven主要有两大功能:管理依赖 依赖指的就是jar包。项目构建 清理-编译-测试-报告-打包-部署三、Maven的安装配置1.安装maven ①安装jdk1.6及以上 ②将下载的maven压缩包进行...

2018-04-09 23:12:32 1026

原创 Velocity入门教程

一、概述Velocity是一个基于java的模板引擎,用于页面静态化。当前主流的模板引擎有Velocity、Freemarker 、Thymeleaf。二、可存放字符串、对象、数组、List、Map、时间、条件判断、页面复赋值等(大括号可省略)①取字符串: $!Hello②取对象: $person.name③取List集合 #foreach($person in $persons) $perso...

2018-04-09 22:54:41 3003

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