自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(291)
  • 问答 (1)
  • 收藏
  • 关注

原创 记一次有趣的BUG

导出功能与迅雷浏览器下载插件的冲突事件的起因有一天接到一个导出excel文件数据的需求,系统是一个springboot的网页项目,框架中已有整合导出工具,是个很小的功能,日常写完代码运行程序,测试了一下,完美运行,测试通过后,随着其他功能一起上线了,本来事情到这也就改结束了.后来发现,当导出前,页面上选中的条件过多时,前端的下载excel文件路径就太长了,导致前端请求发送失败,搜索一下后发现,get请求不支持太长的路径,于是乎改用post请求的方式发送.参照网上的解决方式,创建一个form表单元素

2022-05-10 15:10:04 305

原创 ElasticSearch-HTTP操作

所需环境安装并成功运行elasticsearch下载postman创建索引- PUT请求http://IP地址:端口/索引名称查看单个索引信息- GET请求http://IP地址:端口号/索引名称返回结果{ "xiemaoshu": { // 索引名称 "aliases": {}, "mappings": {}, "settings": { // 设置 "index": { .

2021-05-23 20:49:59 315 2

原创 Hadoop-MapReduce原理

MapReduce是将一个大任务分成多个小任务(Map),并执行之后,合并结果(reduce).其实许多分析计算的过程都可以拆分成两个步骤Map:分成多个子任务reduce:合并所有子任务的执行结果举一个例子:假设现在有1000副扑克牌,其中有一个副扑克牌中少了一张,如何找出少了哪一张牌?如果使用MapReduce的方式就是先将1000副扑克牌分成多份,比如说分成5份,交由5个人手中,每个人开始将手中的牌进行分类计算,每个人都会得出A有几张,2有几张等等,最后得出结果,分析.

2021-03-08 00:01:44 365

原创 HDFS使用

查看HDFS的文件列表hadoop fs -ls /在HDFS之中创建文件夹hadoop fs mkdir 目录名称将本地文件上传到HDFS之中hadoop fs -put 本地文件路径 hdfs目录名称将HDFS中的文件下载到本地hadoop fs -get HDFS文件目录 下载到本地目录...

2021-03-02 23:24:31 135

原创 HDFS读写文件流程

HDFS读取文件流程客户端发送读取文件请求到NameNodeNameNode返回元数据(文件名,块路径)给客户端客户端根据元数据读取对应的数据块,然后将数据库组装得到文件HDFS写文件流程将文件拆分成多个块(Block,每个block大小为64M)返回可用的DataNode将块写入DataNode进行流水线复制,将块复制到其他DataNode更新元数据...

2021-02-24 23:43:04 102

原创 Hadoop基本概念与数据管理策略

HDFS基本概念快(Block)HDFS的文件被分成块进行存储,HDFS块的默认大小为64M,块是文件存储处理的逻辑单元NameNodeNameNode是管理节点,存放文件元数据,元数据包含以下两个部分文件与数据块的映射表数据块数据节点的映射表DateNodeDateNode是HDFS的工作节点,存放数据块数据管理策略数据库副本HDFS的每个数据块会有三个副本,分布在两个机架内的三个节点,以确保任何一个节点发生故障时,可以通过其他节点获取数据心

2021-02-24 23:31:55 91

原创 Hadoop安装

安装前置条件:已安装好JDK并配置环境变量开始安装Hadoop下载Hadoop压缩包,使用wget方式获取wget https://archive.apache.org/dist/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz将压缩包加压到/opt目录下mv hadoop-1.2.1.tar.gz /optcd /opttar -zxvf hadoop-1.2.1.tar.gz解压完成之后,进入conf/目录中,需要配置以下四个.

2021-02-13 18:54:10 125

原创 Hadoop简介

Hadoop的由来随着网络时代的发展,用户产生的数据越来越多,大数据时代来临.于是许多政府和企业开始关注如何去获取更多的数据,从数据中挖掘出更多的价值.例如:从众多视频监控数据中发现潜逃罪犯,企业通过多年的盈利亏损数据来分析未来企业的发展趋势等等.谷歌公司最早提出了大数据的解决方案,并且很好地降低了存储数据的成本,谷歌最早的大数据技术为:Google File System:文件系统MapReduce:编程模式和运行环境BigTable:一个SortMap但是由于谷歌没有提供

2021-02-11 18:55:16 194

原创 elasticsearch-基本概念理解

