自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jack 架构师之路

           stay hungry,stay young!

  • 博客(462)
  • 资源 (22)
  • 问答 (1)
  • 收藏
  • 关注

原创 从零学SpringCloud系列(八):分布式配置中心Spring Cloud Config

一、快速入门1.1 项目版本spring boot:2.2.5.RELEASEspring cloud:Hoxton.SR31.2 项目地址https://github.com/zhenghaoxiao/spring-cloud-in-action/tree/dev在搭建配置中心的时候,我们需要注意的一个地方就是,在配置客户端的时候,我们需要使用bootstrap.properties,这样config-server中的配置信息才能被正确的加载。具体搭建过程可以参考下面文章:ht

2020-05-12 12:06:35 16799

原创 如何删除GitHub或者GitLab 上的文件夹

引言前两天老大让我创建个新项目,我说这两天忙着和甲方 联调我手里的一个项目,结果老大说我自己来吧,把项目创建好了给我地址,昨天我抽出点时间把基础的代码搞了一下, 一顿操作猛如虎,coding,编译,测试,提交。结果今天老大来了说怎么提交了这么多本地的文件 ,例如idea之类。哎。。。。原来老大没有提交 gitignore 文件。没有办法啊,你懂的,只能愉快的和老大说稍等,我来搞一下。。。。解决办法 方法一 这里以删除 .setting 文件夹为案例 git rm -r --cach.

2020-05-11 11:51:03 1291

原创 从零学SpringCloud系列(七):API网关Zuul

一、为什么需要API网关通过前面对几个组件的 介绍,我们基本可以构建一个下图中的简单的微服务架构系统: 我们聚焦到Open Service 和 外部调用的地方,随着下方服务的增多,我们需要手动维护负载均衡器中的服务列表,并且如果我们需要服务的微服务接口都需要 权限校验,这样我们需要在每个对外服务中维护一套这样的逻辑,这样会加重开发和测试人员的负担。为了解决上面问题,A...

2020-05-09 16:55:01 20388

原创 java导出excel:Could not initialize class sun.awt.X11GraphicsEnvironment

项目背景前两天给客户本地化部署了一个项目,在验证 导出excel的时候提示错误:Could not initialize class sun.awt.X11GraphicsEnvironment我们excel导出给前端返回数据流,在下载的时候提示错误,项目在我们本地环境是没有问题的,所以猜测是配置的问题,跟踪代码发现是在创建sheet的时候提示错误 SXSSFWorkbook ...

2020-04-28 09:58:00 1814 1

原创 从零学SpringCloud系列(六):SpringCloud Feign设计原理解析

什么是Feign?Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。Feign被广泛应用在Spring Cloud 的...

2020-04-23 11:26:53 538

原创 从零学SpringCloud系列(五):SpringBoot2.2.5集成Hystrix Dashboard及遇到的坑

一、项目信息SpringBboot版本:2.2.5SpringCloud版本:Hoxton.SR二、maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-sta...

2020-04-22 20:26:54 1433

原创 从零学SpringCloud系列(四):服务容错保护Hystrix

一、Hystrix介绍在微服务架构中,我们可能将系统拆分中多个服务单元,由于每个服务单元都运行在不同的进程中,他们彼此之间通过远程调用的方式执行,这样就有可能因为网络原因或者是依赖服务自身问题出现调用故障或延迟,而这些问题 会直接 导致调用方对外提供服务也出现延迟,若此时调用方的请求不断累加,最后会造成任务积压导致自身系统瘫痪。针对上述问题,Spring Cloud Hystrix实现了断...

2020-04-21 12:06:46 25345 1

原创 OSS图形化管理工具使用

简介ossbrowser是OSS官方提供的图形化管理工具,提供类似Windows资源管理器的功能。使用ossbrowser,您可以方便地浏览、上传、下载和管理文件。操作步骤1.下载并安装ossbrowser。window32:http://gosspublic.alicdn.com/oss-browser/1.7.4/oss-browser-win32-ia32.zip?spm=a...

2020-04-17 14:53:14 1088

原创 从零学SpringCloud系列(三):客户端负载均衡Ribbon

一、Spring Cloud Ribbon简介Spring Cloud是一个基于HTTP和TCP的客户端 负载工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松的将面向服务的REST模板请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon属于一个工具类框架, 在 项目中它不需要单独部署,但是它几乎存在于每一个Spring ...

2020-04-15 15:18:49 406

原创 从零学习SpringCloud系列(二):Schema specific part is opaque

