自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XuJiangDong

生命不息,战斗不止。

  • 博客(337)
  • 资源 (29)
  • 收藏
  • 关注

原创 Java:excel模板文件打包后乱码问题

问题:项目中resources目录下的excel模板打包后文件乱码了原因:maven打包会对资源统一编码解决方式:忽略maven打包时需要编码的文件在pom.xml加入下面代码 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>...

2020-03-31 09:49:30 1292 7

原创 SpringBoot:elasticsearch简单使用

对ES的增删改查、创建索引、删除索引都封装到下面这个service里面了package com.qingqing.bi.service.es.impl;import com.qingqing.bi.service.es.EsService;import com.qingqing.common.exception.CallServiceErrorException;import com.q...

2020-03-11 15:04:02 378

原创 Java:企业微信开发——上传临时素材

请求方式:POST(HTTPS)请求地址:https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE素材上传得到media_id,该media_id仅三天内有效media_id在同一企业内应用之间可以共享这个media_id在推送图表、文件、语言等消息时需要用到的type...

2020-03-11 14:35:57 5668 3

原创 Java:企业微信推送消息到个人和部门

第一步:我们需要组装请求参数,比如下面这种的JSON字符串这里接收的个人企业微信ID和部门ID是用符号 | 隔开的{ "touser" : "UserID1|UserID2|UserID3", "toparty" : "PartyID1|PartyID2", "totag" : "TagID1 | TagID2", "msgtype" : "text", "age...

2020-03-11 14:26:26 3040 1

原创 Java:获取企业微信Token

1、获取条件:企业ID、应用的凭证密钥官方API:https://work.weixin.qq.com/api/doc/90000/90135/91039代码:corpid:企业IDcorpsecret:应用的凭证密钥 public static AccessToken getAccessToken(){ if(StringUtils.isEmpty(corpid)){...

2020-03-04 17:34:08 2064 2

原创 SpringBoot:redis哨兵模式配置

@Configuration@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 21600,redisNamespace ="CBOARD")public class RedisConfig { //节点之间以逗号隔开: 172.0.0.0,172.1.1.1 @Value("${redis.sentinel.nodes...

2020-03-04 17:24:59 512

原创 Java多张图片合成一张(横向或竖向)

代码说话package com.example.demo.image;import sun.misc.BASE64Decoder;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.ByteArrayInputStream;import ...

2020-03-02 17:46:37 1839 1

原创 SpringCloud:配置中心(Config)

1、Config简介当项目越来越多,每个项目又要去维护多个配置文件,而且每个配置文件还要区分各个环境(开发、测试、预发布、线上等),想想都头大,不过市面上已经存在很多好用的开源的配置中心,如百度的disconf,携程的Apollo等,这些开源的软件确实都很棒,但是SpringCloud Config确更加轻量级,功能也强大,可以无缝的和spring体系相结合,简单易用。它包含了Client和Se...

2019-11-29 11:40:44 235

原创 SpringCloud:网关服务(Zuul)

1、Zuul简介Zuul作为微服务系统的网关组件,用于构建边界服务(Edge Service),致力于动态路由、过滤、监控、弹性伸缩和安全。其在微服务架构中有着重要的作用,主要体现在以下六个方面:Zull、Ribbon以及Eureka相结合可以实现智能路由和负载均衡的功能,Zull可以按照某种策略将请求分发到不同的实例上网关作为边界服务,将内部服务的API接口进行聚合并统一对外暴露接口。保...

2019-11-28 15:27:22 188

原创 SpringCloud:断路器(Hystrix)

1、Hystrix简介在微服务架构中,服务与服务之间会存在相互调用、依赖的情况,假如其中某一个由于网络原因或本身就挂了导致服务不可用,大量请求进来可能就会把系统资源用尽,导致其他服务都不可用,这不是我们希望看到的,你自己挂了就挂了,还把其他服务都搞挂了就不好了,这也就是常说的故障传播,雪崩效应,而Hystrix就是来解决这个问题,当系统中某个服务发生故障或当调用一个特定的服务达到一定阈值(默认5...

2019-11-28 11:41:34 737

原创 SpringCloud:服务消费(Feign)

1、Feign简介Feign是一个声明式的web客户端,封装Htttp请求的整个过程,构造请求、建立连接、解析响应结果等,并且整合了Ribbon来实现负载均衡,Feing有两个主要注解: @EnableFeignClients 用于开启feign功能,@FeignClient 用于定义feign 接口。2、创建一个Feign工程引入核心依赖:spring-cloud-starter-netf...

2019-11-26 11:42:36 300

原创 SpringCloud:服务消费(Ribbon+RestTemplate)

上篇文章介绍了服务的注册和发现,那我们如何去消费服务呢?在SpringCloud中服务消费有两种方式,一种是ribbon+restTemplate的方式,也是本篇文章将要介绍的,另一种方式Fegin下篇文章会说到。1、Ribbon简介Ribbon是一个基于HTTP和TCP的负载均衡客户端,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的R...

2019-11-22 16:39:17 222 1

原创 SpringCloud:服务注册与发现(Eureka)

1、Eureka简介Eureka是一个服务注册与发现组件,主要有两部分组成:注册中心(Eureka-Server)和服务提供端(Eureka-Client),Eureka-Server通过一个注册表维护了所有向Eureka-Server注册的Eureka-Client的主机地址和端口,同时Eureka-Client可以向Eureka-Server获取该注册表。2、创建一个SpringBoot项...

2019-11-22 14:56:24 170

原创 Java数组实现栈和队列

队列实现:package com.example.javabase.test;/** * @author XuJD * @create 2019-11-21 10:11 * 基于数组实现队列 **/public class Queue3 { /** * 队列 */ private String[] data; /** * 队列最...

2019-11-21 11:08:09 799

转载 Synchronized和Lock的区别

Synchronized和Lock的区别并发编程中,锁是经常需要使用的。在开发中我们常用的锁有两种Synchronized和Lock。线程安全问题线程安全是在多线程编程中,有可能会出现同时访问同一个 共享、可变资源 的情况,始终都不会导致数据破坏以及其他不该出现的结果。这种资源可以是一个变量、一个对象、一个文件等。共享:多个线程可以同时访问该共享变量。可变:数据在生命周期中可以被改变。...

2019-11-01 14:35:31 10426

转载 一篇文章让你了解Hive和HBase的区别

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。HBase是Hadoop的数据库,一个分布式、可扩展、大数据的存储。单个的从字面意思上或许很难看出二者的区别,别急,下面我们就对二者做个详细的介绍。两者的特点Hive帮助熟悉SQL的人运行MapReduce任务。因为它是JDB...

2019-10-30 11:17:25 238

转载 拜托!面试请不要再问我Spring Cloud底层原理

目录一、业务场景介绍二、Spring Cloud核心组件:Eureka三、Spring Cloud核心组件:Feign四、Spring Cloud核心组件:Ribbon五、Spring Cloud核心组件:Hystrix六、Spring Cloud核心组件:Zuul七、总结概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Sp...

2019-09-30 18:13:53 156

转载 深入浅出并发编程底层原理

1.Java内存模型——底层原理1.1 什么是底层原理Java程序编译到运行需要经过将.java后缀的文件通过javac命令编译成.class文件(此时与平台无关),然后将对应的.class文件转化成机器码并执行,但是由于不同平台的JVM会带来不同的“翻译”,所以我们在Java层写的各种Lock,其实最终依赖的是JVM的具体实现和CPU指令,才能帮助我们达到线程安全的效果。2 三兄弟:J...

2019-09-30 17:43:08 430

转载 MQ消息最终一致性解决方案

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题;尽管很早之前就有基于两阶段提交的XA分...

2019-09-30 10:01:48 2115

转载 浅析redo log、undolog、binlog

redo log 和 undo logredo log 是重做日志,提供 前滚 操作;undo log 是回退日志,提供 回滚 操作。只用 undo log 实现原子性和持久性的缺陷:事务提交前需要将 Undo Log 写磁盘(提供可回滚功能,保证原子性),这会造成多次磁盘 IO(不考虑各种优化例如 SQL 解析优化等),这些 IO 算是顺序 IO;事务提交后需要将数据立即更新到数据库...

2019-09-23 16:38:33 333

转载 聊聊分布式事务,再说说解决方案

前言最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布...

2019-08-29 10:59:38 128

转载 巧用Java8中的Stream,让集合操作飞起来!

简介java8也出来好久了,接口默认方法,lambda表达式,函数式接口,Date API等特性还是有必要去了解一下。比如在项目中经常用到集合,遍历集合可以试下lambda表达式,经常还要对集合进行过滤和排序,Stream就派上用场了。用习惯了,不得不说真的很好用。Stream作为java8的新特性,基于lambda表达式,是对集合对象功能的增强,它专注于对集合对象进行各种高效、便利的聚合操作...

2019-08-28 17:21:42 162

转载 mybatis二级缓存实现

背景SpringBoot因其提供了各种开箱即用的插件,使得它成为了当今最为主流的Java Web开发框架之一。Mybatis是一个十分轻量好用的ORM框架。Redis是当今十分主流的分布式key-value型数据库,在web开发中,我们常用它来缓存数据库的查询结果。本篇博客将介绍如何使用SpringBoot快速搭建一个Web应用,并且采用Mybatis作为我们的ORM框架。为了提升性能,我们...

2019-08-27 20:01:40 519

原创 服务器端如何优雅的统一返回值和统一接收值?

1、在做服务器端开发的时候,我们经常要返回特定格式的数据给调用方,通常有状态码、消息和数据,如何将这些返回结果统一起来呢?请看下面…public class ResponseVO<T> extends PageVO { private ResultCode status; private String msg; private T data; ...

2019-07-31 13:50:13 559

转载 TCC分布式事务落地实现

之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。1|0业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做...

2019-07-22 14:32:57 1043

转载 mysql必备知识点

标题有点标题党的意思,看了文章之后希望大家不会有这个想法,绝对干货!!!这篇花文章是我花了几天时间对之前总结的MySQL知识点做了完善后的产物,这篇文章可以用来回顾MySQL基础知识以及备战MySQL常见面试问题。文末有公众号二维码,欢迎关注获取笔主最新更新文章,并可免费获取笔主总结的《Java面试突击》以及Java工程师必备学习资源。什么是MySQL?MySQL 是一种关系型数据库,在Ja...

2019-07-04 16:12:55 262

原创 单链表反转

代码public class LinkDo { int data; LinkDo next; public LinkDo(int data) { this.data = data; } public int getData() { return data; } public void setData(i...

2019-05-24 11:21:48 139 1

原创 Map五种遍历方式

/*map遍历方式*/ @org.junit.Test public void mapTest(){ Map<String,String> map = new HashMap<>(); map.put("a","一"); map.put("b","二"); map.put("c","三");...

2019-05-10 15:21:24 494

转载 spring 事务传播行为实例分析

Spring事务传播行为:spring特有的事务传播行为,spring支持7种事务传播行为,确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制)下图所示为7钟事务传播机制o   传播行为含义PROPAGATION_REQUIRED(XML文件中为REQUIRED)表示当前方...

2019-04-26 11:57:06 148

原创 RabbitMQ消息接收确认机制ACK

默认情况下,rabbitMQ消息队列中的消息一旦有消费者接收了就会被删除,假如这个时候消费者宕机了或者异常了,就可能会导致消息丢失(接收到消息了,但并没有处理完这个消息),这时候就需要消费端在处理完消息后告诉rabbitMQ:“我已经成功消费完这个消息了,你可以删除这个消息了”。1.修改消费端rabbitmq配置信息,将消息确认机制设置为手动确认,因为默认是自动确认。/** * @XuJD...

2019-04-15 16:32:10 1515

原创 Git强制覆盖本地代码,保持与远程仓库一致

git强制覆盖: git fetch --all git reset --hard origin/master git pull也可以一行执行 git fetch --all &amp;amp;&amp;amp; git reset --hard origin/master &amp;amp;&amp;amp; git pull

2019-03-10 15:33:59 1021

原创 Communications link failure The last packet successfully received from the server was xxx millise

1、问题原因mysql服务器中断了我们的连接,虽然连接池有连接(连接池认为该连接有效,mysql确认为无效)2、解决办法(我是这么解决的)数据库地址加上autoReconnect=true,开启断开自动连接jdbc_url=jdbc:mysql://xxx.xx.xx.xxx:3306/xxx?autoReconnect=true配置文件配置,testOnBorrow默认为false,我...

2019-01-31 10:26:24 4023

原创 mybatis批量更新数据

sql写法:UPDATE user_table SET user_name= CASE id WHEN 1 THEN '张三' WHEN 2 THEN '李四' WHEN 3 THEN '王二' END WHERE id IN (1,2,3)更新多个字段:UPDATE user_...

2019-01-29 16:25:04 335

原创 Java实现https请求

/** * @author XuJD * @create 2019-01-21 17:21 **/public class HttpsUtil { private static Logger logger = LoggerFactory.getLogger(HttpsUtil.class); public static JSONObject httpsRequest(St...

2019-01-23 19:06:08 9347 2

原创 Java数组和链表三种遍历效率对比

数组结构示例代码: /*数组结构的三种循环遍历效率对比*/ @org.junit.Test public void test13(){ List&lt;Integer&gt; list = new ArrayList&lt;&gt;(10000000); for(int i=0;i&lt;1000;i++){ lis...

2019-01-20 12:11:21 4760 4

转载 正向代理与反向代理的区别

正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容代理服务器去取回来,然后返回给我从网站的角度,只在代理服务器来取内容...

2019-01-20 09:56:03 141

原创 Java实现栈

栈:先进后出基于数组实现的栈/** * 基于数组实现的栈 * @author XuJD * @create 2019-01-17 17:26 **/public class StackTest { private String[] data = null; private int maxSize = 0; private int top = -1; ...

2019-01-17 19:03:38 247

原创 angularjs-dropdown-multiselect使用

介绍一个非常好用下拉列表插件![在这里插入图片描述](https://img-blog.csdnimg.cn/20190116200026652.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1amlhbmdkb25nMTk5Mg==...

2019-01-16 20:24:33 3089 4

原创 一起学习Springboot(7):springboot整合rabbitmq

rabbitMQ:MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行...

2018-12-24 16:02:38 193

原创 一起学习Springboot(六):文件上传

本篇文章主要介绍在Springboot中如何上传文件引入依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-thymeleaf&lt;/artifactId&gt; &lt;/dependenc...

2018-11-02 15:08:28 257

ActiveMQ实例Demo

ActiveMQ实例Demo

2017-07-06

MyEclipse注释模版

MyEclipse注释模版

2017-06-29

Spring+commons.log

Spring+commons.log

2017-06-23

MyEclipse2014汉化补丁

MyEclipse2014汉化补丁

2017-06-21

MyEclipse2014破解补丁

MyEclipse2014破解补丁

2017-06-21

svn1.7.11客户端

SVN客户端

2017-06-20

SVN插件1.8.10

SVN插件1.8.10

2017-06-20

数据库mysql架包

mysql.jar

2017-06-19

集成SSM(MYSQL)

SSM整合

2017-06-19

dubbo-admin-2.5.4-SNAPSHOT.war

dubbo-admin-2.5.4-SNAPSHOT.war

2017-06-15

dubbo-master

dubbo-master

2017-06-15

SpringMVC-Spring-Mybatis架包

SpringMVC-Spring-Mybatis架包

2017-06-14

zookeeper3.4.6下载

zookeeper

2017-06-13

Redis使用+redis工具

Redis使用

2017-06-12

dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成

dubbo+zookeeper+SpringMVC+Spring+Mybatis+Freemarker集成

2017-06-12

SpringMVC-Spring-Mybatis-Freemarker整合

SpringMVC-Spring-Mybatis-Freemarker整合

2017-06-12

alibaba Java 开发规范

alibaba Java 开发规范

2023-12-14

java面试文档2023

java面试文档2023

2023-11-01

个人文档嗷嗷嗷啊嗷嗷嗷

个人文档嗷嗷嗷啊嗷嗷嗷

2023-11-01

springboot+angularJS+AdminLTE

架构搭建,前端基于AngularJS+AdminLET,后端基于springboot、mysql,引入redis、mybatis、mybatis逆向工程

2018-08-21

公共门户首页设计

一个响应式布局首页设计,作为多个平台的入口页面!!

2018-08-02

Intellij IDEA搭建SSM+Bootstrp+分页

通过Intellij IDEA搭建SSM框架,集成Bootstrp,实现分页功能

2018-02-11

Intellin IDEA搭建SSM框架

通过Intellij IDEA搭建SpringMVC+Spring+Mybatis框架。

2018-02-11

poi-3.9、poi-ooxml-3.9、poi-ooxml-schemas-3.9

这里三个poi架包是java程序导出excel文件必须要用到的

2018-01-10

java网络爬虫模拟登入抓取数据

很多网站,我们是无法直接获得服务器返回的数据,需要输入用户名及密码才能看到数据。如我们登陆人人网时,网站网址http://www.renren.com/。所以我们需要模拟登入后获取数据

2017-12-30

FlashFXP5.4.0中文破解版

FlashFXP是一款功能强大的FXP/FTP软件,集成了其它优秀的FTP软件的优点,如CuteFTP的目录比较,支持彩色文字显示;如BpFTP支持多目录选择文件,暂存目录;又如LeapFTP的界面设计。支持目录(和子目录)的文件传输,删除;支持上传,下载,以及第三方文件续传;可以跳过指定的文件类型,只传送需要的本件;可自定义不同文件类型的显示颜色;暂存远程目录列表,支持FTP代理及Socks 3&4;有避免闲置断线功能,防止被FTP平台踢出;可显示或隐藏具有“隐藏”属性的文档和目录;支持每个平台使用被动模式等。

2017-12-13

java面试题汇

包涵java基础中级高级面试题,java算法,阿里巴巴电话面试内容,以及DBA面试内容

2017-10-15

SVN1.8插件

SVN最新版插件包1.8版本的,好不容易下载的,不便得同学直接下载使用就好,下载好之后之后解压,把features和plugins文件夹里面的内容分别放到你eclipse安装目录下面的features和plugins里面就OK了,其他的XML文件不要拷贝额,只要拷贝features和plugins下的文件。

2017-09-25

JDK1.8 API 中文 高清完整版

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷歌翻译,非人工翻译。准确性不能保证,请与英文版配合使用

2017-09-04

Shiro入门项目

Apache Shiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理,如同 spring security 一样都是是一个权限安全框架,但是与Spring Security相比,在于他使用了和比较简洁易懂的认证和授权方式。

2017-08-31

Mybatis代码生成工具(model+sql+dao)

Mybatis代码生成工具(model+sql+dao),可自动生成实体类,sql,和dao层类

2017-08-28

apache-activemq-5.5.1-bin.zip

apache-activemq-5.5.1-bin.zip

2017-07-06

空空如也

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

TA关注的人

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