图解字符串匹配之Horspool算法和Boyer-Moore算法

图解字符串匹配之Horspool算法和Boyer-Moore算法
说在前面的话 字符串匹配问题要求在一个较长的称为文本的n个字符的串中,寻找一个称为模式的给定的m个字符的串。 Horspool算法是Boyer-Moore算法的一个简化版本,都是从右到左进行比较。 Horspool算法 horspool算法将主串中匹配窗口的最后一个字符跟模式串中的最后一个字符比较。如果相等,继续从后向前对主串和模式串进行比较,直到完全相等 或者在某个字符处不匹配为止(如下图中的α与σ失配)。如果不匹...

Spring整合MyBatis配置中的问题

Spring整合MyBatis配置中的问题
最近在学习Java高并发秒杀API,项目使用SpringMVC、Spring和MyBatis框架来实现,其中必然要学习Spring与MyBatis的整合。 在spring整合mybatis单元测试中碰到如下问题: org.springframework.beans.factory.BeanCreationException:   Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring/spring-dao.xml]:   Cannot resolve reference to bean 'classpath...

class文件常量池和运行时常量池比对

class文件常量池和运行时常量池比对
在学习JVM过程中,接触到常量池这个概念,后来发现不仅仅有一个运行时常量池概念,还有一个class文件常量池概念,使得本来不懂的我更加迷惑了。要想理解,那么就得对这两者进行比较理解,加深记忆。 那么,我们先看一下JVM运行时数据区: 其中, 程序计数器(PC计数器):是JVM执行程序的流水线,存放一些跳转指令。 本地方法栈:是JVM调用操作系统方法所使用的栈。 虚拟机栈:是JVM调用Java代码所使用的...

并发编程之可见性、有序性和原子性的理解

并发编程之可见性、有序性和原子性的理解
并发处理的广泛应用使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类“压榨”计算机运算能力的最有力武器。 在学习并发编程,很多概念需要理解透彻,理解清楚。 其中有三个基本的关注点: 安全性,也就是正确性,指的是程序灾并发情况下执行的结果和预期一致 活跃性,比如死锁,活锁 性能,减少上下文切换,家少内核调用,较少一致性流量等等 安全性问题是首要解决的问题,保证程...

HDFS block自动进入安全模式(safe mode)原因及解决方案

HDFS block自动进入安全模式(safe mode)原因及解决方案
实验中碰到了如下问题: 问题描述: The number of live datanodes 3 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached。 可能原因: 因磁盘空间不足,内存不足,系统掉电等其他原因导致dataNode datablock丢失。 一般来说,这是由于系统断电,内存不足等原因导致dataNode丢失超过设置的丢失百分比,系统自动进入安全模式。 下面我将...

基于Java的BFS和DFS的简单实现

基于Java的BFS和DFS的简单实现
说在前面的话 读研期间研究的方向为社区发现,现阶段社区发现都是基于图来进行划分。所以讲复杂网络学习中的一些知识点进行笔记记录。同时,图在算法世界中的重要地位是不言而喻的,面试官问的问题中有很多的问题都可以用图的方法去解决。由此也可以看出图确实适用范围确实很广。 图的表示 邻接矩阵 ,对于N个点的图,需要N×N的矩阵表示点与点之间是否有边的存在。这种表示法的缺点是浪费空间,尤其是对于...

Java transient关键字使用详解

Java transient关键字使用详解
1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一...

Hadoop源码解析之Configuration类

Hadoop源码解析之Configuration类
说在前面的话 JDK提供了jara.util.Properties类,用于处理配置文件,它继承自Hashtable表示了一个持久的属性集,该集可保存在流中或从流中加载。属性列表中每个键及其对应值都是字符串类型。 jara.util.Properties支持使用反射来get或set值。 Hadoop没有使用java.util.Properties管理配置文件,也没有使用Apache Jakarta Commons Configuration管理配置文件,而是使用了一套独有的配置文件管理系统,并提...

从零学习Hadoop之HDFS的HA机制

从零学习Hadoop之HDFS的HA机制
Hadoop2.0.0版本之前,NameNode是HDFS集群的单点故障点,每一个集群只有一个NameNode,如果这个机器或者进程不可用,整个集群则无法使用,直到重启NameNode或者新启动一个NameNode节点。 那么,导致HDFS集群不可用的两种主要情况: 类似机器宕机,Hadoop1解决方式:重启NameNode。 计划内的软件或者硬件升级(NameNode节点),将导致集群在段时间范围内不可用。 HDFS的高可用性(High Availablity)就可...

从零学习Hadoop之Hadoop的RPC机制

从零学习Hadoop之Hadoop的RPC机制
说在前面的话 一般我们说了解的RPC(Remote Procedure Call,远程过程调用)机制都要面对两个问题: 对象调用方式; 序列/反序列化机制。 RPC架构如图所示: Hadoop自己实现了简单的RPC组件,依赖于Hadoop Writable类型的支持。 Hadoop Writable接口要求每个实现类都要确保将本类的对象正确序列化(writeObject)与反序列化(readObject)。因此,Hadoop RPC使用Java动态代理与反射实现对象的调用方式(...
Copyright © If Coding 保留所有权利.   Theme  Ality   

用户登录