自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

京北游戏官方

了解=听过名字;熟悉=知道是啥;熟练=用过;精通=做过东西。

  • 博客(368)
  • 资源 (1)
  • 收藏
  • 关注

原创 HashSet 的add方法实际调用return map.put(e, PRESENT)==null;

看下源码 public boolean add(E e) { return map.put(e, PRESENT)==null; } // Dummy value to associate with an Object in the backing Map private static final Object PRESENT = new Object();因为HashSet底层就是一个HashMapHashSet的add方法也调用的HashM

2021-01-21 23:33:20 534

原创 Java对象组成查看信息

查看对象的组成信息包括偏向状态,锁状态标志,对齐填充,实例大小,空间损耗 <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.10</version> </dependency>基本使

2021-01-20 14:17:42 799

原创 Java对象的组成

Java对象保存在内存中时,由以下三部分组成 1,对象头 2,实例数据 3,对齐填充字节 一,对象头 java的对象头由以下三部分组成: 1,Mark Word 2,指向类的指针 3,数组长度(只有数组对象才有)   1,Mark Word Mark Word记录了对象和锁有关的信息,当这个对象被synchronized关键字当成同步锁时,围绕这个锁的一系列操作都和Mark Word有关。 Mark Word在32位JVM中的长度是32bit,在6

2021-01-20 13:25:01 882

原创 偏向锁的开启和关闭

是否要在JVM中启用偏向锁取决于业务方面如果加synchronized的方法在大部分时间内都只有一个线程来访问其他很少的时间才会有多线程来并发访问那么就有必要开启偏向锁当然JDK是默认开启偏向锁的在JVM参数中也可以开启和关闭偏向锁偏向锁的关闭参数-XX:+UseBiasedLocking -client -Xmx512m -Xms512m偏向锁的开启参数-XX:+UseBiasedLocking -XX:BiasedLockingStartupDelay=0 -client -Xmx

2021-01-20 12:03:05 858

原创 如何在Springboot中查看Spring版本

