自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在远程服务器中安装并使用ElasticSearch

首先 先下载 压缩包wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.tar.zip然后在目标文件下新建 文件夹 es 文件夹之后解压 tar -zxvf elasticsearch-6.8.0.tar.gz -C /usr/local/elasticsearch-6.8.0/elasticsearch-6.8.03 - 去这个 es 的配置文中#在文件夹下执行vim config/ela

2021-09-24 17:09:15 288 1

转载 HTTP与TCP的区别和联系

今天被同事问了一下socket 我发现我忘记了 只记得http 与tcp 我今天复习下HTTP与TCP的区别和联系相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。一、基本概念1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”:

2021-07-29 14:14:43 216

原创 Elasticsearch启动报错:future versions of Elasticsearch will require Java 11

之前本地有7.13版本的 以为是版本不对应来着 后来吧版本7.13全删了还有这个问题future versions of Elasticsearch will require Java 11; your Java version from [C2 :Program FilesJavajdk1.8.0_181jre] does not meet this requirement3 Warning: with JDK 8 on Windows, Elasticsearch may be unable to

2021-07-23 18:02:04 6161

转载 详细描述一下Elasticsearch搜索的过程

我们都知道es是一个分布式的存储和检索系统,在存储的时候默认是根据每条记录的_id字段做路由分发的,这意味着es服务端是准确知道每个document分布在那个shard上的。相对比于CURD上操作,search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能,所以一个search请求必须查询一个索引或多个索引里面的所有shard才能完整的查询到我们想要的结果。找到所有匹配的结果是查询的第一步,来自多个shard上的数据集在分页返回到客户端的之前会被合并到

2021-07-15 15:38:16 902

转载 Elasticsearch查询——布尔查询Bool Query

这段时间项目遇到es 查询 我也学习了一下 在kibana 中的 语句lasticsearch在2.x版本的时候把filter查询给摘掉了,因此在query dsl里面已经找不到filter query了。其实es并没有完全抛弃filter query,而是它的设计与之前的query太重复了。因此直接给转移到了bool查询中。Bool查询现在包括四种子句,must,filter,should,must_not。为什么filter会快?比如,query的时候,会先比较查询条件,然后计算分值,最后返

2021-06-17 11:35:05 216

原创 elasticsearch ReceiveTimeoutTransportException 解决

公司项目遇到一个es 问题先放下图片一直报这个问题总结下出现这个问题的原因 1 配置的问题 但是配置是没毛病的 (自我感觉良好!)2 要么是网络的问题网不好可能会导致这个问题3 要么是 client.transport.sniff问题当ES服务器监听使用内网服务器IP而访问使用外网IP时,不要使用client.transport.sniff为true,在自动发现时会使用内网IP进行通信,导致无法连接到ES服务器,而直接使用addTransportAddress方法进行指定ES服务器。目前

2021-06-08 16:24:02 950

转载 Nacos注册配置中心介绍 以及项目中的使用

Nacos注册中心分为server与client,server采用Java编写,为client提供注册发现服务与配置服务。而client可以用多语言实现,client与微服务嵌套在一起,nacos提供sdk和openApi,如果没有sdk也可以根据openApi手动写服务注册与发现和配置拉取的逻辑Nacos服务领域模型主要分为命名空间、集群、服务。在下图的分级存储模型可以看到,在服务级别,保存了健康检查开关、元数据、路由机制、保护阈值等设置,而集群保存了健康检查模式、元数据、同步机制等数据,实例保存了该

2021-05-25 15:30:35 327

转载 深入理解MySQL索引底层数据结构与算法

好久不写笔记啦 嘿嘿 今天补充下1.索引是什么索引(Index)是帮助MySQL高效获取数据的数据结构,相当于数据的目录MySQL的两种搜索引擎分别是MyISAM搜索引擎和InnoDB搜索引擎我们经常用到的是InnoDB搜索引擎2.1 MyISAM搜索引擎MyISAM引擎使用B+Tree作为索引结构叶节点的data域存放的是数据记录的地址以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意可以看出MyISAM的索引文件仅仅保存数据记录的地址在MyI

2021-05-20 15:22:44 80

原创 nginx 反向代理 以及优缺点

