自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Road_的专栏

Road_的潜行之路

  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 三、Neo4j 源码研究系列 - 持久化

持久存储获取的四种 device states 是什么?持久存储获取的四种device states 分别是纯内存、内存、基于磁盘和基于提交。纯内存存储(Pure in-memory storage): 这可能提供最少的持久性。内存存储(In-memory storage): 这需要定期快照以保持持久性。基于磁盘的存储(Disk-based storag): 这会触发就地更新写操作。基于提交的存储(Commitlog-based storage): 这包括所有传统的OLTP数据库。

2023-05-14 21:11:24 622 1

原创 二、Neo4j源码研究系列 - 单步调试

上一篇我们已经把了neo4j的源码准备以及打包流程完成了,本篇将讲解如何对neo4j进行单步调试。对于不了解如何编译打包neo4j的读者,请阅读《一、Neo4j源码研究系列 - 源代码准备》。大纲: 本篇内容会先介绍neo4j的代码模块,这样大家对neo4j的整体结构有一个初步的了解。后续介绍其服务的入口类,以及单步调试的方式,由于neo4j整个项目涉及的模块多且庞大,所以我们本次主要学习其bolt模块的使用内容,后续模块会慢慢介绍。问:首先bolt是什么?答: Bolt 是一种应用协议,通过数据库查询语言

2023-03-10 14:26:33 1286 4

原创 一、Neo4j源码研究系列 - 源代码准备

为什么要研究neo4j呢?neo4j可以说是目前较为主流的数据库,其产品的健壮性和成熟、以及其相关社区活跃程度是其他图数据库不能比拟的,并且它作为开源数据库具有极高的研究价值。可能部分读者对"图是什么"可能都不清楚,你这样查阅。该过程需要下载非常长的时间,所以建议晚上进行clone,尝试了各种替换github链接的方式都不行,只能老老实实等着了。如果你使用的是Linux-like的系统,那么需要在编译之前设置。该篇内容,其他废话不多说,让我进入今天的主题吧。

2022-08-23 00:19:02 1866 8

原创 PageRank的原理和实现

PageRank (PR) 是谷歌搜索引擎对搜索网页结果进行排名的一种算法。它是以“网页”和联合创始人拉里 · 佩奇的名字命名的。网页排名是衡量网页重要性的一种方法。页面排名算法(PageRank)用来衡量每个点相对于其它点的影响程度 。该算法根据某点被指向的数量,及指向点的重要程度来计算图中每个点的重要性。该算法通常使用在搜索引擎的页面排名中,一个页面的“得票数”由所有指向它的页面的重要性来决定。用户的浏览操作相当于PageRank的迭代操作,用户浏览该页面的概率我们称为damping ,不再往下浏览的概

2022-07-14 00:09:02 4203 4

原创 掉了几根头发,终于学会了-图遍历-DFS和BFS

一、综述图搜索算法是遍历图中每个节点的过程。我们根据其节点访问的顺序对其进行分类。下面我们将会介绍 广度优先遍历(Breadth-first Search 简称 bfs)、深度优先遍历(Depth-first Search 简称 dfs) 。这两个算法是图遍历的基础,也常用于数据的初步探索并且后续很多图寻路算法(Pathfinding Algorithm)都是基于此基础进行实现。二、广度优先遍历3.1 简介遍历图算法BFS 是最常用的方法。BFS 是一种遍历算法,选定一个节点(源或起始节点)开始

2022-02-13 21:17:53 449 13

原创 什么是图?

什么是图、图是什么定义: 图是由若干的顶点(即点或节点)及连接两顶点的边(或线或关系)所构成的图形。图论和图之间是什么关系。图有那些分类,图的发展历史,图的场景,什么是图算法,图的作用。小世界结构,无标度结构,随机结构,有环图,有向图 图的拓扑结构分类。数据库的发展趋势。图算法的分类以及常用图算法

2021-12-21 22:17:24 6849 7

原创 分布式事务原子性-TCC

在分布式系统中,分布式事务是指跨越多个独立的计算机或服务节点的一系列操作。这些操作必须以原子性进行,要么全部执行成功,要么全部回滚,保持数据的一致性和完整性。原子性是分布式事务的关键特性之一,它确保了事务的不可分割性和一致性。具体来说,原子性要求一个事务中的所有操作要么都成功地被提交,要么都被完全撤销。让我看一下。

2023-08-13 17:17:19 307

原创 分布式数据库-事务一致性