一、错误在搭建Eureka客户端的时候,编写完程序以后,启动项目提示错误1、java.lang.IllegalArgumentException: Schema specific part is opaque2、com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any ...

2020-04-13 18:33:33 182202 4

原创 从零学springCloud系列(一):注册中心Eureka详解

一、Spring Cloud Eureka简介Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要完成微服务架构中的服务治理功能。Spring Cloud通过为Eureka增加了Spring Boot 风格的自动化配置,我们只需要通过简单的引入依赖和注解配置就能让Spring Boot构建的微...

2020-04-13 16:40:26 181549

原创 GitHub恢复删除的远程仓库

引言前两天在清理自己的github仓库时删除了很多之前创建的代码仓库,觉得没有什么实用价值了, 但是今天突然发现删除了一个比较有意义的仓库,今天需要去上面获得一些之前 编写 的代码,由于更换了电脑本地也没有了,这就尴尬了,所以想是不是可以恢复我们删除的仓库,github果然很人性化啊。恢复步骤1、算作setting2、选择Repositories3、选择De...

2020-04-08 20:17:20 4532 1

原创 SpringCloud Hoxton.SR3版本 配置中心config搭建教程

引言最近在搭建配置中心的时候遇到了很多问题,因为刚开始接触springcloud 对里面的很多只是并不是很了解,但是看了文档以后觉得 应该是很简单的,结果在搭建过程中都是大坑啊。下面先介绍正确的配置过程,然后在分享其中遇到的坑。项目版本spring-boot-version:2.2.5.RELEASEspring-cloud.version:Hoxton.SR3注意:sprin...

2020-04-06 11:35:59 34646 2

原创 JAVA实现PGP/GPG加解密加验签

一、引言上一篇博客中介绍了GPG的基本使用,在原来的项目中我们对接gpg加密的时候,采用的方式,利用java代码执行shell命令行,但是在新对接的项目中,这种方式对方利用 命令行能解密,但是利用他们的代码不能解密,原因是他们代码生成并不是pgp后缀 的加密文件, 而是pgp格式的加密文件。所以小编也利用java生成一个加密文件,这样双方可以愉快的加解密了。二、代码实现2.1 mave...

2020-03-13 11:05:24 150312 4

原创 GPG密钥的生成与使用

引言最近在对接银行向的时候,行内要求采用PGP方式对数据文件进行加密,首先我们需要生成密钥对,然后导出公钥给对方,导出私钥以供后面程序解密使用。关于GPG基本的介绍,在这里就不介绍了,大家自行百度就行了,本文主要分享项目中用的干货。创建密钥对$ gpg --gen-key 操作实例:[fan 18:58:33]~$ gpg --gen-key gpg (Gn...

2020-03-13 10:54:58 147795 2

原创 JAVA实现接入企业微信报警

引言原来系统中报警采用短信和邮件方式,短信采用阿里的短信,近期由于 一些原因,项目中想将报警信息发送到 企业微信中,由于之前小编玩zabbix的时候实现过这个需求,所以认为通过java应该比较简单, 下面分享接入代码,直接上干货。一、创建应用1)、登录企业微信后台管理页面,选择应用管理2)、在最下面 创建应用这里面可以控制那些人收到报警信息,其中质量的Secret 就是...

2020-03-05 17:51:03 145679

原创 java 发送邮件附件 文件名过长的坑

引言今天在发送邮件的时候,发现 excel附件名称乱套了,导致文件失效, 之前发送都是正常的,因为是平台封装的发送邮件的工具类,所以一脸懵逼,别的项目好好的发送,今天突然出现错误。 经过多次尝试发现,发送成功和失败的区别在于文件名称不同,于是我们把文件名称修改的很短后发现竟然发送成功了,是不是很坑,然我回头去看发送邮件的工具类,发现有个设置 没有打开。错误原因:...

2019-12-20 22:03:13 8124 1

原创 zookepeer启动节点报错,unable to run quorum server

引言今天在部署新的项目的时候,直接将原来的机器做了一个镜像,然后 利用该镜像直接安装新机器。该机器上有zk的三个节点,在修改完ip地址以后,启动zk节点时候报错:错误关键信息:Unable to run quorum server解决方法:1. 在配置文件/usr/local/zookeeper-3.4.6/conf/zoo.cfg,找到下面两个配置的值dataD...

2019-12-18 12:11:08 6923

原创 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

引言今天在新机器上部署项目的是,安装完ES集群以后, 启动的时候出现下面错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]错误原因错误elas提示的意思就是:ES用户拥有的内存权限太小,至少需要262144;解决:切换到root用户执...

