自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 收藏
  • 关注

原创 Elasticsearch --- (十五)Java API初步使用:员工管理案例

1、基于java实现员工信息的增删改查员工信息:姓名、年龄、职位、国家、入职日期、薪水(1)maven依赖<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport</artifactId> <version>5.2.2</version></dependency>&lt

2020-11-10 10:54:51 19

原创 Elasticsearch --- (十四)内核原理探秘

1、倒排索引组成结构以及其索引不可变原因(1)倒排索引,是适合用于进行搜索的(2)倒排索引的结构包含这个关键词的document list 包含这个关键词的document的数量:IDF(inverse document frequency) 这个关键词在每个document中出现的次数:TF(term frequency) 这个关键词在这个document中的次序 每个document的长度:length norm 包含这个关键词的所有document的平均长度(3)倒排索引不可变

2020-10-20 11:46:19 18

原创 idea反编译出现/* compiled code*/

问题:idea使用自带的反编译插件只有函数名,而函数体出现/* compiled code*/。这通常是多个反编译插件混淆导致。解决方法:file->settings->plugins 禁用掉‘Java Decompiler Intellij Plugin’,重启即可。 plugins 勾选Java Bytecode Decompiler...

2020-10-14 14:48:32 105

原创 Elasticsearch --- (十三)索引管理

