♥ 框架知识
文章平均质量分 66
小鹿在努力
这个作者很懒,什么都没留下…
展开
-
Cat源码分析(二):Server端
初始化服务端消费客户端发来的消息进行分析和展示,所以这个的初始化指的是CatHomeModule的初始化CatHomeModule依赖TcpSocketReceiver和MessageConsumer,前者用来接收客户端发送的消息,后者用来消费消息。TcpSocketReceiver通过Messagecodec对MessageQueue中的MessageTree进行解码,还原成为Messa...原创 2018-10-29 14:20:02 · 531 阅读 · 2 评论 -
CATwindow单机版搭建手册
环境Jdk: 1.7.0_80Maven: 3.3.9(使用的idea自带的maven,没有自己配置)Tomcat7.0.91Mysql 5.6.41IDEA 2018.2.4x步骤一、 从GitHub上拉取代码,并导入到idea中 : https://github.com/dianping/cat.git二、 直接拉取下来的CAT默认使用jdk1.5,需要手动改成自己电脑上的...原创 2018-10-02 17:12:07 · 1295 阅读 · 3 评论 -
Zookeeper学习总结
概念ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,他基于ZAB协议完成一套主备模式的架构来保证数据的一致性。今天这个总结按照下边的导图展开:数据模型 zk的数据结构是类似文件系统的树形结构,他的最小单位称为znode,他可以完成数据保存和节点的挂载。znode又分为四种类型,分别为持久化节点,持久化有序节点,临时节点(会话结束节点自动被清理),临时有序节点。...原创 2018-08-26 20:05:48 · 400 阅读 · 2 评论 -
分布式架构由来
周六在公司看了两集分布式概览的视频,从宏观了解一下分布式的发展,老师讲的很清楚,所以这一篇博客就来记录一下上课的笔记第一版:程序和数据库在一台应用服务器上第二版:数据库和系统分开两个服务器 第三版:出现集群 第四版:部署多台服务器,出现负载均衡,session跨域问题随之而来,一般使用cookie来解决这个问题,在cookie中保存access_token,当向服务器发送请...原创 2018-07-24 19:52:46 · 1013 阅读 · 6 评论 -
Web服务器机制(一)
今天看了看书架上的书,发现一本关于tomcat的书,翻了翻,发现还真学到很多东西,记录一下,就当一篇读书笔记吧。 第一章主要是讲解了一下web服务器的机制,从以下三方面展开:通信协议、Socket通信、web服务器模型一、通信协议HTTPHyper Text Transfer Protocol(超文本传输协议) 特点: 应用层协议请求和相应组成无状态普遍使...原创 2018-04-15 20:37:15 · 1011 阅读 · 16 评论 -
盛豆子的东西
前言 每次起奇奇怪怪的名字的时候都很纠结,一是想要取悦自己,但是这样的名字访问量又高不起来,反正访问量多了又能怎样,还是自己高兴最重要~~今天还是围绕spring管理bean的容器,来探讨一下spring魅力所在思维导图 Sring的核心就是IOC和AOP,IOC离不开盛放bean的容器,容器的作用就是对bean进行管理,包括了bean的创建,配置,装配和管理bean原创 2018-01-10 11:07:38 · 341 阅读 · 11 评论 -
Bean的自动化装配
前言 今天我们来总结一下bean的装配问题,一个软件需要不同功能的类之间建立合作,才能是组装成一个强大的系统,spring在其中就是一个调度者的角色,总结一句话就是:我知道你需要什么,我提供给你需要的,而你只需要大脑空空就可以了,专注于你要完成的业务逻辑就好了,别的事情交给我来做。有没有被spring感动到,比如一台电脑,他包含了许多组件,cup知道他需要一个硬盘吗?不知道吧,这需要原创 2018-01-15 10:14:26 · 347 阅读 · 8 评论 -
使用Java配置的方式完成SpringMVC的搭建
SpringMVC请求过程 简单描述一下请求过程: 1.请求到达前端控制器DispatcherServlet,他的作用是将请求转发给相应的控制器(controller) 2.DispatcherServlet通过处理器映射得到具体是哪个控制器,然后将请求转发 3.控制器进行信息的处理,然后将模型打包(模型中是后台查出来需要展示给前台的信息),并且标示出用于渲染输出的视图名原创 2018-01-22 16:38:54 · 3459 阅读 · 19 评论 -
动态代理实现AOP
今天说和小张哥一起讨论AOP,正好看到了相关的视频,今天就总结一下AOP是如何使用动态代理来实现的。AOP对JAVA程序员来说并不陌生,他是spring的一个核心内容——面向切面编程,先把概念放在这里,因为这一篇博客不会展开讲述AOP是什么,而是讲一讲他的来源——动态代理。我们先来看一个例子:有一个接口:UserManager,还有就是接口的实现类UserManagerImplUserManager原创 2017-10-14 21:32:29 · 2109 阅读 · 19 评论 -
TinySpring学习(Step3)
step1、2中我们完成了一个简单的IOC的容器,可以利用反射将bean放入工厂。下边我们就看看step3做了什么Step3 为bean注入属性 这一步,我们想要为bean注入属性。我们选择将属性注入信息保存成PropertyValue对象,并且保存到BeanDefinition中。这样在初始化bean的时候,我们就可以根据PropertyValue来进行bean属性的注入。Spring本身使用原创 2017-11-18 21:42:55 · 409 阅读 · 23 评论 -
TinySpring学习(Step2)
今天总结一下上一篇的进化版,主要更改的地方在于:如何让BeanDefinition得到注入类的对象,在step1中,是直接实例化,然后丢到BeanDefinition中就可以了,但是实际情况中,bean的创建过程最好还是通过容器来管理,所以我们将这一过程放到了registerBeanDefinition中:类图如下:(setBean这一过程就藏在图中标出的框框里) BeanDefinition:(原创 2017-10-25 20:20:23 · 480 阅读 · 25 评论 -
TinySpring学习(Step1)
今天开始每天都会抽出三个番茄来学习tiny-spring,从而达到对spring核心源码的理解,今天第一天,总结一下step1首先定义两个类,类图如下:BeanDefinitionpublic class BeanDefinition { //对对象进行定义 private Object bean; public BeanDefinition(Object bean){原创 2017-10-23 20:13:15 · 620 阅读 · 20 评论 -
Spring框架:核心容器总结
最近想要深入了解一下spring,所以今天先对spring框架做一个宏观的总结。 Spring框架: 首先我们看到Spring框架被分成7部分:Core Container(核心容器),Data Access/Integration、WEB、AOP、Instrumentation、Messaging(消息)和Test(测试),这篇博客我们把注意点放到最核心的核心容器上来进行总结。 核心容器核心容器原创 2017-10-22 19:14:19 · 14562 阅读 · 67 评论 -
mybatis的动态SQL(三)where、set、trim标签的使用
上一篇博客我们简单的介绍了一下choose when otherwise的用法,这一篇我们来聊聊另外当个差不多的标签的用法:where、set、trim 1. where标签的作用:如果该标签包含的元素中有返回值,就插入一个where;如果where后面的字符是以AND和OR开头的,就讲他们剔除举个例子:<select id="selectByUser" resultType="cd.myba原创 2017-10-08 20:48:03 · 2725 阅读 · 18 评论 -
mybatis的动态SQL(二)choose标签的使用
上一篇中我们讲解了if标签的使用,但是他无法实现if…else的逻辑判断,这就要用到我们这一篇提到的choose when otherwise标签。使用规则:一个choose中至少有一个when,有0个或一个otherwise举个例子:<select id="selectByIdOrUserName" resultType="cd.mybatis.model.SysUser">select id原创 2017-10-08 20:18:07 · 801 阅读 · 15 评论 -
mybatis的动态SQL(一)if标签的使用
mybatis的强大特性之一就是动态SQL。我们在写复杂查询的时候,会发现复杂查询包括了各种各样的判断,我们很难一鼓作气的写出完美的查询。动态SQL语句可以帮助我们拼接不同的SQL语句,而已让我们的代码变得更加优雅且功能更加强大。这一篇给大家介绍一下if的用法下边就是现在MyBatis的动态SQL在XML中支持的几种标签,他们分别是:ifchoosetrim(where、set)foreac原创 2017-09-24 20:06:42 · 30717 阅读 · 34 评论 -
Cat源码分析(一):Client端
客户端初始化我们首先看一下Cat这个类的初始化过程 public static void initialize(PlexusContainer container, File configFile) { ModuleContext ctx = new DefaultModuleContext(container); Module module = ctx.lookup(Module.c...原创 2018-10-27 13:57:22 · 1901 阅读 · 1 评论