2019-12-18 12:03:46 6132

原创 通过反射获得并调用类的方法导致@Autowired注入失效的解决方案

引言最近在优化公司平台项目,由于该平台是to B性质,所以有些需求需要 定制化开发,为了使代码向上兼容并且更加的灵活,所以用到了反射,但是在使用过程中遇到了@Autowired失效问题。问题解析:其实出现这个问题的原因很简单,就是我们通过获得的类没有纳入spring容器管理,下面来看一下错误代码:反射代码如下: //为了测试写死了 ...

2019-12-14 12:05:45 10429 5

原创 JVM性能监控与故障处理工具

引言在 应用服务出现模型的卡顿或者CPU飙升等问题时,总是要分析一下对应的进程的JVM状态以定位问题和解决问题并做出响应的优化,在这个过程中java自带的一些状态监控 命令工具就非常方便了。1、jps:JVM进程状况工具JDK中很多的小工具都参考 了unix的命名方式,jps 就是其中的典型。除了名称和UNIX中的ps相似之外,功能也和ps命令类似:可以列出正在运行的虚拟机进程,...

2019-12-14 11:15:19 6257 2

原创 垃圾收集器

如果说垃圾回收算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现,java虚拟机实现规范中对垃圾收集器应该如何实现并没有任何规定,因此不同厂商、不同版本的虚拟机提供的垃圾收集器存在很大的差异,接下来我们主要介绍一下HOTSPOT虚拟机中的几种垃圾收集器。这个虚拟包含的收集器如下图: 上图中7中作用于不同分代的收集器,如...

2019-12-07 22:15:52 6176

原创 垃圾收集策略与算法

在前面的博文当中我们已经介绍了java运行时内存区域的各个部分及特点,其中程序计数器、虚拟机栈、 本地方法栈三个区域随着线程而生,随着线程而灭;栈中的栈帧随着方法的执行和退出,有条不紊的执行者入栈和出栈操作。每一个栈帧分配 多少内存基本上是在类结构确定下来的时候就 已知的,因此这几个区域的内存分配和回收都具备确定性, 在这几个区域 就不用过多的考虑回收问题,所以所谓的垃圾回收主要针对的区域是堆,这...

2019-12-05 23:43:02 6017

原创 利用dom4j解析xml

引言最近有个项目需要解析xml 文件,获取其中的节点内容, 小编选择了一个编码简单又高效的dom4j来完成。1、xml内容<?xml version="1.0" encoding="UTF-8"?><RecognizeResult> <Speech Uri="/Sub/2019-12-03.3/file/5149-15892322607-201...

2019-12-05 13:11:01 5897 1

转载 Java解析XML(4种方法)

<?xml version="1.0" encoding="utf-8" ?><class> <student> <firstname>cxx1</firstname> <lastname>Bob1</lastname> &lt...

2019-12-05 13:09:49 604

原创 JAVA内存模型(JMM)详解

引言为了更好的了解底层原理,写出更加高效的代码,今天我们 详细的分析一下JAVA内存模型(JMM),JAVA内存模型是我们深入了解java并发变成的先决条件。对于后续多线程 中的线程安全,同步异步处理等更是大有裨益。硬件内存架构在学习java内存模型之前,先了解一下计算机硬件模型,我们都知道处理器与计算机存储设备运算速度有几个数量级的差别。总不能让处理器一直等待计算机存储设备,这样就没...

2019-12-04 23:28:47 814

原创 JAVA8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。如果在网络上搜索JVM内存结构,90%的可能会搜到Java7及以前的内存图,本篇文章将会对JVM内存结构再次细化,深入理解Java8之后的内部变化。JVM内存结构的细化再来看一下《JVM之内存结构详解》中的内存结构图。为了更细化的讲解,我们将该图进行进...

2019-12-03 21:38:20 169663 2

原创 JAVA GC垃圾回收机制详解

引言在上一篇博客中我们详细分析了,JVM的内存结构。既然提到了JVM那么我们必须得谈一谈GC垃圾回收机制了,在分析垃圾回收机制之前呢,我们还是需要来内存结构中堆(Heap)的详细结构。图中展示了堆中三个区域:Eden、From Survivor、To Survivor。从图中可以也可以看到它们的大小比例,准确来说是:8:1:1。为什么要这样设计呢,本篇文章后续会给出解答,还是根据垃圾...

2019-12-02 12:57:50 172109 2

原创 JVM之内存结构详解

