11 2018 档案
摘要:Thrift由Facebook开源的一个RPC框架,用来进行可扩展且跨语言的服务的开发,使得各种编程语言间无缝结合的、高效的服务。我们依据Thrift的规范 简单定义访问接口,通过Thrift编译器编译生成各种编程语言代码,实现各种语言模块之间的高效互访问,速度比Google的Protocol Bu
阅读全文
摘要:JDK环境变量配置 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_
阅读全文
摘要:简述Java中每个对象都可以用来实现一个同步的锁,这些锁被称为内置锁(Intrinsic Lock)或监视器锁(Monitor Lock)。 具体表现形式如下: 1、普通同步方法,锁的是当前实例对象 2、静态同步方法,锁的是当前Class对象 3、对于同步代码块,锁的是Synchronized括号中
阅读全文
摘要:线程安全 线程安全函数的概念比较直观,众所周知,同一进程的不同线程会共享同一主内存,线程的私有栈中只包括PC栈,操作数栈,局部变量数组和动态链接。对共享内存进行读写时,若要保证线程安全,则必须通过加锁的方式。 可重入定义 若一个程序或子程序可以“在任意时刻被中断然后操作系统调度执行另外一段代码,这段
阅读全文
摘要:<!-- Start PSA Section --> <!-- P&S box is temporary disabled(IFQ_OPS-2624) --> <!-- End PSA Section --> 原文链接:http://www.infoq.com/cn/articles/depth-i
阅读全文
摘要:常规的单向链表在进行增删改查时,只能从头结点开始遍历,时间复杂度O(N),而跳跃表采用了二分法的思想,平均时间复杂度可以做到O(logN),最坏时间复杂度O(N)。另外,跳跃表是一种基于概率的数据结构(见下文添加元素操作)。 基本结构 下图是跳跃表理想情况下的结构示意图。从图中可以看出, 每个节点包
阅读全文
摘要:数据存储格式 Kafka的高可靠性的保障来源于其健壮的副本(replication)策略。一个Topic可以分成多个Partition,而一个Partition物理上由多个Segment组成。 Segment分2部分:索引文件和数据文件。索引文件保存元数据,记录了消息在数据文件中的偏移(offset
阅读全文
摘要:1.分布式锁的由来: 在程序开发过程中不得不考虑的就是并发问题。在java中对于同一个jvm而言,jdk已经提供了lock和同步等。但是在分布式情况下,往往存在多个进程对一些资源产生竞争关系,而这些进程往往在不同的机器上,这个时候jdk中提供的已经不能满足。分布式锁顾名思义就是可以满足分布式情况下的
阅读全文
摘要:原标题:【BAT面试现场】如何判断一个数是否在40亿个整数中? 题目:我有40亿个整数,再给一个新的整数,我需要判断新的整数是否在40亿个整数中,你会怎么做? 【请教大神】 小史回到学校,把面试的情况和计算机学院的吕老师说了一下。 小史忙拉着吕老师问,为什么我说分8次加载数据,面试官会说太慢了呢?
阅读全文
摘要:#include #include #include using namespace std; #define M 4 #define N 4 #define MaxSize 100 typedef int ElemType; typedef struct { int r; int c; ElemType d; /* /元素值 */ } TupNode; ...
阅读全文