负载均衡算法:(1)对所有的后台服务器轮训发送请求。(2)跟踪和后台服务器当前的活跃连接数目,最少的连接数目说明这个服务器负载最轻,将请求分配给它。(3)请求会分配给响应最快和活跃连接数最少的后台服务器(4)以用户自定义资源(如url)的方式计算hash值完成分配,其可选consistent关键字支持一致性hash特性。会话一致性:用户(浏览器)和服务器端交互的时候,通常在本地保存一些信息,而整个过程叫做一个会话(Session)并用唯一的Session ID标识。因为HTTP协议是无状态的,

2021-04-13 14:57:45 3016

转载 annot acquire connection from data source java.sql.SQLException: 超过了最大连接限制

遇到mysql超出最大连接数,相信不少人第一反应就是查看mysql进程,看有没有慢查询,当然这个做法是完全正确的!但是很多时候真正的问题不在这里。今天有遇到同样的问题,一味查看mysql进程和慢查询日志,无果。后来老大提点了一下,查看一下nginx日志,发现有一两个访问执行时候比较长,然后使用top命令查看了一下服务器负载,惊了,居然超高!最后发现原来有一台web分流主机挂了,导致另外几台web主机负载增高,从而导致了php-fpm的执行效率降低。那么这跟mysql有什么关系呢?原因很简单,因为p

2021-04-08 17:17:21 2148

原创 maven中scope=compile 和 provided区别

解释:其实这个问题很简单。对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact对应的jar包在classpath中。而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact。换句话说,它只影响到编译,测试阶段。在编译测试阶段,我们需要这个artifact对应的jar包在classpath中,而在运行阶段,假定目标的容器(比如我们这里的liferay容器)已经提供了这个ja

2021-03-25 15:54:04 324

转载 mybatis 的一级缓存以及二级缓存

一级缓存Mybatis的一级缓存是指Session缓存。一级缓存的作用域默认是一个SqlSession。Mybatis默认开启一级缓存。也就是在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询,并写到缓存中;第二次以后是直接去缓存中取。当执行SQL查询中间发生了增删改的操作,MyBatis会把SqlSession的缓存清空。一级缓存的范围有SESSION和STATEMENT两种,默认是SESSION,如果不想使用一级缓存,可以把一级缓存的范围指定为STATEMENT,这

2021-03-09 16:58:17 288

转载 Mybatis用了哪些设计模式你应该知道这些

虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用。Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;工厂模式,例如SqlSessionFactory、ObjectFacto

2021-03-01 11:11:36 80

转载 redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolredis.clients.util.Pool.getResource(Pool.java:50)redis.clients.jedis.JedisPool.getResource(JedisPool.java:88)com.radiadesign.catalina.session.RedisSessionMana

2021-02-25 15:01:17 370

转载 TCP 为什么三次握手而不是两次握手(正解版)

大部分网络博客的错误解读首先需要声明的是, 百度搜索到的大部分网络博客关于这个问题的解答都是不清晰或者不准确的。 讨论这个问题的大部分博客都会引用《计算机网络》的内容:防止已失效的连接请求又传送到服务器端,因而产生错误不幸的是, 这种解释是不准确的, TCP 采用三次握手的原因其实非常简单, 远没有大部分博客所描述的那样云山雾绕。这里先给出结论:为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方

2021-02-23 17:48:29 117

转载 HashMap 与TreeMap之间的区别

首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。HashMap 非线程安全 TreeMap 非线程安全线程安全在Java里,线程安全一般体现在两个方面

2021-02-02 16:57:00 478

原创 为什么要禁止除GET和POST之外的HTTP方法?

HTTP请求方法有哪些众所周知,GET、POST是最为常见方法,而且大部分主流网站只支持这两种方法,因为它们已能满足功能需求。其中,GET方法主要用来获取服务器上的资源,而POST方法是用来向服务器特定URL的资源提交数据。而其它方法出于安全考虑被禁用,所以在实际应用中,九成以上的服务器都不会响应其它方法,并抛出404或405错误提示。以下列举几个HTTP方法的不安全性:1、OPTIONS方法,将会造成服务器信息暴露,如中间件版本、支持的HTTP方法等。2、PUT方法,由于PUT方法自身不带验证机制

2021-02-01 15:34:01 637 1

转载 SQL 调优的几种方式

