自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 echarts使用心得(地图)

饼图的使用使用最新的echarts版本,引入script文件<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script>html中放置一个div便可js:var myChart = echarts.init(document.querySelector('.gezhongleixing'));//括号里为div的classvar options= {

2021-09-28 10:50:17 694 4

原创 echarts使用心得(散点图)

饼图的使用使用最新的echarts版本,引入script文件<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script>html中放置一个div便可js:var myChart = echarts.init(document.querySelector('.gezhongleixing'));//括号里为div的class var option = {

2021-09-28 10:43:56 254 1

原创 echarts使用心得(柱状图)

柱状图的使用使用最新的echarts版本,引入script文件<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script>html中放置一个div便可js:var myselect = document.getElementById("yearSelectzhibiao");  //获取select对象var option = {

2021-09-28 10:39:53 227 1

原创 echarts使用心得(折线图)

折线图的使用使用最新的echarts版本,引入script文件<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script>html中放置一个div便可js:// 1.实例化对象 var myselect = document.getElementById("yearSelectqye");  //获取select对象,括号里为id let mon

2021-09-28 10:36:43 209 1

原创 echarts使用心得(饼图)

使用最新的echarts版本,引入script文件<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.0/echarts.min.js"></script>

2021-09-28 10:32:12 160 1

原创 前端弹窗推荐一个好用的组件

以前我写前端的时候都是直接使用alert进行弹窗,有点点硬核,这里记录一个比较好用的组件,不知道他的功能到底有多少,但是他的弹窗我用的最多,就记下来以后再次做弹窗也可以继续使用。layer一款jquery的弹出层组件,非常好用。常用的方式有:1.普通弹出一个窗口layer.alert('内容')我们可以设置一些属性内容,比如layer.alert('内容', { icon: 1, offset: "200px", title: '提示'});icon为弹出窗的图标,有0-7八种,

2021-09-28 10:15:27 1172

原创 关于最近接触的前端js已经jquery和常用模板引擎