分布式数据库的“强一致性”应该包含两个方面:serializability(串行) and linearizability(线性一致),上述图为论文中对于一致性模型的介绍。图中箭头表示一致性模型之间的关系。对于异步网络上的分布式系统,颜色表示每个模型的可用性。本次内容主要围绕“serializability”介绍,从左侧图从我们应该看出了事务的隔离级别,下面我们就从事务入手开始本篇内容。讲到事务想到的就是“ACID”和“BASA”理论,在NoSQL数据库中base理论应该是比较经典的。

2023-06-06 23:06:24 574

原创 分布式-CAP定理

在分布式学习中,我们经常遇到一个概念便是CAP,它是分布式很重要的理论基础。很多分布式算法也是在不断的在解决相关问题,今天就让我们重新学习或者回顾一下这个知识点吧,加深印象打牢基础。一、简介CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),由计算机科学家 Eric Brewer 在 2000 年分布式计算原理研讨会上提出。这三个值指的是分布式系统的中,一致性 (Consistency),可用性 (Availability),P代表分区容错性 (Pa

2022-05-08 16:37:57 1123 3

原创 分布式算法-Paxos

分布式算法-Paxos最近工作中遇到了分布式相关的问题,由于我们业务场景的要求,需要我们实现强一致性并且目前采用了CAP协议,满足CP舍弃了A。下面就让我们一起学习一下这个大名鼎鼎的Paxos算法吧。这个是分布式算法高频的面试考点哦。一、简介Paxos算法是Leslie Lamport在1990年提出的一种基于消息传递且具有高度容错特性的共识(consensus)算法。它是一组协议,用于在不可靠或易出错的处理器组成的网络中解决一致性问题。协商一致意见是一组与会者就一项结果达成一致意见的过程。

2022-05-04 13:34:07 1011 2

原创 Linux使用Fio测试磁盘性能

一、简介Fio 由 Jens Axboe < Axboe@kernel.dk > 编写,用于灵活地测试 Linux i/o 子系统和调度器。作者厌倦了编写特定的测试应用程序来对磁盘的工作负载性能进行测试,并发现现有的 i/o 基准测试/测试工具不够灵活,无法完成他想要的任务,故自己实现了Fio。Fio 是一个免费的开源工具,可用于基准测试和硬件验证,是IOPS的非常好用的工具,它还支持许多发行版,例如 Linux、OpenBSD、OpenSolaris、HP-UX、Android 和 Win

2022-04-17 20:36:28 6548 10

原创 你真的,看的懂垃圾收集日志吗?

一、介绍为什么我们需要学习垃圾收集器的日志信息呢?1.要诊断任何内存问题,垃圾收集日志文件是最好的开始位置2.其包含了什么时候运行获取GC 信息?当运行完整的 GC 进程时,发生了多少次gc 和 Full gC ,间隔是多少?运行 GC 进程之后,在 Young、 Old 和 Permanent 代中回收了多少内存?GC 运行了多久?每一代分配的内存总量是多少?3.因为JVM的GC状态能在很大程度上衡量JVM是否健康,在相同条件下能否持续稳定运行。G1和CMS在日志上会有些许的区别,由于平时

2022-04-15 19:23:27 610 5

原创 设计模式-原型模式

设计模式-原型模式一、什么是原型模式?面试场景模拟面试官: 你知道那些Spring的设计模式?面试者: 工厂模式、原型模式、单例模式等等..面试官: 小伙子不错,那你讲讲原型模式吧,毕竟这个实际生产我们用的很多。面试者(心想): 有毒,不安常理出牌,这么简单有什么讲的....。 面试者: 让我想想..基于面向“面试”编程,今天就让我们了解以下原型模式吧。1.1 介绍原型模式是一种创建型设计模式,能够复制已有对象, 而又无需使代码依赖它们所属的类。使用这种方式创建新的对

2022-03-26 22:46:27 236 2

原创 设计模式-单例模式

设计模式-单例模式单例模式我们日常开发中应该使用的,非常多,而且在很多第三方框架中可以看到它的身影。那么今天就让我们来学习单例模式吧。一、什么是单例模式?1.1 介绍单例模式是一种创建型设计模式, 能够保证一个类只有一个实例,并提供一个访问它的全局访问点。该模式有三个基本要点:1.该类只能有一个实例;2.该类必须自行创建这个实例;3.该类必须自行向整个系统提供这个实例。我们知道普通构造函数无法实现上述行为, 因为构造函数的设计决定了它必须总是返回一个新对象。那

2022-03-24 21:31:36 902 8

原创 Garbage-First (G1) 收集器

一、G1收集器简述Garbage First 简称(G1) 收集器是一款面向服务端应用的垃圾收集器,从 JDK9 开始也是服务端模式下的默认垃圾收集器。它可以说是垃圾收集器发展中一个重要的里程碑,因为它提出了面向局部收集的设计思想和基于Region的内存布局形式。在JDK 7刚刚确立项目目标时,其实就已经把G1作为一个重要的进化特征,直到JDK7 Update 4,Oracle才认为其够商业的使用,到JDK8Update 40的时候,G1提供了并发类卸载功能,完成了计划的全部功能。此后的JDK版本才被O

2022-02-02 02:13:50 441 4

原创 Linux性能排查工具——vmstat

Linux性能排查工具——vmstat一、描述: vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、IO读写、CPU活动等进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析, 但是用户可以通过指定一个采样周期来实时观察系统活动。该命令可以帮助您识别性能瓶颈并诊断系统中的问题。DESCRIPTION Reports information about processes,...

2022-01-27 23:13:25 1062 4

原创 请说一下:垃圾收集算法

一、引文在“为什么会有分代收集器算法“一篇中,我们了解了Java堆为什么划分成新生代和后年代。这时面试官就会说:小伙子可以啊,那你介绍一下垃圾收集算法吧。好,那就让我们进入今天的主题吧,垃圾收集算法。垃圾收集算法主要为三大类:标记-清除、标记-复制、标记-整理。每个算法都有各自的特性以及优缺点。二、标记-清除算法介绍:“标记-清除”(Mark-Sweep)是最早出现也是最基础的垃圾收集算法, 后续很多算法在其基础上做了衍生。该算法被分为两个阶段:“标记”和“清除”,这个大家看其名字也

2022-01-25 01:22:29 436 7

原创 为什么会有分代收集器算法?

当一个对象无法从其正在运行的进程的任意对象引用到它时,我们将其认为是垃圾,Virtual Machine将会重用这款内存。从理论上说最简单的垃圾收集器算法就是每次运行时遍历整个堆,存活下来的对象我们就认为时垃圾,但是可想而知这种方式性能差,花费的时间和对象数量成正比。那我们该怎么解决这个问题呢?下面引出我们的主题, 分代收集器(Generational Collection)。以下为一个对象存活的经典布局(Typical Distribution for Life...

2022-01-23 17:27:02 360

原创 你不知的图数据库-Neo4j

neo4j的底层存储结构,什么是原生图数据库,原生图数据库的原生图处理和图存储存储。什么是免索引邻接。neo4j的底层存储形式是怎么样的?它的点文件怎么存储,边文件怎么存储。具有那些优缺点

2021-12-26 18:52:49 1487

原创 Android开发模式之--MVP设计模式一

Android-Mvp设计模式一

2016-12-24 10:31:18 656

原创 ReactNative之TextInput

TextInput是一个允许用户在应用中通过键盘输入文本的基本组件。***如何要对TextInput设置边框则multiline属性要为true.1.onChangeText       当TextInput内容发生变化是触发(最为常用)2.onFocus         当TextInput获取焦点时触发3.keyboardType       弹出为何种输入的软键盘类型

2016-08-18 19:25:39 566

原创 ReactNative环境配置

接触RN有一段时间的了,但是现在电脑换掉了,所以从新进行配置一下,这段时间坚持每日已更新吧。争取早日学会RN!!!本人现有环境windows10+已有Android的相关环境1.C++环境安装 本人安装了VS20132.git的安装3.node.js的安装(选择windows)以上软件基本安装成功在git-cmd.exe 中执行npm config set regi

2016-07-23 15:43:39 282

原创 Android正则

Android正则用法小结

2016-05-21 08:53:52 340

原创 Fragment加Viewpager的使用小结

对之前做的一些东西进行小结。希望下次能够更加熟悉

2016-05-04 21:59:23 1167

原创 Json数组的解析--android

android数据json梳理,晚点会把他写出一个工具类,方便下面的项目需要!

2016-04-27 22:23:29 552

原创 Waiting for Change

当你的才华还撑不起你的野心时,就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来历练。梦想不是浮躁,而是沉淀和积累!!!

2016-04-22 21:07:12 569

原创 C语言qsort的三种使用

ACM的一些知识整理,太久没写手有点生疏。现在开始梳理一下

2016-04-21 19:00:25 411

Unity圣典中文用户手册

Unity圣典中文用户手册(想要的拿走)

2015-08-19

Android http 异步加载图文

通过Http协议从服务器下载图文数据 加载到ListView当中,包含服务端的代码。

2015-05-27

C#坦克大战

坦克大战基于C#的实施,可进行双人 但是事件有一个控制,可自行修改

2015-01-06

C#网络通信_基于Socket的聊天室

可进行广播,和对点聊天(包含服务器和客户端)

2015-01-06

Android开发精典案例60

Android开发精典案例60个项目,初学入门必备--初学的拿走

2014-08-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除