首先第一种当数据库单表数据量非常大的时候,使用普通查询耗时非常多,默认会根据搜索条件全表扫描;添加索引后,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。添加索引的话,首先去索引列表中查询,而我们的索引列表是B类树的数据结构,查询的时间复杂度为O(log2N),定位到特定值得行就会非常快,所以其查询速度就会非常快。此时在没有创建索引的情况下查询指定时间段一次耗时1秒多,生产上的数据量查询一次是4秒多,已经相当慢了至此考虑需要在查询条件上添加索引,

2021-02-01 15:19:28 429

原创 No EntityManager with actual transaction available for current thread - cannot reliably process

No EntityManager with actual transaction available for current thread - cannot reliably process ‘remove’ cal原因是在删除操作上没有添加事务管理。解决方法:在对应的@Service或组件上添加@Transactional即可。

2020-12-10 10:02:45 1484

转载 为什么加序列化

Serializable是一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上,Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。序列化的应用场景比如说你的内存不够用了,那计算机就要将内存里面的一部分对象暂时的保存到硬盘中,等到要用的时候再读入到内存中,硬盘的那部分存储空间就是所谓的虚拟内存。在比如过你要将某个特定的对象保存

2020-12-01 17:48:39 123

转载 接触过的负载均衡 对比

服务器端负载均衡 Nginxnginx 是客户端所有请求统一交给 nginx,由 nginx 进行实现负载均衡请求转发,属于服务器端负载均衡。既请求由 nginx 服务器端进行转发。客户端负载均衡 RibbonRibbon 是从 eureka 注册中心服务器端上获取服务注册信息列表,缓存到本地,然后在本地实现轮询负载均衡策略。既在客户端实现负载均衡。** 应用场景的区别:**Nginx 适合于服务器端实现负载均衡 比如 Tomcat ,Ribbon 适合与在微服务中 RPC 远程调用实现本地服

2020-11-22 10:27:24 131

转载 SpringData JPA 的作用

JPA规范基础下提供了 Repository 层的实现 , 能够方便大家在不同的ORM框架之间进行切换而不要更改代码 .PS : 我们用不同的ORM框架 , 在DAO层写业务代码会稍微有差异 , SpringDataJPA 就是为了解决这个出现的.JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术结束Hibernate、Top

2020-11-05 09:08:28 483

转载 windows环境下如何配置redis

首先需要成功安装redis,安装教程详见windows环境redis如何安装;Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf;我们可以通过CONFIG命令查看或者修改配置项参考菜鸟教程redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfil

2020-11-01 14:52:25 375

转载 yml和properties的加载顺序和区别:

.yml格式的文件: 天然的树形结构,相同的前缀只需要写一次。server:port: 7081spring:elasticsearch:jest: uris: - http://192.168.0.216:9200 read-timeout: 50003.properties格式的文件:所有相同的前缀每一次都需要书写。server.port=7081spring.elasticsearch.jest.uris[0]=http://192.168.0.216:9

2020-07-07 09:15:41 371

原创 Shiro拦截器

今天了解了一个项目 关于插入时候要注意的问题我先说下问题 就是我插入的时候总出现总差不进去看了好长时间 都不理解 后来发现原因在于你插的时候这个字段的至跟实体类的不一样然后实体类的是然后我的ajax 就一直发送不过来 我就发现我之前写了一个方法 直接拦截了 就是把要是对应不上后台的实体类属性 之前的项目会走后台然后执行方法 这下 拦截器直接拦住直接报错服务器连接错误所以在这里要给自己提个醒 !...

2020-07-06 17:44:43 177

转载 springcloud组件之间的关系

概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。一、业务

2020-07-01 14:51:11 907 1

原创 linux 操作命令

这几天将项目放到服务器上了 然后学了一些linux的命令吧 我觉得还不错 这里着一下总结吧然后我也是找了一找资料查询:ls查看全部内容:ls -n删除:rm -rf 文件名创建目录: mkdir解压:rpm -验证是否安装:rpm -p 文件名rpm -ivh --nodeps 不需要前置条件的安装查询当前路径: pwd查询java环境变量:java -version查看文件的方法:cat 文件名mv 原名 修改名 修改文件名rpm -qa |grep java 看是否安装了jav

2020-06-30 10:31:11 90

原创 fileZilla的使用心得

