- 比特币源码分析:任务调度器的使用
姜家志
任务调度器Bitcoin进程启动后,有一个专门的线程做任务调度,这些任务根据指定的时刻,执行对应的函数:boolAppInitMain(){.......//StartthelightweighttaskschedulerthreadCScheduler::FunctionserviceLoop=boost::bind(&CScheduler::serviceQueue,&scheduler);t
- 比特币源码分析系列3---区块block数据结构
JC86
bitcoin版本:0.16.2区块结构分析区块是组成区块链的基本单位,可以通过bitcoin-cli命令查看一个区块的基本信息区块block的数据结构如下图(存储方式为小端):block数据结构整体结构数据项大小(Byte)描述BlockSize4区块大小BlockHeader80区块头信息大小Transactionsm*n(n>=250)所有交易的列表TransactionsCounter1-
- 比特币源码分析5
nit小星星
专门看一个类CMainSignalspublic:/**RegisteraCSchedulertogivecallbackswhichshouldruninthebackground(mayonlybecalledonce)*/voidRegisterBackgroundSignalScheduler(CScheduler&scheduler);/**UnregisteraCSchedulerto
- 比特币源码分析——共识模块
dounine
title:比特币源码分析——共识模块date:2021-11-0218:39:52前言分析比特币系统的共识模块,包括共识算法、交易的流程等,基于比特币开源客户端BitcoinCorev22.0版本的源码。比特币中共识算法的大体步骤如下:新交易被创建并广播到比特币网络中。每个节点接收到交易后,独立地对交易进行验证。矿工节点将新交易收集到一个区块中,并为该区块寻找工作量证明,然后将新区块广播到网络中
- 比特币源码分析2
nit小星星
SetupServerArgs();进到这个函数里面有一个重要的函数和一个重要的vectorconstautodefaultChainParams=CreateChainParams(CBaseChainParams::MAIN);这个函数加载所有主链上的配置。std::vectorhidden_args这个结构初始化了所有命令行参数CreateChainParams函数里面returnstd::
- 比特币源码分析3
nit小星星
以上贴出比特币核心配置。比如说难度值最小不能小于多少,多久时间出块等等。接着往下看其他初始化函数.if(!gArgs.ReadConfigFiles(error,true)){fprintf(stderr,"Errorreadingconfigurationfile:%s\n",error.c_str());returnfalse;}从配置文件里面读取配置信息,这也不开展了。InitLogging
- 比特币源码分析--PBFT算法
jupiterwangq
上一篇文章介绍了CFT的经典算法paxos,paxos,raft这类非拜占庭模型的共识算法比较适用于私链,但是对于公链和联盟链,因为必须要考虑集群中存在恶意节点的情况,所以需要不同的容错算法,本文要介绍的就是BFT的经典算法PBFT算法(PracticalByzantineFaultTolerance,翻译过来就是实用拜占庭容错)1PBFT介绍1.1拜占庭将军问题拜占庭将军问题最早是由Lampor
- 比特币源码分析(十一) - 加载钱包(load wallet)
yzpyzp
区块链比特币源码分析
接下来主要是分析BitcoinCore初始化中的加载钱包过程,对应的源码是src/init.cpp的AppInitMain()方法的Step8:loadwallet这部分,详见:https://github.com/bitcoin/bitcoin/blob/v0.16.1/src/init.cpp//*************************************************
- btcd源码解析 —— 签名机制(1) —— 基础知识
seafooler
区块链技术
文章目录1.写在前面2.签名流程简述2.1.签名的数目2.2.签名的对象3.签名类型介绍3.1.基本类型3.2.组合类型3.3.源码&字节码分析3.3.1.定义3.3.2.举例1.写在前面在前面的比特币源码分析中,我们有意忽略了签名机制部分的介绍。但比特币的签名机制远非我们想象的那么简单,正如这篇博客Bitcoincontracts所言:Bitcoinachieveshighflexibility
- 比特币源码分析(二十二) - 挖矿和共识
yzpyzp
区块链比特币源码分析
用最简单的术语来说,挖矿就是不断重复计算区块头的哈希值,修改一个参数(即nonce字段),直到生成的哈希值与特定的target相匹配的一个过程。1、挖矿的流程阅读源码前先参考《精通比特币》梳理一遍节点挖矿的流程:(1).构建一个空区块,称为候选区块(2).从内存池中打包交易至候选区块(3).构造区块头,填写区块头的下述字段1)填写版本号version字段2)填写父区块哈希prevhash字段3)用
- 比特币源码分析系列4---交易transaction(1)
JC86
未花费的交易输出(UTXO)大家都有转过账,每笔交易是这样的:张三账上减¥200,李四账上加¥200。在比特币区块链中,交易不是这么简单,交易实际是通过脚本来完成,以承载更多的功能个,这也是为什么比特币被称为是一种“可编程的货币”。先引入一个概念:未花费的交易输出——UTXO(UnspentTransactionOutput)比特币的交易都是基于UTXO上的,即交易的输入是之前交易未花费的输出,这
- 比特币源码分析--P2P网络初始化
weixin_34198881
区块链和AI无疑是近期业界当之无愧的两大风口。AI就不说了,区块链从17年各种数字货币被炒上了天,一下成为了人们街头巷议的焦点,本文撇开数字货币的投资不说,仅仅从技术层面来剖析一下区块链各个部分的原理。毕竟目前已经有包括BAT等巨头在内的许多公司投入到了区块链的研发,其相关的应用相信也会越来越多的落地,作为技术人员,学习一下区块链的源码,抓住这个风口是非常值得的。本系列将以比特币区块链作为学习的对
- 比特币源码分析——比特币地址生成流程
iblks
比特币区块链
简介本文参考密钥和地址,主要内容是分析生成比特币地址的代码流程。获取新地址bitcoin-cligetnewaddress通过命令bitcoin-cligetnewaddress可以得到一个新的比特币地址,其调用流程如下:bitcoin_cli.cpprpcwallet.cppwallet.cppscriptpubkeymap.cpoutputtype.cppCallRPC()getnewaddr
- 比特币源码分析--PoW和PoS共识算法
jupiterwangq
前面的两篇文章学习了非拜占庭模型的经典共识算法paxos和拜占庭模型的经典共识算法PBFT,本文学习另外两种基于概率的共识算法:工作量证明算法PoW和权益证明算法PoS。其中PoW也是比特币区块链所采用的共识算法。1PoW算法1.1PoW历史工作量证明源于经济学,是一个经济学的概念,是指为了达成某种目标而设定一个度量的方法。可以和平时工作中的绩效考核做类比:为了考核达到5星,你必须要完成leade
- 比特币源码分析--加密算法
jupiterwangq
比特币系统为了保证其安全性,用到了很多算法,包括各种加密算法以及共识算法,理解这些算法对于理解比特币的原理是至关重要的,这篇文章就来简单的总结一下比特币中用到的一些主要的算法。1Hash算法1.1hash的概念Hash对于任何一个从事计算机软件开发的同行应该是在熟悉不过了。Hash算法是指将任意长度的一串明文映射为一段长度较短的(通常长度也是固定的)二进制串,并且对于不同的明文,很难映射得到相同的
- 比特币源码分析(十九) - 交易
yzpyzp
区块链
1、交易整体结构按照《精通比特币》我们可以使用getrawtransaction和decodeawtransaction命令来检索Alice的“原始”交易,然后对其进行解码,结果如下:{"version":1,"locktime":0,"vin":[{"txid":"7957a35fe64f80d234d76d83a2a8f1a0d8149a41d81de548f0a65a8a999f6f18",
- 比特币源码分析-网络(一)
wolf4j
在梳理代码逻辑之前,首先介绍几个比较重要的结构:CMessageHeader消息头包含的内容:classCMessageHeader{public:enum{MESSAGE_START_SIZE=4,//消息开始字符串,长度4字节,就是告诉你是属于哪种消息标识,在UTF-8中无效//主类型(MAIN):0xd9b4bef9//测试网络(TESTNET):0x0709110b//回归测试(REGTE
- 比特币源码分析--P2P网络初始化
vdes
转载:https://blog.csdn.net/ztemt_sw2/article/details/80291705区块链和AI无疑是近期业界当之无愧的两大风口。AI就不说了,区块链从17年各种数字货币被炒上了天,一下成为了人们街头巷议的焦点,本文撇开数字货币的投资不说,仅仅从技术层面来剖析一下区块链各个部分的原理。毕竟目前已经有包括BAT等巨头在内的许多公司投入到了区块链的研发,其相关的应用相
- 比特币源码分析(1)---比特币的构建
freelands
bitcoin.png背景其实对于我来说,我是特别认可区块链的发展的,之前也玩过ETH,EOS,但是我还是觉得需要从根源去了解区块链,比特币作为区块链的第一次应用,那么其代码还是需要深入的研究的,所以我最近准备把区块链源码好好看看,后续的很多平台都是有比特币的影子,这样以后做平台开发或者DAPP开发能够有着更深的认识前言其实我也是去看了别人的一些建议,然后再去做的肯能会少走点弯路比特币源码研究比特
- 比特币源码分析4
nit小星星
让我们进入AppInitMain函数首先constCChainParams&chainparams=Params();返回一个CChainParams类型的指针。这个类型包含了合约相关的接口,比如说产生区块GenesisBlock然后CreatePidFile这个就是输出详细错误的文件。InitSignatureCache();初始化签名执行缓冲点进去一看是这种函数size_tnMaxCacheS
- 【比特币源码分析】————4、初始化操作&参数解析
FLy_鹏程万里
【区块链】————比特币源码研究分析
接下来就是应用程序的初始化了:应用程序初始化AppInitAppInit函数是main函数执行的最后一个过程,我们通过该函数的注释(Start)以及AppInit函数的参数为main函数中的参数可知,其代表的是整个比特币后台进程真正开始运行的入口。从上面我们可以看到,首先是定义了一个Initinterfaces的对象interfaces,从字面上理解的话是一个初始化的接口对象。对于“InitInt
- 【比特币源码分析】————2、SRC目录&初始化
FLy_鹏程万里
【区块链】————比特币源码研究分析
比特币源代码获取比特币源码下载地址:https://github.com/bitcoin从上面我们可以看到比特币源代码是使用C++来写的,那么读者应当具备一定的C++源码阅读能力哦!比特币源码结构分析源码所处位置:SRC目录内容:SRC目录细节结构参照:函数入口在进入src目录后,我的第一要事就是找到初始化函数的具体位置。想到比特币源代码是C++写的,所以首当其冲的就是找到main函数,因为比特币
- 比特币源码分析之序列化
guoguangwu
区块链比特币原理剖析
比特币的数据存储(文件或者内存数据库)都会使用到序列化、反序列化。如果自定义一些结构的话,涉及到持久化就需要在这个类中实现序列化反序列化的实现。比特币对基本类型都有序列化,比如int、std::string、uint256、vector都有实现,几乎不需要自己去添加基础类型序列化函数。比特币的序列化、反序列接口都是函数模板,第一个参数是具体的进行序列化的对象,第二个参数是序列化到哪里磁盘文件、网络
- 比特币源码分析--比特币架构
TuxedoLinux
bitcoin
比特币源码分析--比特币架构前面的一系列文章我们结合源码对比特币的主要模块进行了梳理和分析。本文我们将这些模块拼接起来,看看比特币的整体架构。比特币的整体架构图如下:(1)P2P网络层完成P2P的组网,网络连接管理,节点状态的维护,为比特币提供数据传输服务;(2)安全与共识层这一层主要向上层提供安全与数据共识服务,保证比特币中的交易数据的安全与区块链(账本)的一致性,又可以细分成三个主要模块:加密
- 比特币源码分析--加密算法
TuxedoLinux
比特币
比特币源码分析--加密算法比特币系统为了保证其安全性,用到了很多算法,包括各种加密算法以及共识算法,理解这些算法对于理解比特币的原理是至关重要的,这篇文章就来简单的总结一下比特币中用到的一些主要的算法。1Hash算法1.1hash的概念Hash对于任何一个从事计算机软件开发的同行应该是在熟悉不过了。Hash算法是指将任意长度的一串明文映射为一段长度较短的(通常长度也是固定的)二进制串,并且对于不同
- 比特币源码分析--挖矿的实现
啊拉丁的鱼
挖矿应该是近几年非常流行的一个名词了,通过前面文章的介绍我们现在已经知道了:在区块链中,所谓的挖矿其实是系统通过共识算法就“由谁来向区块链中写入区块并获取奖励”一事达成一致的过程。本文通过分析比特币源码,从技术角度来分析一下挖矿是如何实现的。1挖矿的流程 可以说,比特币就是靠挖矿来运作的,挖矿不仅保证比特币了比特币系统的安全性,同时比特币也是通过挖矿的方式来发行的,先简要概括一下挖矿流程: 当
- 比特币源码分析(五) - 初始化之SetupEnvironment() 和 noui_connect()
yzpyzp
区块链比特币源码分析
主程序的入口函数main()在bitcoind.cpp文件中:intmain(intargc,char*argv[]){SetupEnvironment();//Connectbitcoindsignalhandlersnoui_connect();return(AppInit(argc,argv)?EXIT_SUCCESS:EXIT_FAILURE);}这篇文章主要分析下SetupEnviron
- 比特币源码分析--比特币架构
jupiterwangq
前面的一系列文章我们结合源码对比特币的主要模块进行了梳理和分析。本文我们将这些模块拼接起来,看看比特币的整体架构。 比特币的整体架构图如下: (1)P2P网络层 完成P2P的组网,网络连接管理,节点状态的维护,为比特币提供数据传输服务; (2)安全与共识层 这一层主要向上层提供安全与数据共识服务,保证比特币中的交易数据的安全与区块链(账本)的一致性,又可以细分成三个
- 比特币源码分析--深入理解比特币交易
jupiterwangq
交易是比特币最重要的一块,比特币系统的其他部分都是为交易服务的。前面的章节中已经学习了各种共识算法以及比特币PoW共识的实现,本文来分析比特币中的交易相关的源码。1初识比特币交易通过比特币核心客户端的命令getrawtransaction和decoderawtransaction可以检索到比特币区块链上任意一笔交易的详细信息,以下是运行这两个命令后得到的某笔交易的详细信息,该示例摘自《精通比特币》
- 比特币源码分析--挖矿的实现
jupiterwangq
挖矿应该是近几年非常流行的一个名词了,通过前面文章的介绍我们现在已经知道了:在区块链中,所谓的挖矿其实是系统通过共识算法就“由谁来向区块链中写入区块并获取奖励”一事达成一致的过程。本文通过分析比特币源码,从技术角度来分析一下挖矿是如何实现的。1挖矿的流程可以说,比特币就是靠挖矿来运作的,挖矿不仅保证比特币了比特币系统的安全性,同时比特币也是通过挖矿的方式来发行的,先简要概括一下挖矿流程:当一个矿工
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_