- 博客(358)
- 资源 (3)
- 论坛 (1)
- 收藏
- 关注

原创 致每一位Java初学者
致Java初学者前言 能看到这篇文章的朋友,应该都或多或少的了解Java,也许你现在是个菜鸟还在成长的路上。再此期间你一定遇到了很多困惑疑虑,对未来的学习方向感到很迷惑。作为过来人我非常了解你们现在的处境。我是从2014开始接触Java这门编程语言的,从2017年从事Java相关开发工作,也是一个奋力奔跑的菜鸟,直到今天我还在不断的学习,提升自己的技能,学无止境,学习永远在路上。回...
2020-01-08 20:36:17
8400
13

原创 我的GitHub
地址:https://gitee.com/niugangxy主要包括:springboot,springcloud,kafka,dubbo 微信公众号: ...
2018-10-31 09:00:57
332
1

原创 个人公众号
JAVA程序猿成长之路 分享资源,记录程序猿成长点滴。专注于Java,Spring,SpringBoot,SpringCloud,分布式,微服务。 ...
2018-04-03 14:36:07
621
原创 Java设计模式-单例设计模式
单例设计模式所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。 SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到单例模式。单例设计模式八种方式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线
2021-01-27 15:43:02
18
原创 加密算法和公钥基础设施
加密算法国密算法国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。SM3 消息摘要。可以用MD5作为对比理解。该算法已公开
2020-12-04 13:54:02
141
原创 Java反射替换属性字段上注解属性对应的值
/** * 设置ExcelProperty注解对应的value * * @param properties 属性字段和注解属性字段值 键值对 * @tClass 泛型 那个类 */ public static <T> void setHeaderValue(Properties properties,Class<?> tClass) { Assert.notNull(properties, "propert.
2020-12-03 14:36:55
139
原创 Spring @Async/@Transactional 失效的原因及解决方案
原文:https://www.cnblogs.com/steve-jiang/p/12692299.html
2020-11-18 08:37:54
109
原创 SQLyog docker之mysql连接plugin ‘caching_sha2_password‘ cannot be loaded
MySQL8.0之后的加密规则为caching_sha2_password1.进入mysql命令行docker exec -it some-mysql(镜像别名) bash2.登录myql mysql -uroot -p 密码 3.修改加密规则 设置新密码 ALTER USER '账号'@'用户域' IDENTIFIED WITH mysql_native_password BY '新密码'; 如 root用户允许所有连接:ALTER USER 'root'@'%' IDE
2020-11-11 09:04:24
87
原创 windows下docker安装rabbitmq
https://help.aliyun.com/document_detail/60750.html 阿里云镜像加速配置下载镜像启动容器下载镜像(选择的是可以访问web管理界面的tag)docker pull rabbitmq:management创建容器并运行(15672是管理界面的端口,5672是服务的端口。管理系统的用户名和密码设置为admin admin)docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admi.
2020-11-04 19:09:30
152
原创 InputStream转MultipartFile
//调用放 MultipartFile multipartFile = getMultipartFile(inputStream, originalFilename); /** * 获取封装得MultipartFile * * @param inputStream inputStream * @param fileName fileName * @return MultipartFile */ public Mu...
2020-10-28 17:07:22
948
原创 文件流复制
@PostMapping("/upload")public void uploadFile(MultipartFile file){ InputStream streamOne; InputStream streamTwo; InputStream inputStream; try { inputStream = file.getInputStream(); } catch (IOExcep.
2020-10-28 14:11:36
120
原创 mybatis-plus多表关联查询
https://blog.csdn.net/weixin_43740223/article/details/86178269
2020-10-26 17:09:51
379
原创 异步调用Feign上下文丢失问题
由于一些业务处理,在远程调用Feign时,需要异步调用,但是当前请求上下文是保存在ThreadLocal中,这样会导致上下文丢失。公司业务需要在批量导入数据,文件上传成功,异步解析数据入库。feign 拦截器配置如下在远程调用中header进行向下传递@Component@Slf4jpublic class FeignConfiguration implements RequestInterceptor { @Override public void apply(RequestTemplat
2020-10-24 09:55:02
250
原创 mybatis-plus 复杂and or查询
在查询过程中 经常会有类似如下查询A='123' and (B='456' or C='789' or D='110')lambdaWrapper.eq("A","123");lambdaWrapper.and(wrapper->{ wrapper.or().eq("B","456"); wrapper.or().eq("C","789"); wrapper.or().eq("D","110");})项目中应用,根据集合拼接查询条件 lambdaWrapper.and(
2020-10-16 08:59:44
458
原创 hibernate validator 复杂数据接口校验
前段传递参数结构Controller@RestController@Api(tags = "数据权限")@Slf4j@RequestMapping(value = "data-authority")@Validatedpublic class DataAuthorityController{ @PostMapping("") @ApiOperation(value = "模拟设置用户部门管辖权限", notes = "模拟设置用户部门管辖权限", httpMethod =
2020-10-14 17:51:22
142
原创 Spring Cloud Gateway新一代网关(下篇)
1.Predicate的使用1.1是什么启动网关服务,查看控制台1.2Route Predicate Factories这个是什么1.3常用的Route Predicate1.3.1After Route Predicate根据配置时间来匹配路由以下配置为,请求时间在指定时间点之后可以用上面yaml中配置的时间戳,是默认时区时间戳。 public static void main(String[] args) { ZonedDateTime now = Zone
2020-09-04 11:34:02
126
原创 Spring Cloud Gateway新一代网关(上篇)
1.概念简介1.1官网上一代zuul 1.X https://github.com/Netflix/zuul/wiki当前gateway https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/1.2是什么1.2.1概述该项目提供了一个在Spring生态系统之上构建的API网关,包括:Spring 5,Spring Boot 2和Project Reactor。 S
2020-09-02 13:31:15
144
原创 第四篇 SpringCloud Alibaba Sentinel实现熔断与限流(下篇)
官网地址:https://github.com/alibaba/Sentinel/wiki/%E6%B3%A8%E8%A7%A3%E6%94%AF%E6%8C%811.1按资源名称限流+后续处理1.1.1业务代码准备import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic cl
2020-09-01 14:55:46
114
原创 第三篇 SpringCloud Alibaba Sentinel实现熔断与限流(上篇)
1.Sentinel介绍分布式系统的流量防卫兵1.1官网地址https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D1.2是什么和Hystrix类似轻量级的流量控制、熔断降级Java库。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。1.3去哪下https://github.com/alibaba/Sentinel/releases1.4能干什么#### 1.5怎么用服务使用
2020-09-01 09:15:39
100
转载 分布式任务调度平台XXL-JOB
相关介绍及相关下载地址:https://www.cnblogs.com/xuxueli/p/5021979.htmlXXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。1.快速入门1.1数据库脚本初始化请下载项目源码并解压,获取 “调度数据库初始化SQL脚本” 并执行即可。“调度数据库初始化SQL脚本” 位置为:/xxl-job/doc/db/tables_xxl_job.sql调度中心支持集群部署,集
2020-08-28 14:48:15
403
原创 第二篇 Spring Cloud Alibaba Nacos服务注册和配置中心
1.Nacos简介1.1为什么叫Nacos前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service1.2是什么一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心Nacos:Dynamic Naming and Configuration ServiceNacos就是注册中心+配置中心的组合等价于 Nacos = Eureka+Config+Bus1.3能干什么替代Eureka做服务注册中心替代Config做服务配置中心1.4去哪下ht
2020-08-27 13:18:35
608
1
原创 第一篇 Spring Cloud Alibaba入门
1.为什么会出现Spring Cloud Alibaba1.1Spring Cloud Netflix项目进入维护模式官网说明地址:https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now1.2进入维护模式意味着什么呢2.Spring Cloud Alibaba带来了什么2.1是什么官网地址简介:https://github.com/alibaba/spring-cloud-alibaba/bl
2020-08-25 13:28:45
138
原创 Java面试知识点梳理-第二篇
梳理一1.项目中使用了那些技术2.java7特性3.项目技术选型和设计过程有啥心得4.缓存穿透、缓存雪崩梳理二1.springcloud常用组件2.项目中认证是怎么做的3.spring ...
2020-08-13 18:02:25
47
原创 Java面试知识点梳理第一篇
梳理一1.spring循环依赖2.mysql从查询到结果返回执行流程3.redis如何区分冷热数据、aof、rdb持久化4.缓存穿透(布隆过滤器的升级版有了解过么)、崩塌、缓存和数据库的...
2020-08-12 17:44:56
79
原创 kubernetes-第六篇存储
configMapconfigMap 描述信息ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配 置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也 可以用来保存整个配置文件或者 JSON 二进制大对象ConfigMap 的创建Ⅰ、使用目录创建$ ls docs/user-guide/configmap/kubectl/game.propertiesu
2020-08-11 07:39:50
65
原创 kubernetes-第五篇service
Service 的概念Kubernetes Service 定义了这样一种抽象:一个 Pod 的逻辑分组,一种可以访问它们的策略 —— 通常称为微 服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label SelectorService能够提供负载均衡的能力,但是在使用上有以下限制:只提供 4 层负载均衡能力,而没有 7 层功能,但有时我们可能需要更多的匹配规则来转发请求,这点上 4 层 负载均衡是不支持的Service 的类型Service 在 K8s 中有以下四种类
2020-07-10 17:42:27
87
原创 kubernetes-第四篇资源控制器
什么是控制器Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为控制器类型ReplicationController 和 ReplicaSetDeploymentDaemonSetStateFulSet Job/CronJobHorizontal Pod AutoscalingReplicationController 和 ReplicaSetReplicationController(RC)用来确保容器应用的副本
2020-07-10 17:32:22
117
原创 kubernetes-第三篇资源清单
k8s中的资源什么是资源K8s 中所有的内容都抽象为资源, 资源实例化之后,叫做对象K8S 中存在哪些资源名称空间级别工作负载型资源( workload ): Pod、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、 CronJob ( ReplicationController 在 v1.11 版本被废弃 )服务发现及负载均衡型资源( ServiceDiscovery LoadBalance ): Service、Ingress、…配置与存储型
2020-07-10 17:26:06
86
原创 kubernetes-第二篇基础概念
Pod的概念Pod类型自主式 Pod控制器管理的 PodPod 控制器类型ReplicationController & ReplicaSet & Deployment >HPA(HorizontalPodAutoScale)StatefullSetDaemonSetJob,CronjobReplicationController & ReplicaSet & DeploymentReplicationControll
2020-07-01 20:05:47
109
原创 kubernetes-第一篇相关介绍
发展经历https://www.sohu.com/a/108369576_465914知识图谱介绍说明发展历史为什么需要 K8S 的诞生公有云类型说明资源管理器对比K8S 其优势K8S 组件说明Borg 组件说明K8S 结构说明网络结构组件结构K8S 中的一些关键字解释基础概念Pod 概念自主式 Pod管理器管理的 PodRS、RCdeploymentHPAStatefullSetDaemonSetJob,Cronjob
2020-06-29 11:01:36
106
原创 Review-JVM
总体介绍JVM内存结构JVM体系概述Java8以后的JVMGC作用域常见的垃圾回收算法引用计数复制算法标记清除标记整理JM垃圾回收的时候如何确定垃圾?什么是 GC Roots什么是垃圾简单的说就是内存中已经不再被使用到的空间就是垃圾要进行垃圾回收,如何判断一个对象是否可以被回收引用计数法Java中,引用和对象是有关联的。如果要操作对象则必须用引用进行因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,给对象中添加一个引用计数器,每当
2020-06-13 17:11:36
131
原创 Review-Java多线程
对volatile的理解volatile是Java虚拟机提供的轻量级的同步机制JMM你谈谈JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念 并不真实存在,它描述的是一组规则或规范通过规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.JMM关于同步规定:1.线程解锁前,必须把共享变量的值刷新回主内存2.线程加锁前,必须读取主内存的最新值到自己的工作内存3.加锁解锁是同一把锁由于JVM运行程序的实体是线程,而每个线程创建
2020-06-13 16:14:19
181
原创 Kubernetes-开篇使用Minikube安装kubernetes
安装Kubernetes到CentOS(Minikube)minibube 官方安装地址https://kubernetes.io/docs/tasks/tools/install-minikube/安装kubernetes客户端(kebectl)https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-linux运行环境系统版本:CentOS Linux release 7.6.1810 (Core)
2020-06-08 10:14:55
365
原创 Kubernetes-javaWeb应用编排
mysql服务配置apiVersion: apps/v1kind: Deploymentmetadata: name: my-mysqlspec: replicas: 1 template: metadata: name: my-mysql labels: app: my-mysql spec: containers: - image: mysql:5.6 name: custommysql
2020-06-08 10:05:23
112
原创 RabbitMQ(三) RabbitMQ高级整合应用
RabbitMQ整合Spring AMQP实战常用组件介绍RabbitAdminSpring AMQP声明 通过@Bean注解进行声明RabbitTemplateSimpleMessageListenerContainer 对消息消费进行详细配置和优化MessageListenerAdapter 消息监听适配器,建立在监听器基础之上MessageConverterRabbitAdminRabbitAdmin类可以很好的操作RabbitMQ,在Sprin
2020-06-04 14:51:44
765
原创 RabbitMQ(二) RabbitMQ高级特性
消息如何保障100%的投递成功什么是生产端的可靠性投递保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Borker)确认应答完善的消息进行补偿机制生产端-可靠性投递(一)消息落库,对消息状态进行打标消息的延迟投递,做二次确认,回调检查生产端-可靠性投递(二)消息落库,对消息状态进行打标消息落库,对消息进行打标(对消息设置状态,发送中,broker收到,)定时器轮训,检测未发送的消息,进行二次投递,最大努力尝试(设置最大次数)step1 消息落库(唯一的消
2020-06-04 14:40:30
403
原创 RabbitMQ(一) 初识RabbitMQ
RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。哪些大厂在用RabbitMQ,为什么滴滴、美团、头条开源、性能优秀、稳定性保障提供可靠性消息投递模式(confim)、返回模式(return)与SpringAMQP完美结合、API丰富集群模式丰富,表达式配置,HA模式,镜像队列模型保证数据不丢失的前提做到高可靠性、可用性什么是AMQP高级消息队列协议A
2020-06-04 14:30:07
130
httpclient-tutorial开发指导文档.pdf
2020-03-24
hibernate_validator_reference_5.1.3.pdf
2020-04-15
盲目的拾荒者的留言板
发表于 2020-01-02 最后回复 2020-01-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