js一般我们使用js来做一些动态的数据处理,比如和后台接口对接获取数据渲染到页面、对一些div的样式进行动态变化等等在这里我主要记录一下对数据的处理。ajax与后台交互非常好用,大致格式为:$.ajax({ url: '###', type: 'POST', //或者GET dataType: 'json', contentType: 'application/json;charset=UTF-8', data: JS

2021-09-28 09:56:02 105 1

原创 hadoop问题

Hadoop是什么Hadoop是一个由Apache基金会锁开发的分布式系统基础架构主要解决:海量数据的存储和海量数据的分析计算问题广义上来说,hadoop通常是指一个更广泛的概念-hadoop生态圈Hadoop集群出现namenode丢失问题时(原始数据会丢失,除非自行备份过,格式化你懂得)停止一些hadoop服务(hdfs、yarn等)删除所有服务器上的data文件夹删除所有服务器上的logs文件夹格式化hdfs namenode -format常用的配置文件:Hadoo

2021-08-13 09:04:40 95

原创 hadoop完全分布式安装以及集群的配置和启动

(准备三台服务器hadoop128、hadoop129、hadoop130)使用xsync将hadoop和环境变量文件分发到其他服务器上xsync的使用:https://blog.csdn.net/qq_43066945/article/details/119458718但是我们每次使用都需要输入密码,可以使用ssh免密,也可以使用sshpass规避输入密码ssh免密:进入家目录,可能是/home/用户名/中,也可能在/root中ls -alcd .ssh1.执行如下命令:ssh-

2021-08-12 17:30:37 2076 1

原创 Hadoop安装

Hadoop安装:前提:需要安装好jdkhttps://blog.csdn.net/qq_43066945/article/details/119445779下载地址:以3.1.3版本为例https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/上传到linux中解压tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/配置环境变量vim /etc/profile.d/my_env.sh

2021-08-11 16:46:58 48

原创 zookeeper常识

Zookeeper集群选举机制:第一次启动:投票过半数时,服务器id大的作为leader第二次启动选举规则: epoch(leader任期的意思)Epoch大的直接成为leaderEpoch相同,事务id大的成为leader事务id相同,服务器id大的成为leader生产集群安装多少zookeeper合适:奇数台生产经验:(最佳)10台服务器装3台zookeeper20台服务器装5台zookeeper100台服务器装11台zookeeper200台服务器装11台zookeeper

2021-08-10 16:00:09 386

原创 zookeeper使用curator框架实现分布式锁

Pom中添加依赖:<dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>4.3.0</version></dependency><dependency> <groupId>org.apache.cura

2021-08-10 15:59:09 71

原创 zookeeper分布式锁处理

逻辑:接收到请求后,在/locks节点下创建一个临时顺序节点判断自己是不是当前节点下最小的节点,是,获取锁,不是,对前一个节点进行监听获取到锁,处理完业务后,delete节点释放锁,然后下面的节点将收到通知,重复第二步判断。编码实现:新建类DistributedLock,通过构造方法进行逻辑处理public DistributedLock() throws IOException,KeeperException,InterruptedException建立zookeeper连接//1.建

2021-08-10 15:56:48 180

原创 Zookeeper实现服务器动态上下线监听

在zookeeper集群客户端创建/servers节点在springboot项目中创建类:DistributeServer:编写连接zookeeper、注册服务器到zookeeper上,以及业务逻辑public class DistributeServer { private String connectString = "192.168.59.128:2181,192.168.59.129:2181,192.168.59.130:2181"; private int sessi

2021-08-10 15:54:10 253

原创 在java中使用zookeeper的api

Java中初始化zookeeper使用springbootIdea新建springboot项目导入额外的包:<dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.5.3-beta</version></dependency><

2021-08-10 09:01:32 117 1

原创 Zookeeper监听

Zookeeper监听原理:首先要有一个main()线程在main线程中创建zookeeper客户端,这时就会创建两个线程,一个负责网络连接通信(connet),一个负责监听(listener)通过connect线程将注册的监听事件发送给zookeeper在zookeeper的注册监听器列表中将注册的监听事件添加到列表中Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程Listener线程内部调用了process()方法常见监听:监听节点数据的变化: g

2021-08-10 08:54:03 337

原创 zookeeper客户端常用命令

启动客户端时修改服务名称:./zkCli.sh -server hadoop128:2181 hadoop为客户端名字,2181为端口号客户端中create /sanguo “diaochan” //新建一个持久的节点create -e /sanguo //新建一个带序号的持久的节点create -s /sanguo //新建一个短暂的节点get /sanguo //获得节点的值get -s /sanguo //获得节点值和属性get -w /sanguo //节点注册

2021-08-06 16:51:40 107

原创 zookeeper脚本启动方式(一次启动多台)

首先下载sshpass为了免密yum install sshpass随后来到/home/用户名/bin中,没有就新建。新建文件zk.sh,粘贴下列脚本#!/bin/bashcase $1 in"start"){for i in hadoop128 hadoop129 hadoop130doecho --------------------------zookeeper $i 启动 -------------------sshpass -p root ssh -o St.

2021-08-06 16:50:19 1420

原创 Zookeeper集群配置(3台)

先像第一台一样配置2台服务器在zkData文件夹下新建文件myid内容是这个服务器的唯一标识,第一台1,第二台2,第三台3(自定义想用什么数字表示都可以)打开zoo.cfg配置文件,添加集群配置:server.128=192.168.59.128:2888:3888server.129=192.168.59.129:2888:3888server.130=192.168.59.130:2888:3888格式为:server.A=B:C:DA:刚刚myid中定义的唯一标识数字B:服务.

2021-08-06 16:46:50 448

原创 Linux xsync使用与配置

/etc/hosts文件中加入需要的服务器地址,例如:192.168.59.128 hadoop128192.168.59.129 hadoop129192.168.59.130 hadoop130再修改/usr/local/bin/下得xsync文件,如果没有就新建,内容为:#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); thenecho no args;exit;fi #2 获取文件名称p1=$1

2021-08-06 16:45:28 4382 2

原创 Zookeeper配置文件内容解析

# The number of milliseconds of each ticktickTime=2000 //通信心跳时间,zookeeper服务器与客户端心跳时间,单位毫秒# The number of ticks that the initial# synchronization phase can takeinitLimit=10 //LF初始化通信时限# The number of ticks that can pass between# sending a request a

2021-08-06 16:36:45 145

原创 linux没有ifconfig

yum install net-tools.x86_64 -y

2021-08-06 10:33:18 90

原创 linux安装jdk1.8

下载jdk1.8yum install -y java-1.8.0-openjdk-devel.x86_64

2021-08-06 09:50:15 64

原创 自定义maven仓库依赖

这里模拟一个自动配置的自定义新建空项目,随后在空项目中新建2个springboot模块在flyyant-hello-spring-boot-starter中引入flyyant-hello-spring-boot-starter-configure的依赖 <dependency> <groupId>com.flyyant</groupId> <artifactId>flyyant-hello-spr

2021-08-03 10:53:27 318 1

原创 application.properties/application.yml查找配置文件位置

配置文件application.properties/application.yml可以放在:classpath根目录classpath根目录下的config目录下jar包当前目录jar包当前目录下的config目录下/config子目录的直接子目录由上往下加载,最后加载的生效基本上我们都是放在classpath根目录下的,这里测试第二条:首先在根目录下application.properties中配置:server.port=8888然后我们在resource路径下新建co

2021-08-03 09:35:24 6087 1

原创 docker重装(不包括compose),超稳定

卸载旧版本:yum remove docker docker-client docker-client-lastest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine安装新版本:yum install -y yum-utils device-mapper-persistent-data lvm2yum-con

2021-08-03 08:37:41 237 5

原创 数据访问2

使用druid数据源(德鲁伊)1、druid官方github地址https://github.com/alibaba/druid整合第三方技术的两种方式自定义找starter2、自定义方式创建数据源 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> &lt

2021-07-30 10:57:42 61 1

原创 数据访问1

标题1、SQL1、数据源的自动配置-HikariDataSource1、导入jdbc场景 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <depend

2021-07-30 10:00:18 98

原创 嵌入式Servlet容器

切换嵌入式Servlet1. 切换嵌入式Servlet1. 默认支持的WebServer1. Tomcat、Jetty、Undertow2. ServletWebServerApplicationContext 容器启动寻找ServletWebServerFactory 并引导 创建服务器3. 切换服务器原理1. Springboot应用启动发现当前是Web应用,Web场景包-导入tomcat2. Web应用会创建一个web版的ioc容器 ServletWebServerApplicat

2021-07-29 10:55:19 552

原创 web原生组件的注入(Servlet、Filter、Listener)

1、使用Servlet API1. @ServletComponentScan(basePackages = "com.flyyant.demo.uploadfile");制定原生Servlet组件都放在那里2. @WebServlet(urlPatterns = "/my");效果:直接响应,没有Spring的拦截器拦截3. @WebServlet(urlPatterns = "/my")public class MyServlet extends HttpServlet { @Ove

2021-07-28 16:38:48 159

原创 springboot错误处理之自定义异常处理

自定义错误页error/404.html error/5xx.html;有精确的错误状态码页面就匹配精确,没有就找4xx.html,如果都没有就触发白页@ControllerAdvice + @ExceptionHandler处理异常:底层是ExceptionHandlerExceptionResolver支持的/** * 处理整个web controller 的异常 */@ControllerAdvice@Slf4jpublic class GlobalExceptionH

2021-07-28 11:15:12 436

原创 springboot错误处理之异常处理步骤

1、执行目标方法,目标方法运行期间有任何异常都会被catch、而且标志当前请求结束;并且用dispatchException2、进入视图解析流程(页面渲染)processDispatchResult(processedRequest.response,mappedHandler,mv,dispatchException);3、mv = processHandlerException; 处理handler发生的异常,处理完成返回ModelAndView(1)遍历所有的handlerExceptionR

2021-07-28 11:10:55 236

原创 异常处理之错误处理

错误处理默认情况下,Springboot提供/error处理所有错误的映射对于机器客户端,他将生成json响应,其中包含错误,http状态和异常消息的详细信息。对于浏览器客户端,响应一个“whitelabel”错误视图,以http格式呈现相同的数据。要对其进行自定义,添加view解析为error要完全替换默认行为,可以实现ErrorController并注册该类型的Bean定义,或添加ErrorAttributes类型的组件以使用现在机制但替换其内容error/下的4xx,

2021-07-27 17:14:39 146 1

原创 springboot源码之文件上传

文件上传原理文件上传自动配置类–MultipartAutoConfigeration-MultipartProperties自动配置好了 StandardServletMultipartResolver 【文件上传解析器】原理步骤:请求进来使用文件上传解析器判断(isMultipart)并封装(resolveMultipart,返回MultipartHttpServletRequest)文件上传请求参数解析器来解析请求中的文件内容封装成MultipartFile将Request中文件信息封装

2021-07-26 16:46:11 89

原创 拦截器原理

根据当前请求,找到HanlderExecutionchain[可以处理请求的handler以及handler的所有拦截器]先来顺序执行所有拦截器的preHandle方法如果当前拦截器preHandle返回为true,则执行下一个拦截器的preHandle如果当前拦截器preHandle返回为false,直接倒序执行所有已经执行了的拦截器的afterCompletion方法;如果任何一个拦截器返回false,直接跳出不执行目标方法所有拦截器都返回true,执行目标方法倒序执行所有拦截器的p.

2021-07-23 16:49:25 57

原创 springboot数据响应请求之内容协商

根据客户端接收能力不同、返回不同媒体类型的数据导包:<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId></dependency>使用postman测试返回json或xml只需要改变请求头中的Accept字段,Http协议中规定的,告诉服务器本客户端

2021-07-22 15:53:08 368 3

原创 springboot数据响应之HttpMessageConverter原理

HttpMessageConverter看是否支持将此class类型的对象,转为MediaType类型的数据默认的MessageConverter0-只支持Byte类型1-String2-String3-Resource4-ResourceRegion5-6-MultiValueMap7-True8-True9-支持注解方式xml处理最终是MappingJackson2HttpMessageConverter 把对象转换为JSON(利用底层的jackson的objectMapp.

2021-07-22 15:43:47 294

原创 springboot响应处理之数据响应自动转化为json数据

原理:返回值解析器返回值处理器先判断是否支持这种类型的返回值如果支持在调用返回值处理器handleReturnValue进行处理RequestRespnseBodyMethodProcessor可以处理返回值标了@ResponseBody注解的:利用MessageConverters进行处理,将数据写为json内容协商(浏览器默认会以请求头的方式告诉服务器他能接收什么样的内容类型)服务器最终根据自己自身的能力,决定服务器能生产出什么样的内容类型的数据Springmvc会挨个遍历所有容

2021-07-22 10:56:51 1256

原创 Springmvc到底支持哪些返回值

1.View2.ModelAndView3.Model4.ResponseEnity5.ResponseBodyEmitter6.StreamingResponseBody7.HttpEntity8.HttpHeaders9.Callable10.DeferredResult11.ListenableFuture12.CompletionStage13.WebAsyncTask14.标注@ModelAttribute注解,并且返回的是对象15. 标注@ResponseBody注解

2021-07-21 17:16:39 108

原创 请求处理之自定义类型参数

自定义类型参数 封装pojoServletModelAttributeMethodProcessor 这个参数处理器支持不是简单类型WebDataBinder(web数据绑定器)将请求参数的值绑定到指定的javabean里面。WebDataBinder利用它里面的Converters将请求数据转成指定的数据类型。再次封装到javabean中。GenericConversionService:在设置每一个值的时候,找它里面的所有converter哪个可以将这个数据类型(request带来的参数的

2021-07-21 17:15:52 205

hadoop的默认配置文件

hadoop的默认配置文件,下载记得关注我哦

2021-08-12

Docker基础篇之快速上手.md

Docker基础篇之快速上手.md

2021-05-18

仿黑客帝国弹幕雨java

仿黑客帝国弹幕雨,java,maven实现,可打jar使用exe4j打包exe,修改后缀scr可做屏保,如果想发给女娃装杯,打包的时候要吧jre一并打包,新人无积分可以关注我私聊我

2021-04-27

tessdata.rar

使用Test4J要用到的字体库

2021-03-16

IDEA热键指南(修改).xlsx

IDEA常用快捷键

2021-03-16

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

TA关注的人

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