自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

高飞

热爱编程的进阶小白

  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

转载 poi导出下拉列表,解决下拉列表数据过多问题

// 传入下拉列表数组值,构造信息模板public static Workbook generateExcel(String[]typeArrays) {    Workbook wb = new XSSFWorkbook();    // 创建模板工作表    Sheet sheet = wb.createSheet("test");    // 创建下拉列表值存储工作表并设置值  ...

2018-11-09 09:25:52 4413

转载 zipkin ui界面详解

首页首页里面主要承载了trace的查询功能,根据不同的条件,搜索出数据来trace详情span详情这个图中,需要注意的是相对时间和调用行为调用行为分如下四种:cs - Client Send : 客户端已经提出了请求。这就设置了跨度的开始。sr - Server Receive: 服务器已收到请求并将开始处理它。这与CS之间的差异将是网络延迟和时钟抖动的组合。ss - Server Send: 服务器已完成处理,并将请求发送回客户端。这与SR之间的差异将是服务器处

2020-07-09 10:47:11 3790

转载 多线程Future

Future模式是多线程设计常用的一种设计模式。Future模式可以理解成:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。Future提供了三种功能:判断任务是否完成能够中断任务能够获取任务执行的结果向线程池中提交任务的submit方法不是阻塞方法,而Future.get方法是一个阻...

2020-05-02 19:41:58 825

转载 mysql 共享锁排它锁

mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共享锁与排他锁进行分享交流。共享锁又称为读锁,简称S锁,顾名思义,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。排他锁又称为写锁,简称X锁,顾名思义,排他锁就是不能与其他所并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获...

2020-05-02 11:54:22 299

转载 mq消息队列解决分布式事务

一、RabbitMQ解决分布式事务思路:案例: 经典案例,以目前流行点外卖的案例,用户下单后,调用订单服务,让后订单服务调用派单系统通知送外卖人员送单,这时候订单系统与派单系统采用MQ异步通讯。二、RabbitMQ解决分布式事务原理:采用最终一致性原理。需要保证以下三要素1、确认生产者一定要将数据投递到MQ服务器中(采用MQ消息确认机制)2、MQ消费者消息能够正确消费消息,采用...

2020-03-31 17:53:18 1005

转载 Eureka注册表

一、问题Spring Cloud架构体系中,Eureka是一个至关重要的组件,它扮演着微服务注册中心的角色,所有的服务注册与服务发现,都是依赖Eureka的。不少初学Spring Cloud的朋友在落地公司生产环境部署时,经常会问: Eureka Server到底要部署几台机器? 我们的系统那么多服务,到底会对Eureka Server产生多大的访问压力? Eurek...

2020-03-30 10:09:58 1592 1

转载 springcloud常用核心组件(Eureka,Feign,Ribbon,Hystrix,Zuul)

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

2020-03-26 12:08:35 804