集群与节点一个elasticsearch服务就是一个节点,多个节点可以组成一个集群,每个节点只能属于一个集群,每个节点可以有自己的名称,对应同一个名称的集群,主节点(master)只有一个,其他都是随从节点(salve).每个节点可以部署在不同的服务器上作为分布式部署,也可以将所有节点部署在同一台服务器上称之为伪分布式部署.2. 索引含有相同属性的文档集合,在MySQL中可以看做一个数据库类型索引可以定义一个或多个类型,文档必须属于一个类型,可以吧类型看做MySQL中的数据表.

2021-01-16 22:33:41 159

原创 ElasticSearch-分布式安装

前置条件已安装启动一个elasticsearch服务已安装启动elasticsearch-head插件配置master,设置主节点设置一个elasticsearch为主节点,修改主节点安装目录下的elasticsearch.yml配置文件,添加以下内容# 设置集群名称为:"wali"cluster.name: wali# 设置节点名称node.name: master# 设置当前节点为 masternode.master: true# 设置绑定ip network.hos.

2021-01-16 18:01:30 284

原创 ElasticSearch-head插件安装

安装启动es服务之后,从页面中访问得到的是json格式的数据,这样不便于查看使用,于是我们可以借助es的插件来添加一下功能使得es使用起来更加的方便使用Head插件解决es访问浏览器界面的问题.使用GitHUb搜索下载elasticsearch-head,国内可以使用gitee搜索,有同步github的仓库.elasticsearch-head下载完毕之后,使用NodeJs进行编译安装,进入elasticsearch-head主目录npm install配置ElasticSe..

2021-01-16 16:26:42 167

原创 ElasticSearch简介与单实例安装

ElasticSearch简介ElasticSearch是一个数据搜索分析引擎,业界简称ES,拥有分布式,RESTful接口风格等特点,使用Java语言编写,作为Apache许可条款发布的开源项目.能够达到实时搜索,稳定,可靠,快速,安装使用方便.各大互联网厂商如:谷歌,百度,淘宝等都有使用.ElasticSearch的单例安装进入官网进行下载注意:国内下载太慢可以去镜像中下载elasticsearch-镜像elasticsearch依赖java环境,7.x的版本需要jdk11,如

2021-01-16 15:40:43 153

原创 Android搭建开发环境

下载SDKhttps://www.androiddevtools.cn/得到压缩包,解压即可(注:解压目录不要带中文字符)下载Android应用开发工具这里选择 Android Studio,使用ToolBox 工具下载,下载完需要购买授权或者试用30天https://www.jetbrains.com/toolbox-app/配置path环境变量在windows上设置系统环境变量,新建变量 ANDROID_SDK_ROOT在path中添加 ANDROID_.

2020-11-29 11:10:20 227

原创 vue简介

什么是vue?官网上的介绍为:渐进式JavaScript 框架,那么渐进式是什么意思?Vue 被设计为可以自底向上逐层应用.也就是说:Vue可以作为当做一个库,来引入到项目中,使用vue某些功能,来完成项目中的部分开发.同时vue也可以当做一个框架来搭建起一个项目工程.这两者的区别在于前者作为一个项目的参与者角色存在.而后者作为一个项目的根基,主角一般的存在.因为vue的这种设计使得vue在使用时变得非常灵活.vue的创建者大名鼎鼎的尤雨溪(跪拜大神),B站上有他的视频为什

2020-07-19 18:14:02 436

原创 ffmpeg视音频处理工具

FFmpeg是一套对视频,音频进行格式化,转码,内容编辑,合并等操作的工具.ffmpeg官网http://ffmpeg.org/ffmpeg对各大操作系统均有支持,github上中有其对应的源码,也可以直接下载编译后的工具使用下载后将文件解压得到以下文件,其中bin目录下为所有ffmpeg可以行文件工具示例:为视频添加背景音乐命令格式,windows下需要加上...

2020-03-12 10:53:28 297

原创 spring简单封装hibernate-validator进行参数检验

在实际的开发中,当进行向数据库中插入或更新数据的操作的时候,常常会需要对数据是否合法进行必要的判断,例如判断一个电话号码格式是否合法,身份证号码是否合法,邮箱地址是否合法等等.如果这些操作都需要用java代码一个一个进行判断的话,不仅代码重复率特别高,而且也容易出错.因此,如果有一个简单可复用的方式来进行这些操作,那么会使程序变得更加完美.java中自带了一套参数检验的api,但是随着jav...

2020-01-16 10:27:50 387

原创 springboot配合jquery发送ajax实现跨域请求

在使用jquery发送ajax时,默认情况下只能够访问同域名下的资源,例如当前页面所在域名为http://localhost:63342/miaosha/html/register.html?_ijt=qo0hebcgeo2ad7dqkkg4of8m65如果ajax要访问的路径为 url:"http://localhost:8099/user/register",...

2020-01-15 11:16:23 1888 3

原创 Spring AOP实例--使用自定义注解