1、创建、修改以及删除索引(1)手动创建索引语法PUT /my_index{ "settings": {... any settings...}, "mappings": { "type_one":{... any mappings...}, "type_two":{... any mappings...}, ... }}PUT /my_index{ "settings": { "number_of_shards": 1, "n...

2020-09-25 17:38:11 98

原创 Elasticsearch --- (十二)初识搜索引擎《二》

1、search api 的基础语法(1)GET /search {} -------查所有(2)GET /index1,index2/type1,type2/search {} ------查指定index、type(3)GET /search{ ...

2020-08-27 10:18:59 100

原创 二叉树、B树、B+树、红黑树

一、二叉树定义:即每个结点都最多只有两个子结点的树 完全二叉树:高度为k的二叉树,其1~h-1层为满结点,且其h层(叶子结点层)的节点从左至右依次排列(最多2^h-1个,最少0个) 满二叉树:除最后一层外,每个结点都有左右子结点的二叉树 平衡二叉树:任一结点的左右子树的高度差绝对值不超过1,且左右子树均为平衡二叉树(防止树退化成链表) 二、红黑树本质:自平衡...

2020-08-17 15:04:28 74

原创 数组 链表 哈希表 区别详解

一、数组1、简介数组将元素在内存中连续存放,存储区间是连续的。2、举例体育课上,老师说:同学们站一队,每个人记住自己是第几个,我喊到几,那个人就举手,这就是数组。3、优缺点1.数组必须事先定义固定的长度,不能适应数据动态的增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。2.数组从栈中分配空间,对于程序员方便快速,但是自由度小。3.当进行数据查询时,数组可以直接通过下标迅速访问数组中的元素。4.当进行增加或删除元素时,在数组中增加一个元素,

2020-08-14 11:40:27 129

原创 解决window.location.href参数太长 - post提交数据

前言:一提到页面跳转,最常用的一般就是window.location.href,如果需要带参数,也许可以在后面用?拼上,但这样并不安全,而且有个更严重的问题,这样的拼接是有长度限制的,如果达到好几千个字符,比如传个base64???这时你会发现浏览器报错了,直接不能传参了。需求:解决window.location.href参数过长的问题思路:我们再想想别的解决方案,我们知道post请求是没有参数长度限制的,而且还是比较安全的。post请求的方式第一能想到的肯定是ajax,但是可惜的是ajax好像不能

2020-08-10 09:54:46 310

原创 springboot + JdbcTemplate 多数据源整合

在项目中用到JdbcTemplate,是因为,项目中涉及到多个库中的表,mybatis没法在mapper中拼接数据库名称(#{}取值不可以,但是${}可以取到,但是会存在sql注入),因此用了jdbcTemplate。jdbcTemplate的用法就百度吧1、依赖由于这里一会需要开发者自己配置 DataSoruce,所以这里必须要使用druid-spring-boot-starter依赖,而不是传统的那个 druid 依赖,因为druid-spring-boot-starter依赖提供了 D...

2020-06-05 15:52:00 149

原创 springboot + mybatisplus 配置多数据源(另一种方式)

之前的那种方式(https://blog.csdn.net/weixin_43240792/article/details/88645099)需要在service中重复写相同的方法,在每个方法上指明是用的那个数据源,现在的这种方式不需写重复的方法,只需在controller调用service方法前指明使用哪个数据源。配置如下:package com.inspur.dsp.mybatisconfig;import com.alibaba.druid.spring.boot.autoconfigure

2020-06-04 09:46:19 125

原创 Elasticsearch --- (十一)初识搜索引擎《一》

1、search结果深入解析(search timeout机制)(1)搜索结果里的各种数据的含义GET /_search{ "took": 6, "timed_out": false, "_shards": { "total": 6, "successful": 6, "failed": 0 }, "hits": { "total": 10, "max_score": 1, "hits": [ {

2020-05-21 17:02:18 111

原创 Elasticsearch --- (十)document路由原理、增删改内部实现原理、写一致性原理以及quorum机制、查询内部原理、bulk api的奇特json格式

目录1、什么是distributed document store(分布式文档存储)2、图解剖析document数据路由原理(1)document路由到shard上是什么意思?(2)路由算法(3)_id or custom routing value(手动指定routing value)(4)primary shard数量不可变的谜底3、图解剖析document增删改内部实现原理4、图解写一致性原理以及quorum机制深入剖析(1)consistency:one(pri.

2020-05-21 14:14:57 58

原创 Elasticsearch --- (九)mget批量查询、bulk批量增删改

1、mget批量查询(1)单条查询GET /test_index/test_type/1(2) mget批量查询GET /_mget{ "docs" : [ { "_index" : "test_index", "_type" : "test_type", "_id" : 1 }, { "_index" : "test_index", "_ty...

2020-05-21 10:12:56 88

原创 Elasticsearch --- (八)partial update(更新文档)、基于groovy脚本执行partial update

1、什么是partial update?之前:PUT /index/type/id,创建文档&替换文档,就是一样的语法 一般对应到应用程序中,每次的执行流程基本是这样的: (1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改 (2)用户在前台界面修改数据,发送到后台 (3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据 (4)...

2020-05-20 18:11:44 47

原创 Elasticsearch --- (七)并发冲突、锁

1、剖析ES并发冲突问题2、悲观锁和乐观锁两种 并发控制方案

2020-05-20 15:57:33 58

原创 Elasticsearch --- (六)初步解析document和核心元数据:_index\_type\_id _source

{ "_index": "test_index", "_type": "test_type", "_id": "1", "_version": 1, "found": true, "_source": { "test-content": "test test" }}1、_index元数据 (1)代表一个document存放在哪个index中 (2)类似的数据放在一个索引,非类似的数据放不同索引,product index(包含了所...

2020-05-20 15:43:22 89

原创 Elasticsearch --- (五)图解横向扩容过程(增加节点的数量),如何超出扩容极限,以及如何提升容错性;ES容错机制

1、primary & replica 如果增加了节点会自动负载均衡2、扩容之后,每个节点的shard数量更少,就意味着每个shard可以占用节点上更多的资源,IO、CPU、Memory,整个系统性能会更好3、扩容的极限,6个shard(3 primary,3replica),最多扩容到6台机器,每个shard可以占用 单台服务器的所有资源,性能最好4、如何超出系统的扩容瓶颈 ---》 动态修改replica shard的数量 比如就6个shard,但是要扩容到9台机器,...

2020-05-20 14:24:54 421

原创 Elasticsearch --- (四)剖析Elasticsearch的基础分布式架构

1、ES对复杂分布式机制的透明隐藏特性 复杂的分布式机制, 如分片机制,cluster discovery(集群发现机制),shard负载均衡,shard副本,请求路由,集群扩容,shard重分配等等全部隐藏起来了,而我们不用去关心。2、ES的垂直扩容和水平扩容 例子:现有6台服务器,每台容纳1T数据,马上数据要增长到8T,这个时候两个方案:...

2020-05-20 11:20:31 34

原创 下载放在jar包里的文件

前台按钮<button type="button" class="btn btn-primary" id="download">xxx文档</button>js $('#download').click(function () { window.location.href=getRootPath()+"/admin/scodef/d...

2020-05-07 17:08:28 179

原创 mysql 存储过程动态传递参数

delimiter //create procedure oneKey(in newName varchar(250),in oldName varchar(250),in idNum INT)BEGIN SET @sqlStmt = CONCAT('insert into ',newName,' (`name`,`age`,`sex`,`major`,`pass`,`photo`...

2020-05-07 15:17:41 109

原创 mysql存储过程

目录一、定义二、存储过程的特点三、创建一个简单的存储过程四、存储过程的变量五、变量的作用域六、存储过程参数七、存储过程条件语句八、存储过程循环语句九、存储过程游标的使用十、自定义函数十一、触发器十二、流程控制十三、存储过程+event(事件)十四、本文所用到的表一、定义 存储过程(Stored Procedure)是在大...

2020-05-07 15:11:45 99

原创 Elasticsearch --- (三)快速入门案例实战:电商网站商品管理

1、ES的document数据格式(用json数据格式来表达)2、简单的集群管理操作 (1) 快速检查集群的健康状况 GET /_cat/health?v 如何快速了解集群额健康状况?green、yellow、red?green:每个索引的primary shard 和 replica shard 都是active状态 yellow:每个索引的pri...

2020-04-16 18:56:02 151

原创 Elasticsearch --- (二)在Windows上安装和启动ES(基于5.2.0版本)和 kibana

1、JDK要求 安装jdk,至少1.8.0_73以上版本,java -version2、下载和解压缩 ES 安装包 官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch 如果不想下载最新版的,可以点击“past releases”选择过去的版本3、启动 进入el...

2020-04-16 11:19:35 112

原创 Elasticsearch --- (一)简介

Elasticsearch,分布式、高性能、高可用、可伸缩的搜索和分析系统一、什么是全文检索和Lucene?1、全文检索:倒排索引 2、Lucene: 就是一个jar包,里面包含了封装好的各种建立倒排索引以及进行搜索的代码,包括各种算法。我们就用Java开发的时候,引入Lucene jar,然后基于Lucene的api ...

2020-04-13 11:48:36 57

原创 springboot~ @EventListener事件监听的使用

1、自定义事件首先要创建一个事件,监听都是围绕着事件来进行的。/** * <p>Description:自定义事件 */public class MyEvent{ private String id; private String name; public MyEvent(String id, String name) { t...

2020-01-07 15:22:55 633 1

原创 单选钮取消选中

//单选钮取消选中var flag = true;function isClick(click){ click.checked = flag; if(click.checked== true){ }else{ } flag = !flag;}

2019-12-09 10:04:22 72

原创 freemark语句的用法案例

<#if type == 1>//判断类型是否为1 <#if imgUrl??> //判断图片地址是否为空,如果不为空则执行下面的脚本 <img src="${imgUrl ! ''}" /> <#else>//否则 选择默认图片 <img src="../defalut...

2019-11-29 15:44:52 60

原创 layui框架 --- layer弹出层的简单使用

layer.confirm('icon测试', {icon: 1, title:'提示'}, function(index){ //do something alert("确认"); layer.close(index); }); layui官网

2019-11-06 09:48:00 90

转载 三分钟 整合 SpringBoot-Mybatis plus 多数据源(只需在配置文件中配置)

1、引入依赖<!-- https://mvnrepository.com/artifact/com.baomidou/dynamic-datasource-spring-boot-starter --><dependency> <groupId>com.baomidou</groupId> <artifactId&g...

2019-10-24 17:16:19 160

原创 给表格的某列单独设置样式

//----------------------()值从1开始.modal-content table tbody tr td:nth-child(2) { border: 1px solid #e7eaee; text-align: left; padding-left: 15px; height: 36px;}

2019-10-22 16:19:53 474

原创 js将数值转化为万、亿、万亿并保留两位小数

// 数字转换 var numberFormat = function (value) { var param = {}; var k = 10000, sizes = ['', '万', '亿', '万亿'], i; if(value &lt...

2019-10-21 15:35:09 623

原创 MySQL常用函数

一、字符串函数函数 功能 CONCAT(str1,str2,...) 字符串连接,连接目标个数不限 INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr LOWER(str) 转小写 UPPER(str) 转大写 LEFT(str,x) 返回字符串str最左边的x个字符 R...

2019-10-08 11:40:21 28

原创 Java基础细节

1、输出结果是什么?System.out.println(1+2+"a");System.out.println("a"+1+2);第一行输出3a,第二行输出a12因为执行的时候是从左到右的,遇到字符串就会强转为字符串。第一行执行的是:String str=String.valueOf(1+2); String sb=new StringBuffer(str).ap...

2019-09-26 11:04:21 50

原创 日期时间工具类

//获取指定日期的前后几天的日期。day为正数代表后几天,负数代表前几天的日期。 public String getDay(Date date,int day) { Calendar c = Calendar.getInstance(); c.setTime(date); int d = c.get(Calendar.DATE); c.set(Calendar.DATE, d+...

2019-09-23 14:38:36 26

转载 实现js连续点击事件但最终只触发一次

(1)//声明两个变量var lastTime,num; function lockClick() { //获取当前毫秒数 var nowTime = new Date(); if (lastTime == undefined || Math.round(nowTime.getTime() - lastTime.getTim...

2019-09-02 11:38:44 466

原创 idea 自动生成类和方法的注释

1、自动生成类的注释File - settings - Editor - File and Code Templates - Files - Class注释模板/** *<p>Description:${description} *<br> *<p>author:linyf *<br> *<p>Date:C...

2019-08-12 11:13:48 85

转载 jQuery 之 DataTable 中 参数详解和 columns 的属性讲解

1、datatables 参数详解:method:'get',//请求方式(*) toolbar:'#toolbar',//工具按钮用哪个容器 striped:true,//是否显示行间隔色 cache:false,//是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination:true,//是否显示分页(...

2019-08-09 17:17:49 1153

原创 Jquery datatable 动态隐藏列(根据有无值)

一、场景前端利用datatable初始化的时候会向后端调用数据,需求是 要动态的使某一列根据传回来的一个标志位是否有值来决定显示与否这是当前传回值有活动优惠幅度的情况下:这是没有活动优惠的情况下:可以发现【活动优惠幅度】这一列都被隐藏了二、实现方法及原理1、实现过程:在 "columns":[] 的当前列之中 如 {orderable: false,sClas...

2019-08-09 17:10:45 826

原创 工厂模式示例

1、工厂import org.springframework.stereotype.Component;import javax.annotation.Resource;/** * <p>Description:获取法人状态工厂,根据不同的法人类型获取法人状态 */@Componentpublic class GetStatusFactory { //...

2019-08-08 17:04:20 49

原创 Java8新特性《1》

目录一、Lambda表达式1、为什么使用Lambda表达式2、Lambda表达式的基础语法(都要基于一个接口)(1)语法格式一:无参,无返回值(2)语法格式二:一个参数,并且无返回值(3)语法格式三:若只有一个参数,参数的小括号可以不写(4)语法格式四:有两个以上参数,有返回值,并且 Lambda 体中有多条语句(5)语法格式五:若 Lambda 体中只有一条...

2019-07-02 17:28:34 79

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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