自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 JAVA代码优化策略

Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积、提高代码运行效率是有巨大帮助的,还能在一定程度上避免未知错误,常用的Java代码优化细节如下:1. 为类、方法指定final修饰符为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写,如果指定了一个类为final,则该类所有的方法都是final的,Java编译器会寻找机会内联所有的final方法,

2020-08-18 15:08:45 197

原创 RabbitMQ消息模式一

本章内容:1、消息如何保证100%的投递?消息如何保障100%的投递成功?什么是生产端的可靠性投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制BAT/TMD互联网大厂的解决方案:消息落库,对消息状态进行打标消息的延迟投递,做二次确认,回调检查2、幂等性概念幂等性是什么?我们可以借鉴数据库的乐观锁机...

2019-12-27 10:56:46 215

原创 RabbitMQ消息模式二

本章内容:1、消费端限流什么是消费端的限流?假设一个场景,首先,我们RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据!消费端限流RabbitMQ提供的解决方案RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于Consu...

2019-12-26 15:44:16 145

原创 RabbitMQ交换机及SpringCloud整合RabbitMQ

本章内容:1、交换机交换机属性:Name:交换机名称Type:交换机类型 direct、topic、fanout、headersDurability:是否需要持久化,true为持久化Auto Delete:当最后一个绑定到Exchange上的队列删除后,自动删除该ExchangeInternal:当前Exchange是否用于RabbitMQ内部使用,默认为FalseArgume...

2019-12-24 16:34:52 252

原创 RabbitMQ入门

本章内容:1、RabbitMQ简介各大主流中间件对比ActiveMQ是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一个完全支持 J M S 规范的消息中间件。其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中小型企业中应用广泛!MQ 衡量指标:服务性能、数据存储、集群架构KafkaRocketMQ是阿里开源的消息中间件,目前也已经孵化为A...

2019-12-20 20:59:29 165

原创 Docker部署Springcloud项目

本章内容:Docker部署Springcloud项目1、Idea导包准备演示两个eureka和两个生产者,外加一个消费者导包pom.xml工具 <build> <plugins> <!--添加maven插件--> <plugin> &lt...

2019-12-20 18:39:03 315

原创 Docker网络配置

本章内容:1、Docker网络配置Docker网络模式介绍Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用–net去指定,其他三种模式需要在创建容器时使用–net去指定1.bridge模式(默认模式)docker run时使用–net=bridge,这种模式会为每个容器分配一个独立的Network Namespace...

2019-12-20 02:56:34 157

原创 自定义镜像上传阿里云

本章内容:1、alpine制作jdk镜像alpine Linux简介1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和BusyBox以减少系统的体积和运行时的资源消耗。2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alp...

2019-12-19 01:39:04 414

原创 Dockerfile制作JDK镜像

本章内容:1、Dockerfile简介dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使用Dockerfile去构建镜像好比使用pom去构建maven项目一样,有异曲同工之妙dockerfile基本结构Dockerfile 由一行行命令语句组成, 并且支持以#开头的注释行,一般而言, Dockerfile 主体内容分为四...

2019-12-16 10:36:19 176

原创 Docker数据卷和数据卷容器

