2 ai_xiangjuan

尚未进行身份认证

暂无相关描述

等级
博文 179
排名 3w+

Spring Aware接口

spring的bean实现Aware接口。可以自动织入BeanFactory等Spring容器对象。SpringAware对象实现原理classApplicationContextAwareProcessorimplementsBeanPostProcessor{ privatefinalConfigurableApplicationContextapplicationC...

2018-10-20 13:18:45

Spring FactoryBean接口

如果一个bean实现FactoryBean,那么它就不是一个简单的bean,类似于java模式中的工厂模式,用于生产不同的Object。举例publicclassOkHttpClientFactoryBeanimplementsFactoryBean,DisposableBean{ privateintconnectTimeout; privateintreadTim...

2018-10-20 12:31:14

mysql select ... for update

1.用法用法:select…forupdate;例如:select*fromgoodswhereid=1forupdate;排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。**forupdate仅适用于InnoDB,且必须在事务块(BEGIN/COMMIT)**中才能生效。在进行事务操作时,通过“forupdate”语句,...

2018-10-13 21:17:55

线程池隔离的优缺点

1.线程隔离的优点:尽管线程池提供了线程隔离,我们的客户端底层代码也必须要有超时设置,不能无限制的阻塞以致线程池一直饱和。2.线程隔离的缺点:TheNetflixAPIprocesses10+billionHystrixCommandexecutionsperdayusingthreadisolation.EachAPIinstancehas40+th...

2018-10-13 20:35:37

linux 线程切换

1.什么引起线程切换时间片轮转线程阻塞线程主动放弃时间片

2018-10-11 22:35:21

MySql innodb和MyISAM

1.Innodb1.1聚簇索引InnoDB中,聚簇索引就是“表”,所以不像MyIsAM那样需要独立的行存储。聚簇索引的每一个叶子节点都包含了主键值,事务ID,用于事务和MVCC的回滚指针以及所有的剩余列。如果主键时一个前缀索引,InnoDB会包含完整的主键列和剩下的其他列。聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。聚簇索引的索引列是主键值,如果没有,MySQL会自动创建。...

2018-10-10 23:04:56

elastic-job--作业类型

elastic-job提供了三种类型的作业:Simple类型作业SimpleJob需要实现SimpleJob接口,意为简单实现,未经过任何封装,与quartz原生接口相似,比如示例代码中所使用的job。Dataflow类型作业Dataflow类型用于处理数据流,需实现DataflowJob接口。该接口提供2个方法可供覆盖,分别用于抓取(fetchData)和处理(processData)...

2018-10-10 21:01:20

elastic-job--数据分片

数据分片的目的在于把一个任务分散到不同的机器上运行,既可以解决单机计算能力上限的问题,也能降低部分任务失败对整体系统的影响。elastic-job并不直接提供数据处理的功能,框架只会将分片项分配至各个运行中的作业服务器(其实是Job实例,部署在一台机器上的多个Job实例也能分片),开发者需要自行处理分片项与真实数据的对应关系。框架也预置了一些分片策略:平均分配算法策略,作业名哈希值奇偶数算法策略,...

2018-10-08 23:05:34

elastic-job --介绍

1.elastic-job是什么elastic-job是当当开发的基于qutarz以及zookeeper封装的作业调度工具,主要有两个大框架,一个是elastic-joblite另外一个是elastic-jobcloud,其中qutarz是一个开源的作业调度工具,zookeeper是分布式调度工具,这两者结合搭建了elastic-job-lite,这是一个无中心节点的调度,而elastic-...

2018-10-08 22:40:26

分布式一致性模型--顺序一致性

1.介绍一致性描述的是当分布式中共享资源被复制时的并发访问的语义。2.什么是顺序一致性当进程在多台机器上并发运行时,任何读、写操作的有效交叉都是可接受的行为,但是所有的进程都看到相同的交叉操作。2.1举例进程p1把x的值修改成a,进程p2把x的值修改成b,进程p3,p4并发的进行读。下图是违背了顺序一致性。因为不是所有的进程看到了相同的写操作交叉。3.算法实现3.1主备份协...

2018-10-07 23:18:25

FreeMaker介绍

1.FreeMaker是什么FreeMarker是一款免费的Java模板引擎,是一种基于模板和数据生成文本(HMLT、电子邮件、配置文件、源代码等)的工具,它不是面向最终用户的,而是一款程序员使用的组件。FreeMarker最初设计是用来在MVC模式的Web开发中生成HTML页面的,所以没有绑定Servlet或任意Web相关的东西上,所以它可以运行在非Web应用环境中。2.工作原理Free...

2018-10-07 13:17:06

ServletContextListener使用详解

1.介绍在ServletAPI中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。2.作用当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由ServletContextListener来处理。在ServletCont...

2018-10-07 13:02:33

数据库水平扩展--分片

1.介绍实现数据分片需要包含以下功能:分片映射管理:是一个特殊的数据库。存储分片相关的元数据。路由:当接收到一个请求时,应用程序需要根据相关的key值从分片映射管理器中获取映射的数据库,进行数据查询或修改。多分片查询:当一个请求涉及到多个分片时,需要对查询结果进行排序合并等。2.分片映射...

2018-10-02 23:14:47

zab协议

1.背景在分布式系统中实现一致性是件有挑战的事。经典的二阶段提交、三阶段提交都不能完美的解决这一问题,有关传统的的分布式系统一致性问题可以看这里。Paxos算法能完美地达到分布式系统的一致性,但由于较为复杂,在实际工程上不是很合适,Zab协议借鉴了Paxos的思想,并进行了改进,以满足工程上的实际需求。2.设计目标一致性有序性:有序性是Zab协议与Paxos协议的一...

2018-09-25 22:47:49

websocket协议

1.连接建立WebSocket复用了HTTP的握手通道。具体指的是,客户端通过HTTP请求与WebSocket服务端协商升级协议。协议升级完成后,后续的数据交换则遵照WebSocket的协议。1.1客户端:申请协议升级首先,客户端发起协议升级请求。可以看到,采用的是标准的HTTP报文格式,且只支持GET方法。GET/HTTP/1.1Host:localhost:8080Orig...

2018-09-25 21:35:43

mongodb-副本集2

1.同步mongodb的同步使用操作日志oplog实现的。操作日志保存了每一次主节点的写操作。oplog是主节点local数据库中的一个固定集合,备份节点通过查询这个集合就可以知道需要进行复制的操作。每个备份节点都维护着自己的oplog。记录着每次从主节点复制数据的操作。每个备份节点都可以作为同步源提供给其他成员使用。...

2018-09-24 23:14:06

mongodb--副本集1

1.介绍副本集是一组服务器,其中有一个主服务器,用来处理客户端的请求。还有多个备份服务器,用于保存主服务器的数据副本。如果主服务器崩溃了,备份服务器会自动将其中一个升级为主服务器。...

2018-09-24 22:03:45

设计模式--装饰模式

装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。1.装饰模式的结构装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。装饰模式的类图如下:在装饰模式中的角色有:抽象构件(Component)角色:...

2018-09-24 10:57:19

Ngnix的基本学习-多进程和Apache的比较

1.基本的架构设计接口设计所有的模块都遵循着同样的ngx_module_t接口设计规范。Ngnix核心及其常用模块设计关系从图中可以看出,总共有四个模块。首先是配置模块,配置模块是所有模块的基础,他实现了最基本的配置项的解析功能。nginx定义了一种基础类型的模块:核心模块,模块类型是NGX_CORE_MODULE。定义核心模块的目的是使得非模块化的框架代码只关注与如何调用6个核...

2018-09-24 10:18:50

mybatis缓存机制详解

mybatis提供了缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的。1.一级缓存mybatis的一级缓存是SqlSession级别的缓存,在操作数据库的时候需要...

2018-09-22 21:33:51
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!