开发中遇到一个统计用户使用次数的需求,例如,统计系统中搜索功能被用了几次,计算器功能被用了几次等等…原本是想着在每个对应的方法中向数据库添加一条记录数据,但是后来朋友建议我使SpringAOP技术实现.细想一下,直接在要统计的目标方法中修改代码不是很好,而且要统计的地方不止一处,这需要在每个需要统计的方法中修改代码,不仅代码重复,而且容易出错最后想了想,还是打算使用aop实现吧由于对ao...

2020-01-07 11:58:11 469

原创 Nginx负载均衡

linux中配置nginx负载均衡:当用户访问量过多时通过配置多个服务,通过nginx配置将访问按照一定的策略分配到不同的服务中,从而达到负载均衡的目的.如果linux中配置了多个服务,通过以下方式配置nginx负载均衡修改nginx.conf配置文件在http模块下添加一个"upstream"模块"myserver “为自定义的名称upstream myserver { ...

2019-12-09 18:57:27 150

原创 Nginx反向代理实例二

参考博客https://www.cnblogs.com/sxmny/p/11224842.htmlhttps://www.cnblogs.com/lhm166/articles/6604852.htmlhttps://blog.csdn.net/Cafe_Boy/article/details/102876664要进行该博文实例测试,需要满足以下条件已在Linux虚拟机中安装...

2019-12-07 19:27:48 129

原创 centos7配置静态ip时遇到的一个问题

在学习linux时使用虚拟机安装了centOS7版本的主机,在为主机配置静态ip的时候遇到了一个问题,特此记录一下,也未给其他学习linux的朋友一个参考.问题重现使用"vim"命令修改"/etc/sysconfig/network-scripts/ifcfg–ens*的网络配置文件,修改内容如下YPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=no...

2019-12-03 15:43:51 423

原创 nginx反向代理实例

本博客书写时参考了以下博客内容https://www.cnblogs.com/ysocean/p/9392908.html反向代理准备工作在linux上已安装完成nginx并能正常启动服务已安装jdk并配置好环境变量安装tomcat查看nginx服务器所在ip地址ifconfig在服务器上启动tomcat并输入ip地址加8080端口号可以正常访问t...

2019-12-01 20:40:47 188

原创 nginx常用命令和配置文件

在没有做任何配置前,要使用nginx的命令需要进入到nginx的sbin文件夹下查看nginx版本号./nginx -v启动nginx./nginx停止nginx./nginx -s stop重新加载./nginx -s reload当修改了nginx的配置文件之后,如果需要立即生效就可以使用重新加载命令使配置生效nginx配置文件...

2019-12-01 19:03:33 168

原创 Nginx学习笔记-linux上安装Nginx

参考博客地址https://www.cnblogs.com/jackyzm/p/9600738.htmlhttps://www.linuxidc.com/Linux/2019-06/159104.htm准备环境:centOS7(带图形界面)准备工作:在虚拟机中安装好一个centOS7版本并配置好网络.由于Nginx需要许多依赖的软件,所以在安装Ngin...

2019-11-30 19:06:43 162

原创 Nginx(概念)-负载均衡和动静分离

负载均衡传统的网络请求方式为客户端发送一个请求给代理服务器,代理服务器转发到对应的目标服务器上,而后目标服务器进行对应的操作,可能会访问到数据库,最后将执行结果星响应到客户端.这样的方式在访问量不大的情况下这样的模式不会出现什么问题,但是当出现大量用户同时访问的情况下,服务器就很容易奔溃…可以采取升级电脑配置,或者采用多个服务器处理请求.这就好比一个人去推一辆汽车,一个人推不动的情...

2019-11-24 19:36:41 191

原创 Nginx-正向代理和反向代理

正向代理正向代理,当客户端无法直接访问目标服务器的时候,可以通过在客户端上设置代理服务器而后由代理服务器访问目标服务器.打个比方说:我看到一个心仪的女生,但是她是隔壁办公室,我无法直接要到她的联系方式,但是我的同事小张与隔壁办公室的人有联系,于是我拜托小张来帮询问那个女生的联系方式.反向代理代理服务器与目标服务器可以看做在同一个服务器上,只是访问端口号不一致,客户端通过直接访问代...

2019-11-24 17:18:57 143

原创 尚硅谷Nginx学习笔记-Nginx简介

Nginx简介个人理解:Nginx 是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的一个软件,主要用于为服务器做反向代理(请求转发),平衡服务器运行速度.详情:Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 是...

2019-11-24 13:25:35 1423

原创 java8新特性-重复注解与类型注解

