- 博客(28)
- 资源 (2)
- 收藏
- 关注
原创 postMan 使用小技巧
1.导入swagger数据选择导入文件地址2.我们使用postman 会遇到本地环境,测试环境,生产环境来回切换所以我们需要指出多环境切换点击齿轮点击添加定义环境变量和环境地址在地址上使用{{}} 来表示环境变量切换接口分类 发送即可这里可以有2套方案1 在切换分类的地方定义3套分类环境变量 参数名称一样 这样切换不用环境分类即可2 就是定义在一个分类中 3套环境不同变量 使用是指定变量名称...
2021-01-14 18:01:45 243
原创 [疫情期间复习] mybatis源码分析系列(三) SqlSessionFactory之sql执行流程
上节分析我们已经拿到了sqlsessionFactory工厂具体怎么执行sql呢 开始分析通过测试案例 我们看到了 sqlsessionFactory.openSession()private SqlSession openSessionFromDataSource(ExecutorType execType, TransactionIsolationLevel level, boolean...
2020-05-06 14:47:49 381
原创 [疫情期间复习] mybatis源码分析系列(二) SqlSessionFactory创建过程
强调一些分析的mybatis3第一个问题 mybatis是如何加载配置文件的 如果数据源 别名等信息从测试用例我们能看到这一段代码 @BeforeAll static void setUp() throws Exception { // 读取配置文件数据流 try (Reader reader = Resources.getResourceAsReader("org/ap...
2020-04-28 19:15:02 247
原创 [疫情期间复习] mybatis源码分析系列(一) 准备工作
新冠时期互联网公司倒闭,降薪,无薪休假等信息铺天盖地。只会crud的日子让人烦躁与不安疫,随时都将面临失业。大环境再次变好时 注定是大航海时代(海贼王看多了)。如何才能在众多人中脱颖而出?读过源码是我们傲娇的资本。为大航海时代准备着,加油吧少年。看源码之前灵魂的拷问:1.mybatis如何加载配置文件 ?2.mybatis执行sql的工厂如何创建 有几种 ?3.mybatis如何获取ma...
2020-04-28 18:16:20 201
原创 SpringSecurity知识梳理(一)
springsecurity学习1.springsecurity官网介绍Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。它是用于保护基于Spring的应用程序的实际标准。Spring Security是一个框架,致力于为Java应用程序提供身份验证和授权。与所有Spring项目一样,Spring Security的真正强大之处在于可以轻松扩展以满足自定义要求...
2020-04-20 23:39:46 243
原创 [每日知识点] Collectors 类API学习
Collectors 类常用API学习averagingDouble/averagingInt/averagingLong 根据不同类型求平均值counting() 统计数量groupingBy()按某个规则分组summarizingDouble/summarizingInt/summarizingLong 返回一个 CollectorsummingLong/summingInt/su...
2019-08-08 18:02:52 370
原创 [每日知识点] lambda表达式map排序
JAVA 8之后添加了lambda表达式一直没有系统学习先记录一下map 利用lambda表达式排序import java.util.Collections;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;import java.util.stream.Collectors;...
2019-08-07 18:05:24 3140
原创 IDEA Command line is too long
修改项目下 .idea\workspace.xml,找到标签<component name="PropertiesComponent"> , 在标签里加一行<property name="dynamic.classpath" value="true" />
2019-07-15 16:30:14 89
原创 springCloud gateway基于apollo配置动态路由
gateway:路由配置我们希望基于配置中心管理路由信息。apollo:配置中心 具体介绍请看apollo官网https://github.com/ctripcorp/apolloapollo动态更新route配置整体思路apollo 相关的业务线我们不需要关系,只需要关心自己的应用接口gateway集成只需加apollo-client的依赖即可<depe...
2019-05-23 10:22:13 6708 5
原创 [每日知识点] Eureka ACP
A 可用性(Availability)C 一致性(Consistency)P 分区容错性(Tolerance of network Partition)zk 保证ap:zk服务宕机会有一段时间选举master 导致整个系统无法使用 所以是apeureka保证 cp:eureka是所有服务平等,只要有一个服务存活存活就能保证 整个网络使用 但不保证是最新的。...
2018-11-14 20:13:35 822 1
原创 SpringCloud之Bibbon源码分析
Ribbon 源码解析Ribbon 运行的时候是创建一个RestTemplate 然后在加一个@LoadBalancer的注解 接口即可完成ribbon的整合那@LoadBalancer 做了那些工作呢 ?看下源码会发现在这个包下有一个LoadBalancerAutoConfiguration的加载类 看下这个类做什么加入loadBalancerClient.class 同...
2018-09-13 16:47:44 270
原创 Ribbon之轮询源码分析
ribbon 负载策略有 今天详细看了下 RoundRobinRule(轮询) 的实现 发现这个理论实现是真的巧妙。核心 是choose() 方法获取 可用servers类别 然后在列表中轮询取出server轮询核心代码是int nextServerIndex = this.incrementAndGetModulo(serverCount);//获取lis...
2018-09-13 11:15:21 1312
原创 SpringCloud【源码分析】之Euraka-Client
SHAPE \* MERGEFORMAT 通过流程图我们可以很清晰的看到在服务提供者向Eureka-server是通过注册 续约 下线3部分。下面就针对这3部分看下源码通过根据EnableDiscoveryClient注解 很容易找到DiscoveryClient是我们今天的主要战场。观察下DiscoveryClient.class下的方法其中有几个4个内部类...
2018-09-06 15:58:26 507
原创 RabbitMQ 安装
1. 下载下载地址:http://www.rabbitmq.com/download.html2. windows下安装2.1. 安装Erlang下载:http://www.erlang.org/download/otp_win64_17.3.exe安装: 安装完成。2.2. 安装RabbitMQ 安装完成...
2018-09-06 09:11:25 154
原创 SpringCloud【源码分析】之EurakaServer
图片来源https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance 从注解开始了解源码继续跟进EurekaServerMarkerConfiguration.class 发现什么都没有做只是执行了一下marker()@EnableEurekaServer 只是做了这点事情,那么猜测一定是在@SpringB...
2018-09-05 16:18:33 348
原创 SpringCloud之Eureka-server原理和搭建
Eureka 主要负责完成服务的治理功能 Eureka 主要流程图1.服务注册服务启动时会把自己注册到Euerka-server,注册信息包括主机,端口号,通讯协议等信息。 为了保证服务正常 作为服务提供者会启动一个定时任务每30秒(默认值可修改)通知server我还活着 同时此请求的超时时间是90 秒(默认值可修改),下线也是同样原来 通知serverserve...
2018-09-04 18:18:20 956 1
原创 springcloud组件简介
Spring Cloud Netflix 是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册(eureka),负载均衡(rabbon)、断路器(Hystrix)、REST客户端、请求路由(zuul)等。 Spring Cloud Config 将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件 Spring ...
2018-09-04 16:22:26 177
原创 Liunx-常用小命令笔记
我们作为开发一定会经常查liunx下的各种日志 由于日志一般的目录结构都比较深,所有我们需要配置别名或是软连接来简化查询日志操作1.配置别名方法vim ~/.bashrc 进入bashrc编写别名aslias log ='cd /data/logs/xxxxx'; 这样我们编写好了一个别名 但是一定要保存source ~/.bashrc 保存我们刚才修改的命令然后就可以使用...
2018-08-28 14:11:54 167
原创 java系统学习之多线程
java 内存模型和线程安全关注点:原子性有序性可见性happen-before线程安全概念原子性:是指操作过程指不可中断有序行:一条指令可以分多个步骤 ...
2018-08-24 14:51:20 125
原创 prometheus之alterManager配置文件详解
global: smtp_smarthost: 'smtp.qq.com:465' smtp_from: '122055751@qq.com' smtp_auth_username: '122055751@qq.com' smtp_auth_password: 'snfdmoqrshbfbjjj' smtp_require_tls: falsetemplates: - '/usr/lo...
2018-05-09 17:05:09 5835 1
原创 prometheus之监控rabbitMQ
监控rabbitmq1.安装相关依赖下载https://github.com/kbudde/rabbitmq_exporter/releases tar zxvf rabbitmq_exporter-0.20.0.linux-amd64.tar.gzcd rabbitmq_exporter-0.20.0.linux-amd64.tar.gz 启动 RABBIT_USER=admin RABB...
2018-05-08 15:16:42 10494
原创 prometheus安装配置
prometheus 的特点和其他监控系统相比,Prometheus的特点包括:多维数据模型(时序列数据由metric名和一组key/value组成)在多维度上灵活的查询语言(PromQl)不依赖分布式存储,单主节点工作.通过基于HTTP的pull方式采集时序数据可以通过中间网关进行时序列数据推送(pushing)目标服务器可以通过发现服务或者静态配置实现多种可视化和仪表盘支持prometheus...
2018-04-28 17:31:48 2254
原创 java虚拟机学习记录之类加载(一)加载机制
时隔一年多又重新翻阅了一边j<深入理解java虚拟机> 一书对其写的知识又了更好的认识,所以决定做下笔记。作为java开发者虚拟机好多的技术和理论我们只需要知道皮毛即可,但是个人觉得有些知识作为程序员还是必须要知道的。类加载机就是我们必须掌握之一。类加载时间虚拟机开始加载类开始,到卸载为止,是整个的生命周期。流程包括 类加载----->验证----->准备----->...
2018-04-23 22:56:15 110
原创 SpringBoot系列(一):Springboot 核心注解conditional
ConditionalOnBean:当容器里有指定的bean的条件下ConditionalOnClass:当类路径下有指定的类的条件下ConditionalOnExpression: 基于SpEL表达式作为判断条件ConditionalOnJava:基于java版本作为判断条件ConditionalOnJndi:在JNDI存在的条件下查找指定的位置ConditionalOnMissingBean ...
2018-04-08 16:14:59 509
原创 java线程基础之Semaphore学习
相关APIvoidacquire() 从此信号量获取一个许可,在提供一个许可前一直将线程阻塞,否则线程被中断。 voidacquire(int permits) 从此信号量获取给定数目的许可,在提供这些许可前一直将线程阻塞,或者线程已被中断。 voidacquireUninterruptibly() 从此信号量中获取许可,在有可用的许可前...
2018-03-07 09:44:36 106
原创 java线程基础之CyclicBarrier学习
CyclicBarrier相关APIawait() 在所有参与者都已经在此 barrier 上调用 await 方法之前,将一直等待。 await(long timeout, TimeUnit unit) 在所有参与者都已经在此屏障上调用 await 方法之前将一直等待,或者超出了指定的等待时间。 getNumberWaiting() 返...
2018-03-07 09:39:26 183
原创 java线程基础之CountDownLatch学习
CountDownLatch相关APIJDK相关解释一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需...
2018-03-02 15:16:57 160
原创 java类初始化笔记
类初始化的时机,在new对象时 也就是说走构造函数的时候 会初始化父类--本类。 当时用反射时,如果类没有初始化那个会对其初始化。注意 静态变量和静态方通过类直接调用不会进行类初始化(如果有静态代码块 会执行静态代码块)。案例:public class Test{public Test(){system.out.println("Test");}public s
2017-06-13 22:00:49 131
erstudio破解版
2018-12-25
Java并发编程实战
2017-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人