- 博客(42)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 dubbo2.7.3源码解析
2.7.3版本ExtensionLoader#createAdaptiveExtensionClass方法String code = new AdaptiveClassCodeGenerator(type, cachedDefaultName).generate();会生成Adaptive自适应代码Dubbo标签优先级排序示意图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8YiFozRq-1591684569860)(dubbo.assets/158945707
2020-06-09 14:37:41
752
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 4.1.36这篇netty讲懂了-- Netty源码剖析
NettyServer端源码根据代码演示分析public static void main(String[] args) throws InterruptedException { EventLoopGroup parentGroup = new NioEventLoopGroup(); EventLoopGroup childGroup = new NioEv...
2020-04-27 14:48:30
712
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 spring源码-Ioc容器初始化、循环依赖、AOP、MVC
spring源码解析spring核心理解*掌握spring和spring boot、springcloud等的关联和区别 ** spring.io *** Spring基础部分(IoC、DI、AOP) *** spring boot:更加简单 **** 自动配置 **** 起步依赖(maven依赖更加简洁) **** 领配置文件(spring配置...
2020-02-12 20:36:29
284
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 mybatis源码
mybatis源码解析架构流程图说明:mybatis配置文件SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。Mapper.xml,此文件作为mybatis的sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。Configuartion對象封裝了Mybati...
2020-02-09 14:09:57
1683
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 趣味网络协议
在学习了趣味网络协议后一些学习笔记一.为什么要学习网络协议协议三要素语法 语义 顺序网络协议都有哪些MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。应用层 DHCP(动态主机配置协议) HTTP HTTPS RTMP(实时消息传输协议) P2P DN...
2018-10-26 14:53:01
679
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 hive2.3-spark2.0-yarn 安装
hive on spark 安装jar包选用 hadoop - 2.7.3 hive - 2.3.0 spark - 2.0.0 scala - 2.11.8spark安装 引用官网 https://cwiki.apache.org//confluence/display/Hive/Hive+on+Spark:+Getting+Started 请注意,您必须具有
2017-08-09 21:17:23
1985
原创 JUC下面的api实现原理
##JUC包下类ReentrantLock-ReentrantReadWriteLock-CountDownLatch-LinkedBlockingQueue-Synchronized
2021-09-05 16:19:15
135
原创 4.1.36这篇netty讲懂了-- Netty源码剖析
NettyServer端源码根据代码演示分析public static void main(String[] args) throws InterruptedException { EventLoopGroup parentGroup = new NioEventLoopGroup(); EventLoopGroup childGroup = new NioEventLoopGroup(); try { ServerBootstra
2020-11-15 22:50:25
369
原创 linux centos mysql5.7安装
linux centos mysql5.7安装1.添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组 ①groupadd mysql ②useradd -r -g mysql mysql * useradd -r参数表示mysql用户是系统用户,不可用于登录系统。 * useradd -g参数表示把mysql用户添加到mysql用户组中。2.将二进制...
2019-04-17 16:22:20
635
1
原创 Mybatis更新报错的坑
Mybatis更新报错的坑,,,代码写得没错,就是每次执行就报错。<update id="updateInfraredTestData" parameterType="java.util.List"> <foreach collection="infraredList" item="cus" index="index" open="" clo
2018-11-13 16:13:23
1541
原创 XF文章笔记之《Java异常》throws字句(三)
throws是声明异常,是用来列出某个函数的所有异常。编译器强迫你必须在函数中捕获异常或者或者用throws在函数入口如声明异常。throws用来向函数调用者发出预警,告诉调用者可能会产生哪些异常。在项目开发周期前,请在一开始就设计好你的错误策略。请不要在项目最后才添加异常处理。加入有个公共方法A,多个方法调用A方法,在项目后期需要在A方法中加入异常,但是A方法又自己处理不了异常,只能在...
2018-10-18 16:52:47
223
原创 XF文章笔记之《Java异常》重视异常(二)
在编写代码时,要重视异常,不可忽视异常,也不要遮掩异常,对返回的异常信息要全部返回重视异常当产生异常的时候不去捕获,会发生什么?在执行代码时,代码发生异常没去捕获,线程就会停止。而异常信息没有返回的话,连出错的地方都很难找。在JAVA中,发生异常后,主要是:1.捕获并处理,防止进一步转播。2.捕获在抛出它,给调用端去处理。3.不捕获这个异常,随他怎么去传播。举例例如:捕获了...
2018-10-18 15:27:47
169
原创 XF文章笔记之《Java异常》认识异常流程(一)
别名 XF最近在看了Practical Java中的一些改善代码的原则,重温下基础,而又不可忽视的重点区域,记录下来。认识异常流执行机制异常流类似于goto语句,java中没有goto语句,但是异常采用了类似的技术。一旦一个异常诞生,控制流(control)就会立刻转入下面三者之一 catch block (捕获区段) finally block (终结区段) ...
2018-10-18 13:49:39
108
原创 jvm垃圾收集器理解
1、java运行时区域运行时区域分为 两类:线程私有和线程共享。线程私有程序计数器: 当前线程所执行的行号指令器。Java虚拟机的多线程是通过线程轮流切换并配置处理执行时间的方式来实现的,在同一个时刻,cpu只能执行一个线程,为了线程切换后能恢复到正确的 执行位置,每个线程都需要有一个独立的程序计数器。 若正在执行的是java方法,则计...
2018-04-20 21:48:51
135
原创 GC收集参数
GC收集参数-Xms20m 设置初始堆-Xmx20m 最大堆大小-Xmn 设置年轻代大小-XX:+HeapDumpOnOutOfMemoryError 对堆内存溢出 --- 创建对象太多-Xss128k -Xss参数减少栈内存容量 抛出StackOverflowError异常,异常出现时输出的堆栈深度响应减少。 -- 栈的内存小-XX:PermSize=1...
2018-04-20 14:33:09
124
原创 java 集合总结
类原理ArrayList&&LinkedListArrayList: 1)底层采取的是队列的原理 2)每个元素都有自己的索引号 3)重复的元素可以添加,因为重复的元素可以出现在不同的位置 *4)查询效率高LinkdList: 1)底层采取的是链表结构 2)每个元素都有自己的索引号 3)重复的元素可...
2018-04-12 19:01:57
148
原创 java的并发类
java内存模型 ①每个线程都有一个自己的本地内存空间--线程栈空间???线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作 ②对该变量操作完后,在某个时间再把变量刷新回主内存voaltile 与 synchronized voaltile关键字,使一个变量在多个线程中可见 A、B线程都用到一个变量,java默认是A线程中保留一份co...
2018-04-12 19:00:31
184
原创 大话数据结构--图的最小生成树-java实现
普利姆(Prim)算法 最小生成树 * A * / | \ * B- -F- -E * \ / \ / * C -- D * A B C D E F * 0 1 2 3 4 5 * * A-B 6 A-E 5 A-F 1 * B-C 3 B-F 2 * C-F 8 C-D 7 * D-F 4 D-E 2 ...
2018-04-08 13:09:17
472
原创 大话数据结构--图的遍历-java实现
图的遍历分为深度优先遍历和广度优先遍历总结下图的遍历:深度优先遍历 就像一棵树的前序遍历 A B C D E F G H A 1 1 B 1 1 1 C 1 1 1 D 1 1 1 E 1 F 1 1 G 1 ...
2018-04-08 12:18:35
298
转载 大话数据结构(四)——双向链表的java实现
在实现了单向链表后,我们在使用单向链表中会发现一个问题:在单向链表中查找某一个结点的下一个结点的时间复杂度是O(1),但是查找这个结点的上一个结点的时候,时间复杂度的最大值就变成了O(n),因为在查找这个指定结点的上一个结点时又需要从头开始遍历。 那么该如何解决这个困难呢?我们可以在单链表的每个结点中,再设置一个指向前驱结点的指针域,这就构成了双向链表。在双向链表中含有两个指针域,一个指向...
2018-04-05 19:51:59
160
转载 大话数据结构(五)——栈的两种java实现方式
在我们生活当中经常会看到这样一种操作,比如我们往一个空羽毛球盒子里面放羽毛球(个人比较喜欢羽毛球,嘿嘿),放完后再将羽毛球一个一个取出的时候会发现,最先放进去的羽毛球往往最后才取出来,相反,最后放入的羽毛球往往最先取出。这个例子形象的说明了栈的操作方式,下面我们来看看什么是栈,以及栈的一些操作。那么什么是栈呢?栈就是限定在表尾进行插入和删除操作的线性表。我们将允许插入和删除的一端称为栈顶(to...
2018-03-27 16:17:40
208
原创 数据结构(三)——单向循环链表的java实现
单向循环链表结构就是链表的最后一个指针不再是null,而是指向整个链表的第一个结点,使链表形成一个环。 上代码package likend;/** * Created by yxf on 2018/3/27. * 单向循环链表 */public class CycleLink<T> { private Node header; //链表头结点 ...
2018-03-27 16:11:33
1120
原创 数据结构(二)--- 线性表链表(单链表)java实现方式
线性表的链式存储结构:所有元素不考虑相邻位置,哪有空位置就到那里,而只是让每个元素知道它下一个元素的位置在那里,这样,我们可以在第一个元素时,就知道第二个元素的位置(内存地址),而找到它;在第二个元素时,再找到第三个元素的位置,这样所有的元素就可以通过遍历而找到。 链表中的第一个结点的存储位置叫做头指针,最后一个结点的指针为空 在单链表的第一个结点前附设一个结点,称为头结点 单链...
2018-03-25 14:42:27
322
转载 大话数据结构(一)——线性表顺序存储结构的java实现
在看《大话数据结构》的时候,里面诙谐的语言和讲解吸引了我,但是这本书是用C来实现的,但是作为一个手撸java的人就想着用java来实现一下这些数据结构,于是就有了这些大话数据结构之java实现。哈哈,感觉这样会让自己的理解加深不少。 好了,不多说啦,今天是实现线性表顺序存储结构...
2018-03-24 21:05:49
347
转载 spring源码学习之路---IOC容器初始化要义之bean定义载入(四)
上章说到要带各位去看看bean定义载入的要义,其实就是loadBeanDefinitions这个方法的具体实现步骤,下面我们跟随这个方法去看下它到底是如何载入bean定义的。上面是我截取的实现了loadBeanDefinitions的类级别截图,loadBeanDefinitions方法是AbstractRefreshableApplicationContext抽象类的模板方法,而此次我们研究的F
2017-11-19 18:30:39
249
转载 spring源码学习之路---深度分析IOC容器初始化过程(三)
分析FileSystemXmlApplicationContext的构造函数,到底都做了什么,导致IOC容器初始化成功。public FileSystemXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) throws BeansExcepti
2017-11-19 18:19:26
217
转载 spring源码学习之路---IOC实现原理(二)
上一章我们已经初步认识了BeanFactory和BeanDefinition,一个是IOC的核心工厂接口,一个是IOC的bean定义接口,上章提到说我们无法让BeanFactory持有一个Mappackage org.springframework.beans.factory.support;import java.io.NotSerializableException;import java.i
2017-11-19 16:13:26
506
转载 spring源码学习之路---IOC初探(一)
首先把spring源码导入,怎么导入百度下。 首先我们来说一下IOC,IOC是spring最核心的理念,包括AOP也要屈居第二,那么IOC到底是什么呢,四个字,控制反转。网上有不少是这么解释IOC的,说IOC是将对象的创建和依赖关系交给容器,这句话我相信不少人都知道,在我个人的理解,IOC就是让我们的开发变的更简单了。为什么这么说呢,光说没意思,直接上代码。public class Perso
2017-11-19 15:41:30
657
原创 Spring Cloud Feign
Spring Cloud Feign创建spring-cloud-04-feign-service服务中心 端口为8088创建spring-cloud-04-feign-produce 端口为2006HystrixC类@RestControllerpublic class HystrixC { @RequestMapping(value = "/hello",method = {Requ
2017-10-09 15:30:21
562
原创 Spring Cloud Hystrix
Spring Cloud Hystrix 创建spring-cloud-03-hystrix-server服务中心 端口为8088创建spring-cloud-03-hystrix-client服务单元HelloControl类@RestControllerpublic class HelloControl { @RequestMapping(value = "/hello",meth
2017-10-09 14:17:04
705
原创 Spring Cloud Bus
Spring Cloud Bus在微服务架构中,通常会使用轻量级得消息代理来构建一个公用得消息主题让系统中所有微服务实例都连接上来,由于该主题中产生得消息会被所有实例监听和消息,所以我们称它为消息总线。在总线上得各个实例都可以方便地广播一些需要让其他连接在该主题上得实例都知道得消息。这里用到Kfaka做消息代理kafka安装安装Kafka需要用到Zookeeper 移步hbase,zooke
2017-09-25 21:09:43
499
原创 Spring Cloud Config
分布式配置中心组件ConfigSpring Cloud Config 构建创建spring-cloud-06-config-server 项目导入pom.xml依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-se
2017-09-25 21:08:04
652
原创 Spring Cloud Ribbon
Spring Cloud Ribbon客户端负载均衡组件Ribbon 负载均衡就是当client端发送请求得时候会均衡得分发到每个server端创建spring-cloud-02-ribbon-eureka 就是个服务端 参考前面得copy过来的创建spring-cloud-02-ribbon-client1 项目引入pom.xml<dependency> <grou
2017-09-24 16:26:29
349
原创 Spring Cloud Eureka
服务发现谈到服务发现,阿里得Dubbo经典架构图如下:服务治理,发现Spring Cloud Eureka1 首先在pom.xml中引入对应依赖2 在主入口Application类中加入@EnableEurekaServer注解3 在配置文件中对服务中心进行配置4 运行程序体验Eureka服务发现创建spring-cloud-01-eureka-a项目 pom中引入依赖<depende
2017-09-23 13:40:57
439
原创 spring Cloud 概述
微服务简介微服务架构是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限
2017-09-23 13:38:13
816
转载 微服务四篇文章
重识微服务架构http://mp.weixin.qq.com/s/UdLNAnLHo314ESKRUshVQQ快速快速体验微服务架构http://mp.weixin.qq.com/s/QO1QDQWnjHZp8EvGDrxZvw微服务架构 API 的开发与治理http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg如何保障微服务架构下的数据一致性http://
2017-09-17 11:59:47
378
原创 spark standalone&&yarn模式
spark standalone&&yarn模式standalone模式1.slaves文件 slave1 slave2 slave32.spark-env.sh export SCALA_HOME=/usr/local/scala export JAVA_HOME=/usr/java/default export SPARK_DIST_CLASSPATH=$
2017-08-27 01:15:52
383
原创 hive整合hbase
hive整合hbasehbase安装 http://blog.csdn.net/qq_33127597/article/details/76685928hive 安装 http://blog.csdn.net/qq_33127597/article/details/76210417hive多用户模式安装(服务端 客户端)一般公司都这样装 http://blog.csdn.net/qq_3312
2017-08-27 00:32:50
251
原创 hive多用户模式
hive 多用户模式安装hive多用户模式分开服务端和客户端hive单用户模式参考http://blog.csdn.net/qq_33127597/article/details/76210417服务端配置如下 <configuration> <property> <name>hive.metastore.warehouse.dir</name>
2017-08-27 00:14:10
1809
原创 hbase分布式集群安装
hbase,zookeeper分布式集群安装jar包选用 hadoop - 2.7.3 zookeeper - 3.4.8 hbase - 1.2.5Zookeeper分布式安装在etc/hosts中配置集群节点 192.168.56.100 master 192.168.56.101 slave1 192.168.56.102 slave2将zookeeper/co
2017-08-04 15:19:57
528
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人