重复注解重复注解表示可以在同一处位置(方法,类,类变量等等)多次使用同一个注解,效果如下.public class TestJava8_12 { @MyAnnotation("xiemaoshu11111111111") @MyAnnotation("lanChaoGou") public void show() { System.out.print...

2019-11-23 20:03:21 192

原创 java8新特性-新日期api

LocalDate、LocalTime、LocalDateTime 类的实例是不可变的对象,分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。它们提供了简单的日期或时间,并不包含当前的时间信息。也不包含与时区相关的信息。使用新日期api获取当前时间public class TestNewDateApi { @Test public void test...

2019-11-17 20:44:42 107

原创 java8新特性-接口中的默认方法和静态方法

接口中默认方法Java 8中允许接口中包含具有具体实现的方法,该方法称为“默认方法”,默认方法使用 default 关键字修饰。public interface DefaultFun { default String getInfo(){ return "接口中的默认方法"; }}接口默认方法的”类优先”原则若一个接口中定义了一个默认方法,而另外一...

2019-11-17 20:05:15 128

原创 Optional类

Optional 类(java.util.Optional) 是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且可以避免空指针异常。常用方法:Optional.of(T t) :创建一个 Optional 实例Optional.empty() :创建一个空的 Optional ...

2019-11-17 18:55:29 87

原创 java8新特性-串行流与并行流

并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。Java 8 中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream API 可以声明性地通过 parallel() 与sequential() 在并行流与顺序流之间进行切换....

2019-11-17 15:59:16 576

原创 java8新特性-Stream-终止操作

查找与匹配终端操作会从流的流水线生成结果。其结果可以是任何不是流的值,例如:List、Integer,甚至是 void 。方法描述allMatch(Predicate p)检查是否匹配所有元素anyMatch(Predicate p)检查是否至少匹配一个元素noneMatch(Predicate p)检查是否没有匹配所有元素findFirst()...

2019-10-26 20:09:29 1541

原创 java8新特性-强大的Stream Api

了解 StreamJava8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 Stream API(java.util.stream.*)。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 S...

2019-10-12 15:05:31 122

原创 java8新特性-方法与构造器引用

为何使用方法与构造器引用如果不使用Lambda表达式进行程序编写的话,那么大可不必关注方法引用和构造器引用,但是如果使用Lambda表达式在配合方法引用和构造器引用之后可以使Lambda编写匿名内部类代码更加简洁.在不影响性能的前提下简洁的代码可以增强代码的可读性(当然是在阅读者知晓对方语法的前提下)方法引用当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用!(实...

2019-10-05 19:35:06 95

原创 java8新特性-内置四大核心函数式接口

要使用Lambda表达式往往离不开使用函数式接口,但是如果每次使用Lambda表达式都要自定义一个函数式接口的话,那么Lambda表达式就没有完全起到简化代码的作用.所以java8中内置了一些函数式接口来供开发者们调用,这样就不需要开发者们重复定义函数式接口了.java8中核心的函数式接口有以下四个名称作用参数返回值Consumer<T>...

2019-10-05 12:51:59 371

原创 java8新特性-Lambda表达式语法

Lambda表达式可以很简洁的代替匿名内部类的代码编写,而匿名内部类往往是实现某一接口的一个抽象方法.所以使用Lambda表达式最应该关注的应该是接口的抽象方法,并且这个接口还必须只有一个抽象方法.我们称这种只有一个抽象方法的接口为—“函数式接口”. 在java中一个函数式接口可以使用 @FunctionalInterface 注解表示以Runnable接口为例,Runnab...

2019-10-04 19:51:11 151

原创 java8新特性-Lambda表达式

为什么使用Lambda表达式?使编写匿名内部类更加简洁在默写特殊的情况下我们可能要建立一个类来实现某一个接口,覆写其中的一个方法,来完成一些自定义的功能,而往往这种操作只需要使用一次,或者很少使用,这种情况下使用匿名内部类来解决一次性的使用情况,然而匿名内部类中真正有用到的只有其中一小部分代码,但是由于java旧版本的语法要求,需要编写多余的代码格式.反面示例:比较器...

2019-10-03 21:41:03 98

原创 java8新特性-简介

简介主要新特性Lambda表达式函数式接口方法引用与构造器引用Stream API接口中的默认方法与静态方法新时间日期API其他新特性主要的新特性为:Stream API和Lambda表达式java8de新特新对于开发者来说拥有了以下几个特点速度更快:java8对于底层数据结构(hashMap表)进行了数据存储优化(红黑树),提高了数据存储和读取的速度代码...

2019-10-03 18:42:56 120

原创 shiro学习笔记---shiro认证&授权

编写代码测试认证创建maven工程,引入shiro和junit依赖<dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactI...

2019-09-01 15:07:17 148

空空如也

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

TA关注的人

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