对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug。同时,JVM也是面试环节的中重灾区。今天开始,《JVM详解》系列开启,带大家深入了解JVM相关知识。 我们不能为了面试而面试,但是学习会这些核心知识你必定会成为面试与工作中“最亮的一颗星”。本系列首发于微信公众号“程序新视界”。下面,开启我们的第一篇文章《JVM之内存结构详解》。思考一下...

2019-11-27 23:40:17 39461 2

原创 快速定位线上CPU100%原因

引言最近项目部门反应有个系统特别卡顿,很多页面都打不开了,开发人员告诉我说最近没有进行代码升级,我登录到对应的服务器上执行了top命令,发现cpu飙升到100%,对于这种问题我们应该快速的定位到问题,否则会影响线上系统的正常作业。对于造成这种问题的可能原因,迅速的在头脑中闪过四种情况: 1、某个接口响应时间超长,并且可能被频繁调用 2、产生了过大的对象,造成频繁FGC 3...

2019-11-26 22:56:31 43097 6

原创 解决Spring工具类BeanUtils copyProperties方法复制null的问题

引言最近在解决问题时候发现,BeanUtils copyProperties 方法会将值为null的字段也进行复制, 这有时候会不能满足我们的需求,所以为了解决复制null问题, 小编对该方法就行了重写。其中重要的代码就是加入null判断,不为null时进行复制。*************************************下面工具类可以直接使用*************...

2019-11-24 22:59:41 44291 2

原创 java性能监控利器Arthas

引言性能调优是一个非常复杂,技术含量很高的高作,涉及到的知识面很广,而性能调优的第一步工作就是发现问题和定位问题,确定性能问题出现在那一部分,需要定位到具体的函数,类,SQL,某些参数的配置等等。那么我们在实际工作中怎么定位问题呢?肯定不能靠猜测和想象,尤其是我们线上出现了一些不是很容易复现的性能问题时。比较专业的开发人员肯定是会借助一些工具,以JAVA语言来说,如jdk自带的jvisualv...

2019-11-10 17:48:36 159649

转载 常见OOM 原因及解决方案