main方法或者Test方法就可以查看到对应的版本@Test public void TestspringVersionAndspringBootVersion (){ String springVersion = SpringVersion.getVersion(); System.out.println(springVersion); String springBootVersion = SpringBootVersion.getVersion(

2021-01-19 18:47:28 932

原创 java.sql.Timestamp cannot be cast to java.lang.Long

将 java.sql.Timestamp 类型转换为 java.util.Date 类型。Date d = (Date)时间戳

2021-01-19 16:03:21 1068

原创 LocalDateTime转Date

LocalDateTime转DateLocalDateTime localDateTime = LocalDateTime.now();Date date = Date.from( localDateTime.atZone( ZoneId.systemDefault()).toInstant());System.out.println(date);Date转LocalDateTimeDate todayDate = new Date();LocalDateTime ldt = toda

2021-01-19 09:58:25 926

原创 Spring Cloud Gateway + JWT 实现统一的认证授权

项目结构说明主要类说明:JwtCheck.java --> JwtToken校验注解JwtCheckAop.java --> JwtToken校验注解AOPJwtTokenFilter.java -->自定义JWT 过滤器AuthController.java -->认证测试接口application.yml -->配置文件JwtUtil.java --> jwt工具类│ .gitignore│ build.sh│ Dockerfile│ m

2021-01-13 17:57:35 1215

原创 正则表达式合集

一.校验数字数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^

2021-01-13 17:04:44 1372

原创 正则表达式匹配注释

就这,Nodepad++中开启正则表达式,就能匹配上<!--(.|[\r\n])*?-->

2021-01-12 17:58:31 1519

原创 Zuul服务网关的自定义异常过滤器

在springcloud中,网关发生异常时,我们需要自定义返回的异常信息给用户看那么我们就需要自定义异常过滤器了首先我们需要停用内置的默认异常处理器SendErrorFilter,不然还是走的他默认的异常过滤器在yml中的配置为:zuul: SendErrorFilter: error: disable: true可以继承SendErrorFilter 类,也可以继承ZuulFilter类,实现结果都一样package com.qiangqiang.filter;i

2021-01-12 14:09:50 1270

原创 Zuul服务网关的fallback快速失败

使用Zuul进行请求分发的过程中,当后端服务出现超时异常的时候,服务可以像hystrix熔断器一样进行降级操作,就需要我们设置路由熔断,提供快速失败返回预设的信息。启动类中增加@EnableZuulProxy注解新建类实现ZuulFallbackProvider接口...

2021-01-12 10:32:10 1490

原创 Sentinel之控制台

github地址:https://github.com/alibaba/Sentinel/wiki/控制台您可以从 release 页面 下载最新版本的控制台 jar 包。

2021-01-11 15:38:15 1767

原创 Sentinal动态配置规则之zookeeper配置规则

         Sentinel之所以需要配置动态规则,是因为默认情况下,流控、熔断等规则只保存在内存中,一旦客户端重启,规则就全消失了。而动态规则可以将将这些信息持久化到像Nacos、Zookeeper、Apollo等平台中去。一般在生产环境中推荐使用动态规则。         本人在配置动态规则的过程中,碰到了一些坑,...

2021-01-11 13:18:26 1934

原创 Sentinel服务哨兵之定义资源

根据Sentinel官网介绍,定义资源一共有5种方式:方式一:主流框架的默认适配方式二:抛出异常的方式定义资源方式三:返回布尔值方式定义资源方式四:注解方式定义资源方式五:异步调用支持每一种都有其应用的场景,这里只做注解方式定义资源的介绍一般使用只需要value,blockHandler,fallback参数就够用了blockHandler:触发限流调用的方法fallback:触发熔断调用的方法// 原本的业务方法.@SentinelResource(value="getUserByI

2021-01-11 11:48:06 1904

原创 eureka服务返回的数据是xml格式

记一次奇怪的返回数据,返回的数据变成了xml格式This XML file does not appear to have any style information associated with it. The document tree is shown below.<Order><id>1</id><name>用户订单</name><productId>2</productId><productLi

2021-01-11 10:46:21 1986

原创 Feign雪崩处理

在feign声明式调用中,在@FeignClient注解中添加fallback参数@FeignClient(value = “product-server”,fallback = ProductServiceFallback.class)这个ProductServiceFallback类是ProductService接口的实现类,要作为组件注入测试feign雪崩时候,productService的服务停了就能测试雪崩了package com.qiangqiang.fallback;import

2021-01-10 22:02:37 2076

原创 Hystrix服务容错之服务熔断

我们可以配置熔断策略,当请求出错比例在10s内大于50%时,该服务将进入熔断状态,后续请求都会进入fallbackMethod然后会有一个重试策略,每隔一段时间会去看服务有没有恢复正常,如果服务恢复,则熔断状态关闭,否则继续进入fallbackMethod实现方式:增加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId&

2021-01-10 21:04:01 1950

原创 Hystrix服务容错之线程池隔离

如果没有线程池隔离,所有的接口都运行在一个ThreadPool中,当某一个接口压力过大或者出现故障时,会导致资源耗尽从而影响到其他接口而引发雪崩效应下面直接介绍如何开启线程池隔离需要的依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix<

2021-01-10 18:45:50 2236

原创 Hystrix服务容错之请求合并

当多个请求同时去请求一个方法时,可以等待一定数量的请求都过来以后,一并处理,这样相当于只调用了一次接口,比较节省服务器资源增加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </de

2021-01-10 16:42:27 2246

原创 Hystrix的服务容错之请求缓存

这个没什么好详细讲的,就是使用redis来做缓存注意重写一下redis的序列化方式就行,不要用他自带的JDK的Serializer方式,用通用的jackson,为啥,因为自带的序列化存储空间太大增加依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --> <dependency> <gro

2021-01-10 16:29:38 1652

原创 RedisTemplate重写序列化和Cache重写序列化

Redis默认的是JDK的Serializer序列化方式,这种序列化后的数据是JSON的5倍大小,不利于存储,太消耗redis的内存所以我们要重写redisTemplate的序列化方式和cache的序列化方式将redisTemplate的KeySerializer设置为new StringRedisSerializer()方式而redisTemplate的ValueSerializer要设置为通用Jackson,通用Jackson反序列化的时候不用指定class类型,比Jackson好使一点,设置为n

2021-01-10 12:51:36 1875

原创 Eureka注册中心的security安全认证

引入依赖<!--安全认证--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>配置文件,其中集群中互相注册的url要加上用户名和密码,htt

2021-01-09 21:19:07 2135

原创 Error creating bean with name ‘configurationPropertiesBeans’ defined in class path resource

Error creating bean with name ‘configurationPropertiesBeans’ defined in class path resource [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is

2021-01-09 00:52:12 2798

原创 Eureka注册中心集群的构建

eureka1和eureka2pom文件相同<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.ap

2021-01-09 00:17:50 2277

原创 Spring Boot Actuator监控检查

在application.properties中添加#暴露所有端点management.endpoints.web.exposure.include=*#关闭服务management.endpoint.shutdown.enabled=true然后访问http://127.0.0.1:8080/actuator/healthhttp://127.0.0.1:8080/actuator/shutdownpost请求HTTP 方法路径描述GET/autoconfig提供了一份自动配置报告

2021-01-08 16:56:39 2836

原创 create config service error!properties=NacosConfigProperties{serverAddr=‘null‘, encode=‘null‘

create config service error!properties=NacosConfigProperties{serverAddr=‘null’, encode=‘null’, group=‘DEFAULT_GROUP’, prefix=‘null’, fileExtension=‘properties’, timeout=3000, endpoint=‘null’, namespace=‘null’, accessKey=‘null’, secretKey=‘null’, contextPat

2021-01-08 16:31:31 2970

原创 linux下安装nacos

准备搞springcloudalibaba全套先从安装nacos开始正常流程解压后nacos需要依赖数据库去conf下修改application.properties#*************** Config Module Related Configurations ***************#### If use MySQL as datasource:spring.datasource.platform=mysql### Count of DB:db.num=1###

2021-01-08 15:30:39 2925

原创 spring-security-oauth2-autoconfigure引入不生效报红的问题

我的父pml文件中单独引入了springcloud的格林尼治版本<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.RELEASE<

2021-01-08 14:18:01 2457

原创 Gateway和spring-boot-starter-web冲突问题

Gateway和spring-boot-starter-web冲突问题SpringCloud 版本 ---- Finchley.SR2SpringBoot 版本 ---- 2.0.6.RELEASE引入gateway 依赖启动网关子项目报错<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway&l

2021-01-08 11:37:19 2542

原创 log4j.properties配置内容模板

直接复制拿来用### 设置###log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.l

2021-01-06 16:53:35 3134

原创 @RunWith(SpringRunner.class)的作用

Springboot的@RunWith(SpringRunner.class)注解的意义在于Test测试类要使用注入的类,比如@Autowired注入的类,有了@RunWith(SpringRunner.class)这些类才能实例化到spring容器中,自动注入才能生效,不然直接一个NullPointerExecption...

2021-01-06 16:41:20 3173

原创 activiti7的TaskRuntime用法

参考activiti7的TaskService的用法就行import org.activiti.api.runtime.shared.query.Page;import org.activiti.api.runtime.shared.query.Pageable;import org.activiti.api.task.model.Task;import org.activiti.api.task.model.builders.TaskPayloadBuilder;import org.activ

2021-01-06 16:30:10 3014

原创 activiti7的ProcessRuntime用法

参考activiti7的repositoryService的用法就行,ProcessRuntime用起来更加方便import org.activiti.api.model.shared.model.VariableInstance;import org.activiti.api.process.model.ProcessInstance;import org.activiti.api.process.model.builders.ProcessPayloadBuilder;import org.ac

2021-01-06 16:29:10 3194

原创 activiti7与Springboot整合

pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org

2021-01-06 16:26:30 2911

原创 activiti7与spring整合

resources下创建activiti-spring.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/s

2021-01-06 15:48:39 2997

原创 idea删除代码的空行

ctrl + r选择正则模式勾选住 Regex输入 ^\s*\n替换全部 Replace allOJBK

2021-01-06 15:24:43 3467

原创 activiti中报错An Authentication object was not found in the SecurityContext

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext这是因为activiti7与springboot整合中集成了springsecurity虽然你的用户赋予了权限但是你执行方法的时候没有定义是哪个用户在执行方法要不就整完全点写登录页面要不就自定义用户去执行

2021-01-06 15:21:43 3133

原创 设置mysql默认创建数据库编码格式为utf8

设置mysql的配置文件my.ini最下面加一行character-set-server = utf8

2021-01-06 10:09:44 3108

原创 linux必会的指令

作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。结束执行命令ctrl+c删除目录rmdir 删除的目录为空,不能有文件或文件夹rm-rftest 删除文件夹及子文件(删除的目标包含文件)-r 递归-f force强制-v 详细过程1.查找文件find / -name filename.txt 根

2021-01-05 23:40:43 3118

Encoding.zip

用于判定文件的编码,支持在上传文件需求中判定

2020-08-14

空空如也

空空如也

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

TA关注的人 TA的粉丝

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