- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 SpringCloud - Ribbon - Ribbon原理分析
一、Ribbon的负载均衡实现在Riibon中一个非常重要的组件为LoadBalancerClient,它作为负载均衡的一个客户端。它在spring-cloud-commons包下:的LoadBalancerClient是一个接口,它继承ServiceInstanceChooser,它的实现类是RibbonLoadBalancerClient其中LoadBalancerClient接口,有...
2020-01-14 15:45:02 450
原创 Last-Modified的缓存机制在spring中的应用
1. 在客户端第一次输入URL时,服务器端会返回内容和状态码200 ,表示请求成功,同时会添加 个“Last-Modified ”的响应头,表示此文件在服务器上的最后更新时间。例如, Last-Modified:Wed ,4Mar2012 10:22:42 GMT”表示最后更新时间为( 2012-03-14 10:22 )2. 客户端第二次请求此URL时,客户端向服务器发送请求头”IιMo...
2019-07-16 17:13:14 1058
原创 Spring源码分析-启动(二)
一、web项目的启动顺序1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<context-param>和<listener>两个结点。2、紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。3、容器将<context-param>转换为键值对,并交给ser...
2019-07-16 14:50:00 4181
原创 Spring源码分析-入手(一)
一、各个版本源码下载https://github.com/spring-projects/spring-framework/tags二、Spring整体架构图功能模块简介1.核心模块核心容器由以下部分组成:spring-core, spring-beans, spring-context spring-context-support spring-expr...
2019-07-16 14:46:48 403
原创 TX-LCN分布式事务
一、介绍LCN分布式事务框架的核心功能是对本地事务的协调控制,框架本身并不创建事务,只是对本地事务做协调控制 因此该框架与其他第三方的框架兼容性强,支持所有的关系型数据库事务,支持多数据源,支持与第三方数据库框架一块使用 在使用框架的时候只需要添加分布式事务的注解即可,对业务的侵入性低二、实现原理创建事务组,是指在事务发起方开始执行业务代码之前先调用TxManager创建事务组对象,...
2019-07-05 15:34:30 877
原创 Flowable异步历史消息处理-----RabbitMQ
一.介绍flowable相比activity,增加了一个新的特性,即异步处理历史数据。我们在操作流程的过程中都会保存历史数据到不同的历史表中,如果流程数量很多的情况下,同步保存历史数据便会带来一定的性能压力。flowable给我们提供了一种异步处理的方法,其中这种方式的原理其实就是开启历史定时器,然后定期轮训历史作业,然后解析并将其插入到不同的历史表。这种方式本质还是使用的线程池以...
2019-07-03 13:35:31 3860
原创 SQL中遇到的一些深坑
1.在jion连接查询的时候,查询条件不走索引,如果sql语句没问题,索引设置也没问题,可以检查一下条件字段的字符集编码。自己开发中遇到的,不走索引,查询时间需要120多秒,通过执行计划发现没有走Sql语句没有走索引,其他sql语句,索引设置都没有问题,然后检查字符集编码发现不一致,修改一致后,再次查询,查看执行计划,便看到sql语句走了索引。2.group_concat函数最大长度...
2019-06-04 14:04:21 253
原创 SpringCloud之Zuul路由配置
默认情况下,Zuul会代理所有注册到Eureka Server上的微服务Zuul的路由规则如下:http://ZUUL_HOST:ZUUL_PORT/serviceId/**注:即微服务在Eureka Server上的serviceId/**会被转发达到serviceId对应的微服务一、自定义指定微服务的访问路径zuul: routes: #配置路由映射 service...
2019-05-16 11:23:47 289
原创 shiro与ssm的整合
1、首先在WEB-INF/web,xml中配置过滤器DelegatingFilterProxy 作用是自动到 Spring 容器查找名字为 shiroFilter(filter-name) 的 bean 并把所有 Filter 的操作委托给它。targetFilterLifecycle:指明作用于filter的所有生命周期。如果设置"targetFilterLifecycle"为Tru...
2018-10-23 10:15:22 211
原创 利用反射重写toString方法
在我们开发中有时需要修改pojo,每次修改添加一个属性,就需要修改对应的toString方法,十分麻烦,可以通过反射机制对其重写,这样就不需要我们没修改一次属性便修改一次toString方法。这样有没有方便很多我个人博客地址:https://blog.thornandpoppy.cn/public String toString(){ StringBuilder sb = ne...
2018-10-10 08:48:28 526
原创 mybatis配置文件模板及常用标签总结介绍
对Mybatis配置文件中常用的标签进行总结介绍mybatis.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-conf...
2018-10-09 21:42:05 1168
原创 二十三种设计模式(一)单例模式总结
单例模式可以说是23中设计模式中最容易的实现和理解的设计模式了,不过单例模式写很容易,但是写好就不容易了,因为单例模式中也隐藏了很多的问题,趁着这次机会,结合网上的一些博客,对单例模式做了一个总结。这篇文章对单例模式的大部分问题,都进行了总结描述,并提供了解决方法。接下来还会对其他设计模式进行总结,不过我对一些问题,总喜欢尽可能的全面了解,所以每一种设计模式,我都会参考阅读很多文献,尽可能...
2018-09-03 17:36:21 198
原创 mysql操作命令总结大全
在我个人博客上可以查看链接如下:https://blog.thornandpoppy.cn/2018/09/01/mysql%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4%E6%80%BB%E7%BB%93/#more
2018-09-01 18:10:54 479
原创 Hexo s 提示 Local hexo not found in XXX 解决方案
昨天安装hexo,因为出现这个错误解决了一下午,到网上各大社区,平台查看帖子解决方法,一一尝试结果都没有解决,知道晚上才找到问题所在,所在在这里记录给大家分享一下。我的错误其实很无语,是由于Nodejs版本过低的原因,我之前下载的Nodejs是node-v4.4.3-x64版本,在这个基础上尝试了各种解决方案都无效,晚上的时候我到官网上尝试下载了Nodejs最新的版本node-v8.11.4-...
2018-08-30 09:02:00 1341 1
原创 多线程简介
一、进程和线程的概念以及关系区别1、概念进程:进程是程序的一个动态过程,它指的是从代码加载到执行完毕的一个完成过程,操作系统通过进程Id区分不同进程。线程:线程就是进程中一条执行路径。是进程的组成部分,一个进程可以有多个线程,每个线程去处理一个特定的子任务。 2、关系及区别a.一个程序运行后至少有一个进程。b.一个进程可以包含多个线程,但是至少需要有一个线程,否则这个进...
2018-08-25 08:41:21 188
原创 File类常用方法介绍
File类 表示硬盘中一个文件或文件夹(目录)文件://1.1创建对象File file=new File("d:\\123.txt");//1.2判断文件是否存在if(!file.exists()){file.createNewFile();}//1.3删除file.delete();file.deleteOnExit();//退出jvm,删除文件//...
2018-08-23 15:33:50 1414
原创 泛型介绍
一、概念泛型就是可以表示一个广泛数据类型的类型参数(泛型只能表示引用类型),把数据类型作为参数来传递。形式参数:声明方法时,在方法的参数列表中声明,而且在方法体中会使用到,但是是一个未知的数据类型参数:在一个类中声明一个未知的数据类型,在类中可以使用这个类型,但是具体类型取决于实例化时传入的实际类型 二、泛型的声明1)泛型可以声明在方法中:(泛型方法)public st...
2018-08-23 15:32:40 312
原创 XML解析
一、Dom4J(DOM for Java)解析1、概述Dom4j是一个简单、灵活的开放源代码的库。Dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极易使用的特点。现在很多软件采用的Dom4j,例如Hibernate,包括sun公司自己的JAXM也用了Dom4j。使用Dom4j开发,需下载Dom4j相应的jar文件,下载地址:http://dom4j.gith...
2018-08-23 15:31:38 123
原创 String字符串“真正存储位置”
其实如果我们学过C语言的话,可以发现其中并没有String字符串类型,只有字符类型,String类型这是java为了方便我们操作而创建的。我们大家如果对String有一定的了解,就应该了解,String类型创建对象有两种方式第一种String str1 = "abc";这样创建是将其存放在常量池中的。第二种String str2 = new String("abc");...
2018-08-13 21:47:57 4853 3
原创 ArrayList中remove方法的陷阱
由于ArrayList集合底层存储结构是数组,所以ArrayList中的remove删除方法,其实就是数组的删除,大家或许对于数组的删除都不陌生,先遍历比较判断是否存在,存在便删除。源码如下:public boolean remove(Object o) { if (o == null) { for (int index = 0; index &l...
2018-08-11 19:37:34 8787 1
原创 Integer自动装箱“陷阱”
1、基本数据类型所对应的包装类byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 2、数据的装箱与拆箱拆箱:将包装类型数据转换成基本类型数据装箱:将基本...
2018-08-08 17:50:26 639 1
原创 浅谈反射
本文主要介绍1、反射的概念和原理2、反射的源头Class类3、利用反射操作类的属性(以及如何获取私有属性)4、利用反射操作类的构造方法(以及私有构造方法)5、利用反射操作类的方法(以及私有方法)1、反射的概念和原理要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有...
2018-08-02 21:36:59 162
原创 java正则表达式 中 Greedy 、Reluctant 、Possessive数量词的区别
Greedy 数量词 X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超过 m 次 Reluctant 数量词 X?? X,一次或一次也没有 X*? X,零次或多次 X+? X,...
2018-08-02 14:32:09 827 1
原创 JSTL简述及使用(一)
1.JSTL简介及jar包 (1)为了提高Web应用的开发效率,Sun公司制定了一组标准标签库的规范,这组标准标签库简称为JSTL,他是Java Server Pages Standard Tag Library的缩写,是JSP标准的标记库,是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作和数据库访问等。这些标记库实现了大量服务器...
2018-04-29 17:24:56 616
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人