- 博客(16)
- 资源 (6)
- 收藏
- 关注
原创 Spring—AOP原理
概述Aspect Oriented Programming,面向切面编程,通过定义相关的切面,我们可以在程序的纵向执行过程中对方法进行拦截,织入我们自定义的逻辑,极大的解耦了我们的业务代码和功能代码 在SpringAOP中,在执行目标方法之前,先将满足拦截要求的所有的增强器(内含对应的通知)获取到,然后生成一个拦截器链(会对不同类型的增强器进行排序),再通过这个拦截器链执行相关的逻辑,拦截器链的执行顺序如下图(图中包含了五种类型的通知Around、Before、After、AfterReturning
2021-01-29 12:43:14
141
原创 动态代理——CGLIB动态代理原理&示例解析
觉得可以的话点个关注,转个发呗,陆续奉上干货~~~~前文我们讲解了JDK动态代理的原理(动态代理——JDK动态代理原理),今天我们来看看CGLIB动态代理是如何实现,最后我们总结下JDK动态代理和CGLIB动态代理的区别~~先看下测试的源码:输出:inceptor-1---before invoke method: sayHelloi am cglibinceptor-1---after invoke method: sayHello我们看下CGLIB生成的代理类(精简之后).
2021-01-12 16:18:42
511
原创 一图理解HTTP——Tomcat&SpringMvc请求链路
觉得可以的话点个关注,转个发,加个收藏呗,陆续奉上干货~~~~先看下HTTP请求在Tomcat和SpringMvc中的整体请求流程,先有个印象:解析:1、Service中的Connector内部组件负责监听相应端口,当与一个客户端建立tcp连接后,不断的从客户端连接中读取数据,然后根据HTTP协议格式将接收到的数据封装为Request对象,并构造一个Response对象,然后将这两个对象通过Connector关联的Service组件向下传递。2、Engine、Host、Context和
2021-01-12 10:43:32
700
原创 动态代理——JDK动态代理原理&示例解析(图文并茂)
觉得可以的话点个关注,转个发,加个收藏呗,陆续奉上干货~~~~开始~~动态代理在Java中有JDK动态代理和CGLIB动态代理,也就是在运行中动态生成字节码并加载到虚拟机中供我们后续使用。下面我们先看下这两种方式的区别。两者区别:JDK动态代理:需要被代理对象的类实现了某些接口,生成的代理类也会实现相应的接口CGLIB动态代理:不需要被代理对象的类实现了某些接口,生成的代理类为目标对象的类的子类下面我们对JDK动态代理进行解析:(源码见下方)1、java.lang.refle
2021-01-12 10:35:54
6128
2
原创 Springboot——自动配置原理
觉得可以的话点个关注,加个收藏呗,陆续奉上干货~~~~我们使用Springboot进行开发的时候发现真的很方便,我们只需要很少的配置、少量的注解以及引入一些starter就可以完成一个简单项目的开发。使我们受益的就是Springboot的自动配置功能,下面我们来探索Springboot的自动配置原理。(中间的一些细节的地方不做过多介绍,影响阅读体验,主要解析核心脉络)先看下配置类的解析流程图:我们知道Spring容器的主要工作原理就是先根据配置的信息将相关的BeanDefinition(也就
2021-01-12 10:18:14
770
原创 Spring——循环依赖&示例解析(图文并茂)
觉得可以的话点个关注,加个收藏呗,陆续奉上干货~~~~先上个整体流程图,有个初始印象,后面比较详细的解析~~从BeanFactory中获取单例对象最终调用的方法是doGetBean方法,内部首先调用getSingleton方法来判断当前要获取的bean是否已经被创建或者是正在创建。BeanFactory中有三个map类型的属性:singletonObjects:存放实例化并初始化完成的单例对象引用 earlySingletonObjects:存放单例对象提前曝光的对象引用 singl
2021-01-12 10:10:00
430
1
原创 Spark Streaming 异常汇总
1.overloaded method value createDirectStream with alternatives:overloaded method value createDirectStream with alternatives: (jssc: org.apache.spark.streaming.api.java.JavaStreamingContext,locationStrategy: org.apache.spark.streaming.kafka010.Locatio.
2020-05-30 17:37:38
641
原创 Kafka 配置解读
# see kafka.server.KafkaConfig for additional details and defaults############################# Server Basics #############################broker.id=0 #集群唯一# 是否允许topic删除的开关,默认false#delete.topic.e...
2020-01-04 10:28:03
143
原创 Hive CombineHiveInputFormat获取切片逻辑[源码]
CombineHiveInputFormat获取切片逻辑:实际执行的是: org.apache.hadoop.mapreduce.lib.input.CombineFileInputFormat.createSplits()1.获取该表的所有fileStatus2.mapreduce.input.fileinputformat.split.maxsize=maxSize3.遍历...
2019-12-29 16:14:59
2413
原创 Hive 常用设置
远程调试hive运行程序:hive --debug[:port=5005]hive日志级别及输出:hive --hiveconf hive.root.logger=DEBUG,consolecli服务常用变量设置//对于输入数据量比较小的任务,hive使用本地模式在单台机器上执行所有的任务set hive.exec.mode.local.auto=true//是否打印表头set...
2019-12-29 16:12:20
399
原创 window下主机与docker容器互连&ssh连接docker容器
注:镜像为centos:7镜像一.主机与容器互连1.Docker的默认启动方式中,会产生一块虚拟网卡,然后容器内自行分配单独的网卡和IP。可以在宿主机上通过ipconfig命令看到这个虚拟网卡2.打开一个容器,可以看到容器IP为自动分配的此时无法ping通3.配置路由表实现ip互通此时可以ping通4.docker默认使用bridge网络,每次容器启动时自动分配ip,我...
2019-12-29 15:53:37
1112
原创 决策树ID3、C4.5概述
1.获取数据集2.从数据集中找到最优的切分特征(离散变量)/最优切分特征和最优切分特征值(连续变量) ID3算法:信息熵/条件熵/信息增益 选择决断特征时选择信息增益最大的 信息熵:[衡量信息的复杂度] H(D) = -∑[P(i)log(p(i))]: p(i)-->第i个类别出现的概率 ...
2019-12-29 15:44:57
267
原创 Unable to connect to Command Metric Stream.
我使用的版本是springcloud2.0 (最后面贴上pom文件配置)在网上参考别人的博客(https://blog.csdn.net/forezp/article/details/69934399)进行spring clound入门,在进行到Hystrix Dashboard 这部分的时候,(使用的是ribbon负载均衡客户端),后台配置好之后启动工程 并访问http://localhost:...
2018-04-04 09:13:35
3200
3
原创 spring boot 使用logback 控制台打印日志中文乱码解决
在<encoder>标签下使用<charset>UTF-8</charset> 发现在控制台打印中文日志乱码,发现将这个<charset>UTF-8</charset>注释掉就解决了...
2018-04-02 17:59:35
7859
6
原创 WebSocket connection to 'ws://localhost/aa/ws1' net::ERR_CONNECTION_REFUSED
在项目中使用了websocket 进行数据推送 在本地访问没问题 部署到服务器上之后报WebSocket connection to 'ws://localhost/aa/ws1' net::ERR_CONNECTION_REFUSED很是郁闷!!后面发现服务器上使用了nginx,发现也需要在nginx中配置websocket前台function init(){ if...
2017-11-27 14:37:55
18313
2
hive 函数 oracle 函数 对比
2017-09-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人