- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 Java文件I/O详解
Java文件I/O详解1. 简介在Java中,文件的I/O大致分为了三类:1)普通IO,存在于java.io包中,分为面向字符和字节两种;2)文件通道FileChannel,存在于 java.nio 包中,属于 NIO 的一种,但是是阻塞的;2)MMap内存映射,由FileChannel调用map方法产生的特殊的读写方式2. 普通I/O在Java类库中,对于流的处理方向分为了输入和输出两种类型,每种方向又分为了面向字符和字节两种类型:继承自InputStream和Reader都有read()方法
2020-05-08 20:10:33
693
1
原创 MySQL replication 演进
MySQL replication 演进MySQL 5.5 半同步的复制简介主库在执行完客户端提交的事务之后不立即返回,等待至少一个从库接收并且写入到relay log中才返回客户端,提高了数据的安全性,但是造成了一定程度的延迟,降低了数据库的性能其他同步概念异步复制:MySQL默认复制方式,主库在执行完操作后立即返回,而不关心从库是否已经接受、处理,可能造成数据不一致全同步复制:...
2020-05-05 16:50:05
521
原创 深入了解MySQL replication
深入了解MySQL replication1. 简介本文主要讲解MySQL的replication协议的过程和如何通过伪造客户端与Server通信,获取Binlog日志以及部分重点日志的解析,并对比了不同Binlog类型的优缺点2. Replication过程2.1 复制方案MySQL的Master主服务器将数据的改动记录到本地的Binlog中MySQL的Slave从服务器中的I/O...
2020-04-29 17:46:36
495
原创 Zebra源码分析-GroupDataSource
Zebra源码分析-GroupDataSource1 简介GroupDataSource是读写分离数据源,由多个SingleDataSource组成,其中有一个主库,用于写操作和一部分指定得读操作;多个从库之间使用负载均衡策略,根据不同的权重来路由请求,同时系统还是地理信息感知的,通过配置地理信息来更高效和灵活的路由请求2. 配置文件2.1 数据源配置在使用读写分离的数据源的时候,需要在...
2020-04-23 17:27:30
1489
原创 Zebra源码分析-SingleDataSource
Zebra源码分析-SingleDataSource1. 简介1.1 层级结构1.2 内部结构2. 使用示例2.1 直接使用JDBC2.2 结合MyBatis以及Spring3.源码分析3.1 SingleDataSource初始化流程3.2 SingleConnection获取及销毁3.3 SingleStatement执行Zebra源码分析-S...
2020-04-09 20:39:55
1049
原创 zebra源码分析-导读
zebra源码分析-导读客户端架构JDBC核心部分介绍代码流程数据源Statement参考zebra源码分析-导读zebra是一个基于JDBCAPI协议上开发出的高可用、高性能的数据库访问层解决方案,提供动态配置,基于CAT的的完善监控,读写分离,分库分表等功能,向上支持JDBC以及MyBatis等。另外本篇文章也是知识扫盲,整理一些关于JDBC应该知道的东西...
2020-04-07 21:50:58
1728
原创 MySQL简明介绍
MySQL简明介绍数据存储在innodb中,表都是按照主键的顺序存放的,被称为索引组织表,每张表都有一个主键,如果没有显式得指明:表中若有非空唯一索引,则它为主键否则,引擎自动创建6个字节大小的指针作为主键所有的数据都被存放在逻辑的表空间(tablespace),表又是由段(segment),区(extent),页(page)组成段segment常见的分为数据段,索引段,回滚段等...
2020-03-27 15:08:24
308
原创 Spring-AOP学习
Spring-AOP学习通过java的代理模式将系统性的服务和业务代码剥离,对特定的代码进行增强处理java代理代理模式是一种设计模式,通过代理访问目标对象并执行相应的方法,可以在目标对象实现的基础上,增加额外的功能动作,实现功能的增强静态代理例如有一个IUserDao的接口,并且拥有Save()方法,并且有一个UserDao的类实现了这个接口public interface IU...
2020-03-09 23:25:40
137
原创 Spring-MVC学习(整合SSM框架DEMO)
Spring MVC学习笔记整合Spring,Spring MVC ,MyBatis这三个框架的组合能够以标准的MVC的程序架构开发web项目,整个系统分成View层,Controller层,Service层,Dao层,使用SpringMVC进行请求的拦截和转发以及视图的管理,使用MyBatis处理数据的持久化。登录注册的demo使用前后端分离的思想,前端使用ajax进行数据的通信,后端...
2020-02-17 19:43:35
316
原创 基于腾讯云对象存储的网盘系统
VDSK-基于腾讯云的自建存储系统基本功能登录,注册等身份校验上传,删除,重命名文件,支持秒传功能(前端校验MD5值)支持在线预览,解压缩基于ElasticSearch实现全文检索功能整体架构如图所示,所有的数据最终都会落到腾讯云的对象存储中,本地文件服务器会保存文件到用户的映射,分布式搜索服务会通过云存储下载文件,建立索引,文件预览模块也会从云存储中拉取文件,转...
2019-12-29 19:07:33
1412
原创 groupcache源码解析
简介groupcache是一个分布式kv缓存的library,能够实现对数据的set、get,而不能进行update和delete操作。groupcache采用的是P2P的架构,所有的节点都是同构的。当客户端程序查找某个值时,groupcache先在本地的cache中进行查找,如果不存在,则通过一致性哈希寻找该key-value所在的peer的地址,如果都不存在则从数据源(数据库)拉取。cach...
2018-10-06 14:43:49
701
原创 剑指Offer——链表
链表 链表是一种动态的数据结构,当需要插入一个节点的时候,我们只需要为新创建的节点分配内存空间,将当前节点的next指向新创建的节点,并没有闲置的内存空间。例题解答本文中所有的链表的定义如下:struct ListNode{ int val; ListNode *next; ListNode(int v):val(v),next(nullptr){}...
2018-08-20 10:37:39
616
原创 考勤签到小程序
效果图功能创建活动可以添加活动名称、简介等信息地点选择时有搜索建议并能够在地图上标注签到方式选择包括:照片(上传活动照片)、地点(在活动地点附近500米内)、人脸(本人签到)活动搜索通过数据库的模糊搜索简单实现——每输入一个字都进行查询点击结果列表可以查看活动详情活动管理根据当前日期分成两个Tab:正在进行中、已结束点击可以进入活动详情...
2018-03-31 21:01:57
19050
13
原创 MIT6.824-lec1 MapReduce
最近读了一下经典的MapReduce这篇论文,大概的了解了一下整个模型的处理流程和用户的编程的方法,以及处理过程的优化和差错处理,下面我来谈谈我对论文的理解。网上有的更多的是使用MapReduce,而我着重对原理的理解。 并且,我也跟着MIT6.824的实验实验了一个简单的MapReduce模型,采用多线程来模拟分布式,最终实现了词频统计和倒排序索引编程模型整个mapreduce分成两个部分,包括
2017-11-01 15:39:15
594
原创 MIT6.824-lab2 raft
Raft- Part A本次的实验为MIT6.824 Distribute System 中 Lab2 raft part A,通过课程所给的代码的骨架,要求实验raft中选举部分的功能。由于我的水平较渣,觉得课程的难度较大,与其说是实验比如说是对Github上的大神的代码进行理解,并结合论文进行思考。希望有朝一日能够自己做出一个实验啊!
2017-10-22 21:25:23
1892
原创 Longest Substring Without Repeating Characters
Longest Substring Without Repeating Characters
2017-03-02 20:43:29
378
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人