当 JVM 内存严重不足时,就会抛出 java.lang.OutOfMemoryError 错误。本文总结了常见的 OOM 原因及其解决方法,如下图所示。如有遗漏或错误,欢迎补充指正。1、Java heap space当堆内存(Heap Space)没有足够空间存放新创建的对象时,就会抛出java.lang.OutOfMemoryError:Javaheap space错误(根据实...

2019-11-01 23:17:20 11111

转载 Cron表达式详解

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:  (1)Seconds Minutes Hours DayofMonth Month DayofWeek Year  (2)Seconds Minutes Hours DayofMonth Month DayofWeek    一、结构  corn从左到右...

2019-11-01 14:54:51 309

原创 【ElasticSearch实战】——java操作ES基本查询在项目中应用

引言最近小编负责的一个语音质检 项目中用到了ES,下面结合实例代码分享一下java操作ES查用的查询写法。关于es的基本操作,例如新建索引、查询封装类,请参考前面博客:【ElasticSearch实战】——封装java操作es基础架构1、ES在项目中的位置 2、项目查询需求从上面查询条件来看,其中包括了精确查询,模糊查询及时间范围查询等,这些...

2019-10-24 22:55:58 174281

原创 JAVA判断号码是手机还是固话并查询归属地

引言最近在做呼叫中心项目,其中有一个环节是根据根据FS传入的 被叫号码来确定使用哪个线路呼叫,我们需要判断被叫号码是手机号码还是固话,并且需要判断号码的归属地, 我们需要把这些参数 传递给规则引擎,然后返回需要的线路。基本思路首先 判断被叫号码 是否是手机号,如果是手机号则返回前7位 用来做归属地查询,如果是固话返回区号用来归属地查询。业务代码: //校验被叫号码固话还是手...

2019-10-19 09:56:23 2881

原创 max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

引言elasticsearch启动时遇到的错误问题翻译过来就是:elasticsearch用户拥有的内存权限太小,至少需要262144;解决:切换到root用户执行命令:sysctl -w vm.max_map_count=262144查看结果:sysctl -a|grep vm.max_map_count显示:vm.max_map_count = 2621...

2019-10-15 21:14:09 169242

原创 解决使用Properties读取中文乱码问题

引言最近在维护一个两年前的系统,需要 调整配置文件中的内容,在编辑的时候, 发现在服务器上中文都是unicode类型显示,所以根本不能维护,当我将unicode 转换为中文显示的时候,发现程序读取出来的是乱码。我的项目使用的编码也是utf-8,但是我用Properties读取中文的时候,打印出来的总是乱码。后来网上查了一下,得到如下结论:Properties 默认是按ISO-8859-1读...

2019-10-14 10:02:28 3736 1

转载 漫画:什么是中台?

没有中台...

2019-10-10 18:52:57 425

原创 java采用注解方式将JavaBean转换为XML并采用AES全报文加密

引言上一篇博客中介绍了怎么获得签名,在这篇博客中将介绍如何采用注解方式将JavaBean转换为XML并采用AES全报文加密。首先看一下生成的xml报文格式。<?xml version="1.0" encoding="utf-8"?><Message> <Sys_Head> <TRAN_CODE>CMS02CMS658...

2019-09-01 17:17:12 816

qrtz_blob_triggers.sql

quartz-2.2.3版本集群部署方式,需要创建的11张表的sql 文件,很多文章没有分享,一定要注意版本,不同的版本sql脚本不同

2021-03-02

Tomcat8.5.55.jar

通过构建源码得到的tomcat.jar,网上的都是源码,被坑了100个c币。所以今天通过源码构建出jar包。

2020-11-19

mysql-5.7.21-linux-glibc2.12-x86_64.tar下载.txt

linux 上安装可用的mysql 5.7.21版本,其他的资源下载需要的分数太多了。 安装教程:https://blog.csdn.net/hao134838/article/details/92114641

2020-08-28

oss可视化工具Borwser-win32-x64.zip

一个非常好用的oss可视化工具,使用这个工具我们就可以避免通过oss控制台来查看oss服务器上的文档了,非常的便捷好用。

2020-04-17

springcloud教程.zip

通过天气预报系统完整的介绍和学习springcloud框架内容,通过一个完整的项目从基础介绍整个springcloud生态圈的内容,非常好的入门视频

2020-04-07

drools实现demo

代码实现了基本的drools功能,并且在第二个demo中进行了和springboot的结合,实现了消费积分的累计,最后的demo是实现了springboot+mysql实现动态规则生成

2019-03-19

Drools技术开发指南中文版

Drools 是一个基于Charles Forgy's的RETE算法的,易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。 Drools 是用Java语言编写的开放源码规则引擎,使用Rete算法对所编写的规则求值。Drools允许使用声明方式表达业务逻辑。可以使用非XML的本地语言编写规则,

2019-03-19

飞鸽快信使用教程

飞鸽快信使用教程,非常的详细。

2018-10-10

Qutartz 触发器表达式生成器

CronExpBuilder-1.0(触发器表达式生成器) 用于快速生成 触发器表达式

2017-08-13

SSH框架源码

下载后可以导入到myeclipse中可以直接运行

2017-02-05

java生成验图片验证码

项目已经运行过,完全没有问题,下载以后之间导入myeclipse就可以运行

2017-01-07

maven-archetype-quickstart-1.1.jar

1.http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/ 下载最新版maven-archetype-quickstart-1.1.jar 2.cmd窗口执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfile=maven-archetype-quickstart-1.1.jar

2016-11-13

基于ngMockE2E实现后台数据模拟

基于ngMockE2E实现后台数据模拟,本人亲自写的Demo,已经在项目中使用,本Demo可以直接运行,没有错误!

2016-08-27

angular-resource.js

angular-resource.js

2016-08-24

angular-mocks.js 1.5.0

angular-mocks.js 1.5.0

2016-08-24

angular.js1.5.0

angular.js1.5.0

2016-08-24

FlexPaper控件和对应js

这是FlexPaper控件的所需要的资源,在利用这个控件工作的时候需要用到,本人已经使用过,没有问题!请大家自行下载

2016-02-29

Aspose.words.dll

在处理各种文件的时候,我们需要借助此插件的强悍的功能,这是我找到最新版的Apose,word.dall文件,相比之前的功能更加的强悍!

2016-01-15

Aspose.wrod的API文档(英文)

此文档对于Apose.word控件的介绍非常的详细,所以大家在使用此控件的时候非常有必要参考此API,所以在此和大家分享

2016-01-15

基于jmail控件实现邮件发送源码

此代码已经在vs2013上面测试通过,没有任何问题,可以实现邮件的发送,并且可以实现附件的发送。zip

2015-11-15

JMail44_pro

利用此插件实现邮件的收发非常的方便,本人已经利用此插件实现了邮件的接收和发送

2015-11-15

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

TA关注的人

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