摘要:
在上一篇文章中记录了如何实现图的邻接表。本文借助上一篇文章实现的邻接表来表示一个有向无环图。 1,概述 图的实现与邻接表的实现最大的不同就是,图的实现需要定义一个数据结构来存储所有的顶点以及能够对图进行什么操作,而邻接表的实现重点关注的图中顶点的实现,即怎么定义JAVA类来表示顶点,以及能够对顶点进 阅读全文
摘要:
1,摘要: 本系列文章主要学习如何使用JAVA语言以邻接表的方式实现了数据结构 图(Graph),这是第一篇文章,学习如何用JAVA来表示图的顶点。从数据的表示方法来说,有二种表示图的方式:一种是邻接矩阵,其实是一个二维数组;一种是邻接表,其实是一个顶点表,每个顶点又拥有一个边列表。下图是图的邻接表 阅读全文
摘要:
一,目的 在学习的过程中,需要用到 PDI 一个开源的ETL软件。主要是用它来设计一些转换流程来处理数据。但是,在PDI中设计好的 transformation 是在本地的执行引擎中执行的,(参考源码中的 Trans.java ),现可以对DI加以改造:在DI中设计的转换,将之转换成Storm的To 阅读全文
摘要:
1,一致性协议两阶段提交协议与Raft协议、Paxos协议①两阶段提交协议在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并... 阅读全文
摘要:
1,中缀表达式的定义及为什么要将中缀表达式转换为后缀表达式?中缀表达式(中缀记法)中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间。中缀表达式是人们常用的算术表示方法。虽然人的大脑很容易理解与分析中缀表达式,但对计算机来说中缀表达式却是很复杂的,因此计算表达式的值时,通... 阅读全文
摘要:
1,括号匹配是指在某个字符串中,左括号出现的顺序及个数与右括号保持一致。如:{ [ ( ) ] } ----匹配 { [ ] } ----匹配 { ( } ) ---不匹配①{ [ ( ) ] -----不匹配② { [ ] } ) ----不匹配③不匹配一共有如上三种情况:①左右对应的括号不匹配... 阅读全文
摘要:
1,对于待存储的海量数据,如何将它们分配到各个机器中去? 数据分片与路由 当数据量很大时,通过改善单机硬件资源的纵向扩充方式来存储数据变得越来越不适用,而通过增加机器数目来获得水平横向扩展的方式则越来越流行。因此,就有个问题,如何将这些海量的数据分配到各个机器中?数据分布到各个机器存储之后,又如何进 阅读全文
摘要:
0,服务接口定义---Echo.java/* * 定义了服务器提供的服务类型 */public interface Echo { public String echo(String string);}一,客户端代码分析--实现类:MainClient.java客户端实现包括:获得一个代理对象,... 阅读全文
摘要:
打算用JAVA实现一个简单的RPC框架,看完RPC参考代码之后,感觉RPC的实现主要用到了两个方面的JAVA知识:网络通信和动态代理。因此,先补补动态代理的知识。---多看看代码中写的注释参考:Java 代理模式与动态代理类 java的动态代理机制详解在动态代理中,首先定义一个接口,这个接口中声明的... 阅读全文
摘要:
假设有原始链表:1->2->3 对原始链表反转,生成的反转链表是:3->2->1 反转链表的思路是:在链表的**表头**不停地插入“原始链表”中的元素,从而生成反转链表。 在表头插入元素1,生成的反转链表是:1 在**表头**插入元素2,生成的反转链表是:2->1 在表头插入元素3,生成的反转链表是 阅读全文