1、Docker宿主机和容器之间文件拷贝Docker宿主机和容器之间文件拷贝docker copy前言:Docker 数据管理在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作容器中的管理数据主要有两种方式:数据卷 Data Volumes 容器内数据直接映射到本地主机环境;数据卷容器(Data Volume...

2019-12-15 20:09:36 97

原创 Docker入门和常用命令

本章内容:1、Docker门人1、Docker简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低...

2019-12-14 23:09:28 88

原创 SpringCloud服务配置中心

本章内容:1、SpringCloud Config简介Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密 / 解密信息等访问接口;而客户端则是微服务架...

2019-12-13 23:51:01 135

原创 Zuul路由网关简介及基本使用

本章节内容:在学习Zuul路由网关之前,我们先转换一下思路,1、Zuul路由网关简介及基本使用关于为什么要使用Zuul路由网关就两个字: 安全Zuul API路由网关服务简介请看上图,这里的API 路由网关服务 由Zuul实现,主要就是对外提供服务接口的时候,起到了请求的路由和过滤作用,也因此能够隐藏内部服务的接口细节,从来有利于保护系统的安全性; 路由配置我们新建一个module...

2019-12-11 21:32:20 296

原创 Hystrix集群及集群监控turbine

1、Hystrix集群及监控turbine前面Dashboard演示的仅仅是单机服务监控,实际项目基本都是集群,所以这里集群监控用的是turbine。turbine是基于Dashboard的。先搞个集群;再microservice-student-provider-hystrix-1004项目的基础上再搞一个microservice-student-provider-hystrix-10...

2019-12-10 20:18:18 97

原创 熔断器Hystrix及服务监控Dashboard

1、服务雪崩效应当一个请求依赖多个服务的时候:正常情况下的访问但是,当请求的服务中出现无法访问、异常、超时等问题时(图中的I),那么用户的请求将会被阻塞。如果多个用户的请求中,都存在无法访问的服务,那么他们都将陷入阻塞的状态中。Hystrix的引入,可以通过服务熔断和服务降级来解决这个问题。2、服务熔断服务降级Hystrix断路器简介hystrix对应的中文名字是“豪猪”,豪...

2019-12-08 21:51:37 69

原创 Ribbon负载均衡及Feign消费者调用服务

1、微服务调用Ribbon简介前面讲了eureka服务注册与发现,但是结合eureka集群的服务调用没讲。这里的话 就要用到Ribbon,结合eureka,来实现服务的调用;Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon默认为我们提供...

2019-12-07 17:50:07 69

原创 Springcloud之Eureka集群搭建

当注册中心发生宕机在只有一个节点的情况下消费者就不能访问服务者了,为了避免这种情况出现,就将注册中心搭建成多个,形成集群。1、Eureka集群搭建高可用集群配置当注册中心扛不住高并发的时候,这时候 要用集群来扛;普通操作我们再新建两个module microservice-eureka-server-2002 microservice-eureka-server-20031、pom...

2019-12-05 16:56:54 169

原创 springcloud入门

1、springcloud简介简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起...

2019-12-04 21:15:53 128

原创 SpringBoot+Quartz+数据库存储

1、Spring整合Quartz1、quartz调度框架是有内置表的进入quartz的官网http://www.quartz-scheduler.org/,点击Downloads,下载后在目录\docs\dbTables下有常用数据库创建quartz表的脚本,例如:“tables_mysql.sql”2、导入pom依赖<?xml version="1.0" encoding="...

2019-12-03 16:47:09 138

原创 Quartz入门

1、Quartz简介及应用场景1.Quartz介绍任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分...

2019-12-01 12:08:25 129

原创 springboot对JPA的支持

1、springboot之jpa支持导入相关pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId></dependency>app...

2019-11-30 20:27:16 131

原创 SpringBoot整合Redis

1、SpringBoot配置类注解标签@Configuration @Configuration底层是含有@Component ,所以@Configuration 具有和 @Component 的作用。 @Configuration可理解为用spring的时候xml里面的<beans>标签。 注: 1) 配置类必须以类的形式提供(不能是工厂方法返回的实例),允许通...

2019-11-29 17:33:18 100

原创 springboot整合

1、springboot配置数据库连接池druid有兴趣学习的可以访问下列地址:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter相关pom依赖druid所需pom依赖<dependency> <groupId>com.alibaba</groupId>...

2019-11-26 17:22:08 153

原创 springboot thymeleaf模板and Freemarker模板

1、thymeleaf模板关于Thymeleaf的优点,我只说一条:它就是html页面。相关pom依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf...

2019-11-26 03:15:51 214

原创 Springboot入门

1、Springboot入门SpringBoot是什么?Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo,...

2019-11-24 19:44:54 88

原创 Java自定义注解

1、Java注解简介1.Java注解(Annotation)Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解相关类都包含在java.lang.annotation包中。2.Java注解分类2.1 JDK基本注解2.2 JDK元注解2.3 自定义注解3.JDK基本注解3.1 @Override重写3.2 @Depre...

2019-11-23 19:53:32 99

原创 shiro授权、注解式开发