转载 spring容器BeanDefinition解析

Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构,本篇将深入分析这个BeanDefinition的内部结构。直接看BeanDefinition源码,public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /** *...

2020-03-21 10:53:22 245

转载 异常和数据库事务的几个容易出错的地方

我们在开发企业应用时,由于数据操作在顺序执行的过程中,线上可能有各种无法预知的问题,任何一步操作都有可能发生异常,异常则会导致后续的操作无法完成。此时由于业务逻辑并未正确的完成,所以在之前操作过数据库的动作并不可靠,需要在这种情况下进行数据的回滚。这叫事务。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就回退到事务开始未进行操作的状态。...

2019-12-20 09:44:05 599

转载 vuex的state数据丢失

1. 产生原因其实很简单,因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值。2. 解决思路一种是state里的数据全部是通过请求来触发action或mutation来改变一种是将state里的数据保存一份到本地存储(localStorage、sessionStorage、cookie)中很显然,第一种方案基本不可...

2019-11-25 16:27:45 1349

转载 vue定义全局变量

1、将从服务器请求的数据作为全局变量(全局变量模块挂载到Vue.prototype)在开发中,有时需要将从接口请求到的一些数据当做全局变量,在其他页面多次使用。比如,登录成功后可能需要将用户名,id等信息存起来,便于其他页面展示或使用,将这些信息定义为全局变量是用起来就很方便。举栗子:在login.vue中拿到了用户的一些信息:<script> import Vue ...

2019-11-20 10:30:25 1424

转载 Vue路由传参的三种基本方式

现有如下场景,点击一个button按钮跳转到另外一个路由页面,并向目标路由页面传递参数,便于目标路由页面获取源页面传递的数据信息。源页面中:<button@click="gotoTargetView">点击跳转到目标路由user页面</button>方案一,通过调用$router对象的push()方法,向push()方法传递一个路由配置对象,通过params来...

2019-11-08 17:17:29 325

转载 数据库分片

数据的切分(Sharding)根据其切分规则的类型,可以分为两种切分模式。一种是按照不同的表(或者Schema)来切分到不同的数据库(主机)之上,这种切可以称之为数据的垂直(纵向)切分;另外一种则是根据表中的数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库(主机)上面,这种切分称之为数据的水平(横向)切分。一、垂直切分一个数据库由很多表构成,每个表对应着不同的业务,垂直...

2019-10-25 09:58:48 292

转载 ORACLE将表中的数据恢复到某一个时间点

今早不小心删了表中的部分数据,由于存在新建的数据未备份就被误删除,oracle没有开启闪回,也没记录日志,最后根据某一时刻的数据还原,具体操作如下:根据oracle自己的快照备份查询某一时刻的某张表数据select *from 表名as of timestamp to_timestamp('2018-06-0811:06:00', 'yyyy-MM-dd HH:mi:ss');...

2019-09-21 11:26:02 950

转载 oracle删除死锁的session

查看锁表进程SQL语句1:select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$ses...

2019-09-21 11:23:44 726

原创 spring中的拦截器(HandlerInterceptor+MethodInterceptor)

1. 过滤器跟拦截器的区别在说拦截器之前,不得不说一下过滤器,有时候往往被这两个词搞的头大。其实我们最先接触的就是过滤器,还记得web.xml中配置的<filter>吗~你应该知道spring mvc的拦截器是只拦截controller而不拦截jsp,html 页面文件的,如果想要拦截那怎么办?这就用到过滤器filter了,filter是在servlet前执行的,你也...

2019-09-20 15:01:05 183

转载 RestTemplate 下载文件

1. 概述本教程中,我们将展示使用RestTemplate下载大文件的不同技术。2. RestTemplateRestTemplate是 Spring 3 中引入的同步阻塞式HTTP客户端。根据 Spring 官方文档 介绍,在将来的版本中它可能会被弃用,因为他们已在 Spring 5 中引入了WebClient作为非阻塞式 Reactive HTTP 客户端。3. ...

2019-09-18 11:34:13 10012

原创 RestTemplate详解

RestTemplate详解-Get请求 在RestTemplate中通过如下两个方法进行调用 --第一种:getForEntity()函数 返回:ResponseEntity(对HTTP响应的封装,重要元素:HTTP请求状态的枚举对象HttpStatus, HTTP请求头信息对象HttpHeaders,泛型的请...

2019-09-11 17:24:16 641

原创 mybatis逆向生成代码时 只生成了insert 而没有其他的

最可能的原因就是,你的表没有主键

2019-09-03 17:45:31 677 1

转载 SpringBoot 配置文件存放位置及读取顺序

SpringBoot配置文件可以使用yml格式和properties格式分别的默认命名为:application.yml、application.properties存放目录SpringBoot配置文件默认可以放到以下目录中,可以自动读取到:项目根目录下 项目根目录中config目录下 项目的resources目录下 项目resources目录中config目录下读取...

2019-08-30 10:04:02 1025

转载 Docker相关常用命令

systemctl stop firewalld.service 关闭防火墙docker inspect 容器id 查询容器信息docker stop 容器id 停止容器iddocker rm 容器id 删除容器idsystemctl restart docker 重启docker容器docker exec -it 容器ID /bin/bash 进入容器Ctr...

2019-04-29 10:16:39 242

转载 一张图理解jenkins和docker作用

可以看出,jenkins充当的是一个自动构建的作用,而Docker相当于虚拟机,或者说是一个容器。补充:1、jenkins是一个插件的集合

2019-03-10 14:38:23 4907 5

转载 group by简单理解

写在前面的话:用了好久group by,今天早上一觉醒来,突然感觉group by好陌生,总有个筋别不过来,为什么不能够select * from Table group by id,为什么一定不能是*,而是某一个列或者某个列的聚合函数,group by 多个字段可以怎么去很好的理解呢?不过最后还是转过来了,简单写写吧,大牛们直接略过吧。=========正文开始===========  ...

2019-03-08 11:29:12 329

原创 Extjs4 Cannot read property 'on' of undefined

出现此错误一般原因是:视图组件(combo,gridpanel)之类的引用了store,不过没有store的定义。看看是否有相应store定义了。

2018-12-10 11:09:01 2096

转载 redis哨兵机制

为了达到redis的高可用,有两种部署方式:主从复制+哨兵机制;集群模式。哨兵机制是redis2.8开始支持。集群模式是redis3.0开始支持。 主从复制的意义:主从复制可以把主节点的数据复制给从节点。从节点可以备份主节点的数据,起到主节点down调,顶上来接替主节点工作的作用。也可以起到分担主节点读压力的作用。没有哨兵机制的时候,主从复制结构部署存在的问题是什么?也可以说redis...

2018-09-22 21:10:56 2334

转载 activemq入门

JMS 消息模型  JMS消息服务应用程序结构支持两种模型:点对点模型,发布者/订阅者模型。    (1)点对点模型(Queue)    一个生产者向一个特定的队列发布消息,一个消费者从这个队列中依次读取消息。    模型特点:只有一个消费者获得消息。  (2)发布者/订阅者模型(Topic)    0个或多个订阅者可以接受特定主题的消息。    模型特点:多个消费者可...

2018-09-22 10:02:43 118

转载 ZooKeeper 会话超时

1、会话概述在ZooKeeper中,客户端和服务端建立连接后,会话随之建立,生成一个全局唯一的会话ID(Session ID)。服务器和客户端之间维持的是一个长连接,在SESSION_TIMEOUT时间内,服务器会确定客户端是否正常连接(客户端会定时向服务器发送heart_beat,服务器重置下次SESSION_TIMEOUT时间)。因此,在正常情况下,Session一直有效,并且ZK集群所有...

2018-09-16 18:25:19 4242 1

转载 java中使用zkClient操作zookeeper

zkClient在原生API的基础上进行了封装,简化了zookeeper的复杂性。(zookeeper文章所需的jar包)创建客户端方法:ZKClient(Arguments)参数1:zkServers,zookeeper服务器地址,用“,”分隔。参数2:sessionTimeout,会话超时时间,单位毫秒,默认为30000ms。参数3:connectionTimeout,连接超时...

2018-09-16 18:23:52 2782 1

转载 Synchronized用法

原文:http://blog.csdn.net/luoweifu/article/details/46613015 作者:luoweifu synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同...

2018-09-16 13:05:15 99

转载 Nginx入门,简单教程

 安装与使用安装nginx官网下载地址:http://nginx.org,发布版本分为 Linux 和 windows 版本。也可以下载源码,编译后运行。从源代码编译 Nginx把源码解压缩之后,在终端里运行如下命令:$ ./configure$ make$ sudo make install 默认情况下,Nginx 会被安装在 /usr/local/ngi...

2018-08-05 09:44:07 1693

转载 Extjs TreeStore autoload设置为false扔会自动加载解决方案

当treestore的root的expanded,以下简称expanded;tree.panel的rootvisible,简称rootvisibleexpanded                   rootvisible        结果true                             true                 ①treestore会自动加载true  ...

2018-07-27 10:30:15 1181

转载 Extjs自定义主题

ExtJS4.2:自定义主题 入门安装环境JRE:http://www.oracle.com/technetwork/java/javase/downloads/index.html。 Ruby:http://rubyinstaller.org/。 Sencha-Cmd:http://www.sencha.com/products/sencha-cmd/download。 Ext J...

2018-07-20 11:24:28 798

转载 tomcat修改默认访问项目名称和项目发布路径

1、修改项目发布路径tomcat默认的而发布路径为 tomcat/webapps/目录,但是这个目录下有一些默认的项目,在tomcat启动的时候会跟着一起加载。如果不想删除这些项目,可以把tomcat发布的路径修改到其他地方。找到tomcat/conf/server.xml文件,修改里面这一行的appBase为其他路径即可。Host name="localhost" appB

2018-01-15 20:59:54 23939

转载 javaweb文件上传必备知识点

一。文件上传概述l  实现web开发中的文件上传功能,需完成如下二步操作:•    在web页面中添加上传输入项•    在servlet中读取上传文件的数据,并保存到本地硬盘中。l  如何在web页面中添加上传输入项?•    标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:•    1、必须要设置input输入项的name属

2018-01-05 21:36:09 324

转载 javaweb中的乱码问题

乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的。以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,换成二进制的格式,服务器接收到请求参数后进行解码(字节转字符),然后封装到request对象中。如果客户端的编码与服务器端的解码

2017-12-25 11:54:55 163

转载 url-pattern中的/和/*的区别

url-pattern配置为"/"和"/*"的区别最近在学习springMVC框架,对于其前端控制器的过滤配置url-pattern很困惑。遂百度查各种资料,翻阅各种博客,发现每个人的说法都不一样,很多人的理解都是错的!于是找大牛解惑,大牛就是大牛,一下子就让我明白了。解:首先大家都知道"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上。而"/"很多人理解成不能

2017-12-19 17:22:23 15143 1

转载 拦截器过滤器使用场景以及之间的区别

拦截器与过滤器的区别总结:过滤器在web.xml中配置:(1)因为一开始在过滤器中映射的url-pattern填写路径是*.action。所有的action要经过它的过滤。url-pattern>*.actionurl-pattern>(2)因为在web.xml中配置了过滤器,所以,执行过程所有程序都经过struts2过滤器(路径是:/*),首先过滤自己

2017-12-19 11:19:55 7062

转载 jsp静态包含动态包含

在jsp中有两种包含,静态包含和动态包含,下面说一下它们之间的区别  1、为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而是jsp中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期  2、使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件  3、使用静态

2017-12-09 00:06:47 189

转载 oracle分页

分页查询语法模版:select t2.* from ( select t1.*, rownum rn from (select * from 表名) t1 where rownumwhere rn>=小范围(从第几条数据开始取);特别说明:oracle 分页查询是通过三层筛选法进行查询的。每一次都可以带 where 条件来对要查询的信息进行筛选。建议: 

2017-11-30 17:29:14 310

转载 mybatis增删改查

什么是 MyBatis?MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis下载

2017-11-30 10:37:15 135

WxMessageEventNotifyService.java

WxMessageEventNotifyService.java

2023-01-12

多文件上传swfupload

swfupload多文件上传,基于Extjs...

2018-12-20

oscache(JSP定制标记应用)

javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,例如pdf文件等。通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。

2018-03-17

空空如也

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

TA关注的人

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