FileZilla是一款免费开源的FTP客户端软件,虽然它是免费软件,可性能却一点也不含糊,比起那些共享软件来有过之而无不及,具备大多数的FTP软件功能。其可控性、有条理的界面和管理多站点的简化方式、特别是它的传输速度,简直是出神入化,也是它最大的特色。总的来说是它一款出类拔萃的免费FTP客户端软件(Filezilla下载)。下面是FileZilla的使用教程:FileZilla是一款免费开源的FTP客户端软件,虽然它是免费软件,可性能却一点也不含糊,比起那些共享软件来有过之而无不及,具备大多数的FTP软件

2020-06-16 09:57:34 513

原创 解决 Unknown property used in expression: ${manage}

原因在于你设置的时候出错在建立Map对象的时候设置的值写错点击提交的时候走的路径出现错误 导致找不到manage这个对象 出现错误知识在于积累吧 每天进步一点

2020-06-10 13:59:33 18047

原创 activiti框架中审批思想

这就是所谓的表单路径再写好构图的时候就直接写好路径这个路径就直接重定向到新的请求上去了拿到了taskId

2020-06-09 11:49:29 114

原创 审批列表查询

如何遍历for循环拿到像审批条件这个是写了一个saleVO去遍历将activiti框架自带的task对象 传到SaleVO中去遍历可以看下前台这个时候对应的对象直接审批就好这个东西还是要积累 唉 心累

2020-06-09 11:02:15 524

转载 @Transactional(rollbackFor=Exception.class)

在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇...

2020-03-30 11:08:23 242

原创 Address already in use: bind SpringBoot项目端口号占用

这篇文章是转发的话不多说直接上图打开cmdwindow+R然后查看netstat -ano|findstr “8081”(这里我是端口号8081) 有的人是别的端口号然后查看进程找到对应的 进程号 杀死就ok啦tasklist|findstr “20736”杀死之后再重新启动就欧克啦ok 搞定!!!...

2020-03-29 12:02:18 126

原创 MYsql server host localhost(0)

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200326101653744.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDc3MjM4MA==,size_16,color_...

2020-03-26 10:21:01 300

原创 Data too long for column 'content' at row 1

:Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘content’ at row 1; SQL []; Data truncation: Data too long for column ‘content’ at row 1; nested exception is com...

2020-01-08 09:51:52 743

原创 shiro授权问题 详细介绍

首先我先把图放上面主要介绍一下首先通过 shiro 相关的api创建 securityManager对应的subject 对象2判断subject 主体是否通过认证3 通过 subject .ispermitted()/hasRole方法进行权限判断subject是由他的实现类DelegatingSubject调用方法的该类将处理交给securityManager 由他的实现类Defau...

2019-12-30 17:36:10 152

原创 shiro的散列算法

shiro最闪亮的四大特征:认证,权限,加密,会话管理为了提高应用系统的安全性,这里主要关注shiro提供的密码服务模块;1.加密工具类的熟悉首先来个结构图,看看shiro提供了哪些加密工具类:加密算法分为三种 主要就是1 对称加密 2 不可逆加密 3 可逆加密其中主要的就是不可逆加密 MD5 加密package com.zc.pojo;import org.apache.shir...

2019-12-26 17:09:01 152

原创 shiro自定义realm

菜鸟从零开始编程shiro自定义realm我们知道shiro这个框架提供了信息认证和授权的功能性接口,但是shiro是不会帮我们维护数据的,shiro中的用户信息以及用户所对应的权限都是需要我们从数据库查询出来然后传给shiro相对应的接口,因此单单一个jdbcRealm已经无法满足我们的需求了,因为jdbcRealm是写死了的,里面查询的只能是users表。所以,为了满足我们的需求,我们必须...

2019-12-24 17:14:48 211

原创 maven项目导入

maven项目导入进入项目但是jdk,jre ? 项目报错新的改变可以进行如下操作在项目中进行相对应的操作 将jre的删除可以之后加上第一条点击apply完成在preferce中选择Java- complier’确定三条都是1.8 即可 再点击运行run as -maven cleanrun as-maven install执行成功功能快捷键撤销:Ctrl/Command ...

2019-12-20 10:45:46 146

原创 复杂参数restful只是自己复习用

@requestParam的用法@Controllerpublic class StudentController {// private StudentService studentService;// public StudentController() {// studentService = new StudentService();// }@RequestMapping(...

2019-11-09 09:30:34 180

空空如也

空空如也

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

TA关注的人

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