1、shiro授权角色、权限权限表设计ShiroUserMapper 添加新方法/** * 查询角色id * @param userid * @return */ Set<String> getRolesByUserId(@Param("userid") Integer userid); /** * 查询权限i...

2019-11-05 11:58:27 86

原创 Shiro认证

前言:结合上次所讲的shiro入门里面的知识我们知道了shiro进行身份验证的基本原理,现在就让我们来结合之前所讲的SSM来进行shiro的身份验证登录以及注册。Shiro认证+盐加密(盐加密是在MD5加密的基础上进行的升级,更加安全)首先导入Pom依赖<dependency> <groupId>org.apache.shiro</groupId&gt...

2019-11-05 09:05:28 123

原创 shiro入门

1、shiro简介1.什么是shiroshiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证、用户授权。spring中有spring security (原名Acegi),是一个权限框架,它和spring依赖过于紧密,没有shiro使用简单。shiro不依赖于spring,shiro不仅可以实现 web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shi...

2019-11-03 16:34:18 106

原创 Springmvc之文件上传

首先添加相关pom依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version></de...

2019-10-30 19:00:40 74

原创 springmvc入门

1、Springmvc简介及配置1.什么是springMVC?Spring Web MVC是一种基于Java的实现了MVC设计模式的、请求驱动类型的、轻量级Web框架。2.SpringMVC处理请求的流程首先用户发送请求–>DispatherServletDispatcherServlet–>HandlerMappingDispatcherServlet–>Handl...

2019-10-25 18:14:32 110

原创 mybatis关联关系映射

1、一对多关联关系首先先用逆向生成工具生成t_hibernate_order、t_hibernate_order_item这两张表对应的model与mappergeneratorConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfiguration PUBLIC "-//myba...

2019-10-23 22:02:24 171

原创 spa项目开发之tab页实现

实现思路及细节1、利用前面博客所讲的Vuex的知识;定义几个变量Options:存放tab页对象的容器(主要是路由路径以及tab页的名字)activeIndex:被激活的tab页路由路径showName:tab页的标题Role:用来区分是否是因为左侧菜单被点击造成的路由路径发生改变;是:pass;不是:nopass2、左侧导航菜单绑定点击事件将被点击的菜单名称存放到Vuex中,供路...

2019-10-21 11:00:20 367

原创 mybatis整合Redis实现二级缓存

对于访问多的查询请求且用户对查询结果实时性要求不高,此时可采用mybatis二级缓存技术降低数据库访问量,提高访问速度,实现方法如下:通过设置刷新间隔时间,由mybatis每隔一段时间自动清空缓存,根据数据变化频率设置缓存刷新间隔flushInterval,比如设置为30分钟、60分钟、24小时等,根据需求而定。

2019-10-21 02:26:44 113

原创 mybatis与spring集成

mybatis与spring集成1、添加相关依赖hibernate与spring整合pom依赖配置文件spring-hibernate.xml注册数据库连接信息文件配置数据库连接池配置sessionfactory工厂信息-》hibernate.cfg.xml配置hibernatetemplete配置声明式事务注:spring 5.0.1.RELEASE有冲突添加spring...

2019-10-18 20:17:50 69

原创 Mybatis动态sql和分页

1、mybatis动态sqlIf、trim、foreach定义查询方法 List<Book> selectBooksIn(@Param("bookIds") List bookIds);注意:@Param当你形参要在mapper.xml中使用就需要加上注解 <!--foreache标签的使用--> <select id="selectBooks...

2019-10-17 16:45:32 90

原创 Mybatis入门

Mybatis介绍MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录MyBatis ...

2019-10-14 20:25:18 103

原创 java操作Redis

1. Java访问redis1 添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> ...

2019-10-14 01:04:17 163

原创 Redis安装即命令操作

1. Redis简介简介介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL属于非关系型数据库;Redis就属于非关系型数据库传统的Mysql ,oracle ,sql server 等 都是关系型数据库为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心High performance -高并发读写Huge Storage-海量数据的高效率...

2019-10-12 18:00:04 124

原创 IDEA安装

MNQ043JMTU-eyJsaWNlbnNlSWQiOiJNTlEwNDNKTVRVIiwibGljZW5zZWVOYW1lIjoiR1VPIEJJTiIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwiZmFsbGJhY2tEYXRlIjoiMjAxO

2019-10-12 00:19:15 302

WxPayOrderServiceImpl.java

WxPayOrderServiceImpl.java

2023-04-14

空空如也

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

TA关注的人

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