自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (18)
  • 收藏
  • 关注

原创 JVM~内存调优配置~GC调优选择

Java堆从GC的角度还可以细分为:新生代(Eden区、From Survivor区和To Survivor区)和老年代。JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配...

2021-02-27 14:18:50 1167

原创 JVM~垃圾收集器

GC(Garbage Collection)机制,是Java与C++/C的主要区别之一,Java开发者,一般不需要单独处理内存的回收,GC会负责内存的释放。 java运行时区域中程序计数器、虚拟机栈、本地方法栈3个区域随线程生命周期结束而结束,Java堆、方法区则不一样,一个接口中的多个实现类需要的内存可能不一样,一个方法中的多个分支需要的内存也可能不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的是这部分内存。1....

2021-02-27 14:12:04 294

原创 JVM~Java内存区域

程序计数器 (Program Counter Register)内存空间小,线程私有。字节码解释器工作是就是通过改变这个计数器的值来选取下一条需要执行指令的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成。如果线程正在执行一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是 Native 方法,这个计数器的值则为 (Undefined)。此内存区域是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemor...

2021-02-27 14:08:50 268

原创 spring-cloud-zuul Mysql 实现动态路由以及手动刷新

本文建立在spring-cloud-zuul环境搭建的基础上进行扩展介绍。介绍 实现zuul的动态路由可通过两种方式 1. 基于配置中心实现配置文件动态刷新 2.基于数据库存储配置文件,发布 RoutesRefreshedEvent 事件,触发 SimpleRouteLocator 重新加载配置实现步骤1.数据库初始化CREATE TABLE `zuul_route` ( `id` varchar(50) NOT N...

2021-02-15 10:09:35 529

原创 spring-cloud-zuul 配置httpclient或者okhttp

Httpclientribbon: eureka: enabled: true http: client: enabled: trueokhttp配置maven依赖 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>mockwebserver</artifac

2021-02-13 20:39:41 543

原创 spring-cloud-zuul 限流

介绍 zuul实现限流主要通过依赖 spring-cloud-zuul-ratelimit 实现,本案例限流使用的缓存为redisZuul 服务maven配置 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-st..

2021-02-13 20:26:18 359

原创 spring-cloud-zuul 重试

介绍 zuul支持路由到客户端进行重试,通过spring-retry 实现, 系统默认是不允许重试的,如果开启重试客户端则需要支持请求的幂等性Zuul 服务maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eurek..

2021-02-13 20:18:07 149

原创 spring-cloud-zuul 灰度发布

介绍 zuul依赖于ribbon-discovery-filter-spring-cloud-starter实现灰度发布,通过客户端的发送到zuul上的请求所带的标志性参数进行路由。zuul服务maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-st..

2021-02-13 20:04:53 464 2

原创 spring-cloud-zuul 使用groovy脚本实现filter的热刷新

本文建立在spring-cloud-zuul环境搭建的基础上进行扩展介绍。介绍 Zuul提供了一个能够对过滤器进行动态的加载、编译、运行的框架。这些过滤器是由Groovy写成,被放在Zuul Server上的特定目录下面。Zuul会按期轮询这些目录,修改过的过滤器会动态的加载到Zuul Server中。这样如果要对过滤器有改动,就不用进行网关的重新发布了,只需要把过滤器上传到指定目录即可。 实现修改GroovyFilter.groovy中的代码,不需重启服务。 <d...

2021-01-24 18:24:01 561

原创 spring-cloud-zuul 文件上传

本文建立在spring-cloud-zuul环境搭建的基础上进行扩展介绍。zuul中进行文件上传和Springboot web中文件上传方式一致。1.配置文件支持文件上传spring: application: name: zuul servlet: multipart: enabled: true #默认支持文件上传 file-size-threshold: 10240 #支持文件写入磁盘 bytes location: /

2021-01-24 18:15:22 262 1

原创 MD5工具类

介绍 MD5信息摘要算法:一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致工具类/** * @author:houkai */public class MD5Util { /** * 生成 MD5 * * @param data 待处理数据 * @return MD5结果 */ public static String md5(Stri...

2021-01-19 19:47:04 154

原创 spring-cloud-zuul原理介绍及自定义filter

本文建立在spring-cloud-zuul环境搭建的基础上进行扩展介绍。原理 ​zuul的核心逻辑都是由一系列filter过滤器链实现的,但是filter的类型不同,执行的时机也不同,效果自然也不一样,主要特点如下: ​ filter的类型:filter的类型,决定了它在整个filter链中的执行顺序,可能在端点路由前执行,也可能在端点路由时执行,还有可能在端点路由后执行,甚至是端点路由发生异常时执行。 ​ filter的执行顺序:同一种类型的filter,可以通过fi...

2021-01-17 20:36:08 408

原创 spring-cloud-zuul 介绍与基础配置

介绍 Zuul是Spring Cloud全家桶中的微服务API网关。所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序。作为一个边界性质的应用程序,Zuul提供了动态路由、监控、弹性负载和安全功能。Zuul底层利用各种filter实现如下功能: 1.认证和安全 识别每个需要认证的资源,拒绝不符合要求的请求。 2.性能监测 在服务边界追踪并统计数据,提供精确的生产视图。 3.动态路由 根据需要将请求动态路由到后端集群。...

2021-01-17 19:27:02 231

原创 spring-cloud-feign 添加公共请求头

搭建好简单版本的feign客户端与服务端,本文基于简单版本进行扩展,将token等信息放入Feign请求头中,主要通过重写RequestInterceptor的apply方法实现。读者可以举一反三将设置请求中的RestTemplate。步骤: 1.定义FeignConfigpublic class FeignConfig implements RequestInterceptor { @Override public void apply(RequestTem...

2021-01-16 18:46:15 821

原创 spring-cloud-feign 配置okHttp 或 HttpClient

搭建好简单版本的feign客户端与服务端,本文基于简单版本进行扩展,修改默认的Http客户端为okHttp 或 HttpClient。修改为HttpClient1.添加maven依赖 <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId>..

2021-01-16 18:39:05 1432

原创 spring-cloud-feign 开启gzip

搭建好简单版本的feign客户端与服务端,本文基于简单版本进行扩展,支持客户端支持gzip。1.修改配置文件开启gizpfeign: client: config: default: connectTimeout: 5000 readTimeout: 5000 loggerLevel: basic compression: request: enabled: true #开启gzip压缩 ..

2021-01-16 18:33:19 528

原创 spring-cloud-feign 文件上传与下载

搭建好简单版本的feign客户端与服务端,本文基于简单版本进行扩展,支持文件上传与下载。客户端1.添加maven依赖 <!-- 引入文件feign文件上传依赖 --> <dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form</artifactI..

2021-01-16 18:27:38 332

原创 spring-cloud-feign 简单环境搭建

Feign服务端1.添加Maven依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>2.启动类配置@SpringBootApplic

2021-01-16 18:16:24 335

原创 spring-cloud-feign 介绍

Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便。它具有可插拔注释支持,包括Feign注解和JAX-RS注解、Feign还支持可插拔编码器和解码器、Spring Cloud增加了对Spring MVC注释的支持,并HttpMessageConverters在Spring Web中使用了默认使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign时时使用Ribbon做客户端的负载均衡。Feign的配置方式方式...

2021-01-16 18:04:07 306

原创 spring-cloud-eureka region与zone的配置与使用

Eureka可以配置不同的zone(区域),当Client对Server发出请求时可以优先选择同区域的Server(默认)。 Eureka基于Amazon设计的,所以对于地域的区分也与Amazon一致,Amazon分为多个region,每个region包含多个zone,所以Eureka设计时也是可以设置region与zone,请求时可以优先选择与请求服务在同一个zone的服务。 搭建方式也是基于单机版本演变而来。服务端 region-east:zone1...

2021-01-16 17:35:51 1062

原创 spring-cloud-eureka 集群环境

搭建eureka的集群环境主要使得各个eureka之间相互注册,保证注册中心的高可用。 搭建方式与单机版本的主要区别是配置文件配置的配置方法不同,以下给出集群环境配置的配置文件,其它步骤请参考单机版本环境搭建服务端1spring: application: name: eurekaserver: port: 8001eureka: instance: hostname: localhost8001 instance-id:...

2021-01-16 17:08:55 70

原创 spring-cloud-eureka 集成spring-boot-starter-security

此案例是以 eureka 单机版为基础进行扩展性介绍服务端1.引入maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>...

2021-01-16 17:00:26 578

原创 spring-cloud-eureka

介绍 Eureka是Netflix开发的服务发现框架,是一个基于REST的服务。主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka服务器节点之间是对等的,只要有一个节点在,就可以正常提供服务。Eureka客户端的所有操作可能需要一段时间才能在Eureka服务器中反映出来,随后在其他Eureka客户端中反映出来。也就是说,客户端获取到的注册信息可能

2021-01-16 16:47:55 148 1

原创 图形验证码工具类

package com.image;import javax.imageio.ImageIO;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import java.awt.geom.AffineTransform;import java.awt.image.BufferedIma...

2020-12-23 17:03:06 354 1

原创 Apache POI解析 ~ 行合并的单元格

使用Apache POI解析一个如下图样式的excel文件Apache POI 针对Workbook有两种不同实现方式,分别是HSSFWorkbook(解析.xls文件)和XSSFWorkbook(解析.xlsx文件)1.添加Maven依赖 <dependencies> <dependency> <groupId>org.apache.poi</groupId> &l.

2020-12-22 13:07:31 873 1

原创 elasticSearch~中文分词器安装及使用

分词API 请求方式: post URL:http://192.168.18.129:9200/_analyze 请求{ "analyzer":"standard", #标准分词器 "text":"hello world"} 响应{ "tokens": [ { "token": "hello", "start_offset": 0, "end...

2020-12-19 16:39:00 502 1

原创 Power Designer 使用说明

介绍Power Designer是能进行数据库设计的强大的软件,是一款开发人员常用的数据建模工具。几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型。概念模型 概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。 概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中...

2020-11-24 13:39:22 2130 2

原创 visual paramdigm使用

1、vp介绍visual paramdigm是公司标准设计工具之一,主要用于设计:A、UML相关的各种图,例如:交互序列图、类图、通讯图、活动图、时间图、状态图等等B、数据库相关的ER图,逻辑模型图,表结构详细2、UML图用例图 Use Case Diagram用途:用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖。它展示了一个外部用户

2020-11-24 13:24:34 1058

原创 Jackson的基本使用

介绍 Jackson是用来序列化和反序列化json的Java的开源框架。Spring MVC的默认json解析器便是Jackson。 与Gson等相比, Jackson解析大的json文件速度比较快; 运行时占用内存比较低,性能比较好。Maven依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artif...

2020-10-23 17:07:29 1226

原创 fastJson的使用

介绍 fastJson是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。Mavan依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactI

2020-10-23 14:53:37 1217

原创 Gson使用

介绍 Gson是谷歌官方推出的支持 JSON -- Java Object相互转换的 Java序列化/反序列化库使用DEMOpackage json.gson;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import com.google.gson.JsonArray;import com.google.gson.JsonObject;import com.google.gson.refl...

2020-10-22 16:25:26 310 1

原创 netty~ 基于netty实现服务端的长连接

描述 socket长连接即服务端不断开客户端channel的连接,客户端需要定时向服务端进行心跳检测,服务端需要将过期未进行心跳检测的socket关闭。 服务端关闭过期的channel连接: Netty提供了ScheduledFuture,可以通过ChannelHandlerContext.executor().schedule()创建,支持延时提交,也支持取消任务,为自动关闭提供了一个很好的实现方案。实现Demo消息定义public class Msg {...

2020-10-07 19:45:08 3882

原创 netty~http客户端与服务端

描述 netty对http消息提供了FullHttpRequest接口,此接口合并HttpRequest和FullHttpMessage ,因此请求是一个完整的HTTP请求。服务端消息处理器/** * @describe: http服务端对消息的处理 * @author: houkai */public class HttpHandler extends SimpleChannelInboundHandler<FullHttpRequest> { @Over...

2020-10-07 17:01:53 749

原创 NIO介绍~基于NIO的客户端与服务端

1. Java NIO 和 IO 之间的主要差别 IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 Java NIO 的选择器允许一个单独的线程来监视多个输入通道,你可以注册多个通道使用一个选择器,然后使用一个单独的线程来 "选择" 通道。2. Java NIO 的通道类似流,但又有些不同既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。 通道可以异步地读写。 通道中的数据总是要先读到一个 Buffer,或者总是要从一个 Buffer 中写入...

2020-10-06 13:07:08 1130

原创 netty~构建一个基于netty的客户端和服务端

描述:本案例将构建一个基于netty的客户端和服务端项目maven依赖: <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.52.Final</version> </dependen

2020-10-05 15:54:31 159

原创 Springboot2.0集成shiro

Shiro的核心概念介绍身份认证流程 首先调用 Subject.login(token) 进行登录,其会自动委托给 Security Manager,调用之前必须通过 SecurityUtils.setSecurityManager() 设置; SecurityManager 负责真正的身份验证逻辑;它会委托给 Authenticator 进行身份验证; Authenticator 才是真正的身份验证者,Shiro API 中核心的身份认证入口点,此处可以自定义插入自己的实现;...

2020-10-04 16:33:45 223

原创 Springboot2.0集成actuator健康监控

1.引入Mavan依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency> <groupId>org.springframework.hateoas</gro

2020-10-04 16:14:23 458 1

原创 Docker容器的使用

Docker 允许你在容器内运行应用程序, 使用docker run命令来在容器内运行一个应用程序。如果本地没有镜像会自动下载镜像。docker run ubuntu:15.10 /bin/echo "Hello world" -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。 -d:让容器在后台运行。 -P:将容器内部使用的网络端口映射到我们使用的主机上。容器内部的 5000 端口映射到我们本地主机的 5000...

2020-10-03 22:09:54 131

原创 Docker 中安装RocketMQ

查找镜像docker search rocketmq拉取镜像docker.io/rabbitmq:management启动docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=111qqq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rab

2020-10-03 21:50:48 266

原创 Docker容器中安装JDK

docker容器默认是没有JDK的,如果需要运行Java程序那么要么宿主机器中安装JDK要么容器中安装JDK,以下是在容器中安装JDK的方法。1.在宿主系统下载所需要的jdk版本的gz文件 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.复制gz文件到容器中的root的用户目录下docker cp <path to jdk gz fil...

2020-10-03 20:00:13 7947 1

disruptor技术培训

文档讲述了高并发框架disruptor的使用方法以及disruptor的原理以及为什么快的原因

2018-11-07

Tomcat技术培训

文章讲述了Tomcat的部署方式,以及tomcat的组成原理,以及tomcat的调优,将tomcat的调优进行了进一步的扩展,讲了下Jvm的调优方法。

2018-11-07

Java编程中常见的坑

讲解了Java基础中常见的问题,平时不长碰见的问题,通过此文档可以让基础比较薄弱的Java程序员可以认识到一些Java开发中使用的没经验容易犯错的问题,提高大家的开发效率

2018-11-07

struts2 中文api chm

2017-05-13

jdk1.8 中文学习文档api chm

2017-05-13

hibernate中文学习文档CHM API

2017-05-13

数据库ppt.ppt

数据库ppt

2016-03-30

存储过程-触发器-函数.ppt

存储过程-触发器-函数.ppt

2016-03-30

MySQL数据库.ppt

MySQL数据库.ppt

2016-03-30

struts2+hiberbate+Spring笔记

ssh笔记

2016-03-30

Spring2.5-中文参考手册.chm

Spring2.5-中文参考手册.chm

2016-03-30

spring视频教程 PPT

spring视频教程 PPT

2016-03-30

云起点书城界面原形

云起点书城界面原形

2016-03-30

myeclipse全面详解

myeclipse全面详解

2016-03-30

json-lib所用到的jar包

json-lib所用到的jar包

2016-03-30

身份证校验

身份证校验代码

2016-03-30

文件上传和下载

文件上传和下载

2016-03-30

毕业论文参考文献格式

参考文献格式

2016-03-29

空空如也

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

TA关注的人

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