`
文章列表
ZooKeeper 伪集群安装 伪集群即在一台机子上装多个zookeeper,学习测试用....   zookeeper集群至少需要3台,两台是不可以的,因为只有不少于法定仲裁(2/3)的服务器数量正常运行时,整个集群才提供服务。     1.下载 zookeeper-3.4.9.tar.gz   2.解压,并复制出三份出来,分别放在zookeeper1、zookeeper2和zookeeper3中:   3.创建数据和日志存放目录,这里就简单把数据和日志存放于各自的目录下:    4.修改配置文件,另zookeeper1、2、3分别监听2181、2182、2183端 ...
MongoDB Wire Protocol   MongoDB Wire Protocol是用于mongo客户端与服务端通信的协议,协议直接基于TCP, 建立连接无需应用层的握手 所有数据都是小端(Little-Endian)的 标准消息头 所有消息都有相同的消息头 struct MsgHeader { int32 messageLength; // total message size, including this int32 requestID; // identifier for this message int32 ...
JVM Class文件结构   每一个class文件对应于如下所示的结构体:  其中 u1,u2和u4是Class文件结构的私有数据类型,分别表示1个字节,2个字节和4个字节的无符号数   字段解释:   magic 魔数,魔数的唯一作用是确定这个文件是否为一个能被虚拟机所接受的Class文件。魔数值固定为0xCAFEBABE,不会改变。   minor_version和major_version 副版本号和主版本号,minor_version和major_version的值分别表示Class文件的副、主版本。它们共同构成了Class文件的格式版本号。譬如某个Cl ...
Linux wc命令   作用:统计字节数、字符数、行数、最长的行的长度、单词数   格式: wc [OPTION]... [FILE]... wc [OPTION]... --files0-from=F   OPTION: -c,或--bytes : 计算字节数      -m,或--chars : 计算字符数     -l 或-lines : 计算行数     -L或--max-line-length : 计算最长行的长度     -w或 --words : 计算单词数  
SOAP 协议  SOAP(Simple Object Access Protocol)是一个基于XML的、在分散或分布式环境中交换信息的简单协议   SOAP = HTTP + XML,SOAP 请求可能是 HTTP POST 或 HTTP GET 请求。HTTP POST 请求规定至少两个 HTTP 头:Content-Type 和 Content-Length。   一、消息格式   一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素: 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息 可选的Header元素,包含头部信息 ...
MySQL 时间日期类型和相关函数   一、时间日期类型 MySQL中的日期和时间类型 类型 字节 最小值 最大值 零值 DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00 DATE 4 1000-01-01 9999-12-31 0000-00-00 TIMESTAMP 4 19700101080001 2038年某时刻 00000000000000 TIME 3 -838:59:59 838:59:59 00:00:00 ...
JVM 方法的调用  方法的调用不等于方法执行,方法调用阶段的目标是确定被调用的是哪一个方法,所有方法调用中的目标方法在Class文件里面都是一个常量池中的符号引用,在类加载阶段,会将其中一部分符号引用转化为直接引用,这种解析能成立的条件是:方法在程序运行前就有一个可确定的调用版本,并且这个方法的调用版本在运行期是不可改变的。这类方法的调用称为解析。 调用方法的指令: invokestatic:Invoke a class (static) method invokespecial:Invoke instance method; special handling for superc ...
从JVM指令层面看try-catch-finally返回值问题   貌似很多人对下面的方法的返回值都比较迷糊: package cc.lixiaohui.demo; public class ReturnValueTest { public int test() { int a; try { a = 1; //int b = 1 / 0; return a; } catch (Exception e) { ...
Maven异常: Unsupported major.minor version 51.0   遇到如下异常:   这个问题是因为maven版本与jdk版本要求不一致导致的。我这里maven是3.3,jdk是1.6,而3.3要求jdk1.7以上,版本对应要求如下: 51.0对应的是1.7,调jdk版本不合理,因此换maven版本为3.2.x即可,在eclipse中:  即可 
MySQL 主从复制 环境:win10(就配置主从来说linux和windows差别不大),MySQL-5.7.16   1.首先要两个MySQL实例,我这里分别是3307,3308,其中3307作为master,3308作为slave   2.修改master实例的配置my.ini,增加两行: [mysqld] log_bin = mysql-bin server_id = 3307 #server_id 随意但必须唯一   3.修改slave实例的配置my.ini,增加两行: [mysqld] log_bin = mysql-bin server_id = ...
JVM 垃圾收集器   基本概念   Young Generation:新生代,hotspot vm中又细分为Eden和两个Survivor(from survivor和to survivor) Tenured Generation:老年代 Minor GC:只GCyoung generation。 Full GC、Major GC:一个意思,指GC整个heap,包括young generati ...
Java并发编程之线程池任务监控   当我们提交runnable或者callable<?>到ThreadPoolExecutor时,我们是无法知道这些任务是在什么时候才真正的执行的,为了实现这个需求,我们需要扩展ThreadPoolExecutor,重写beforeExecute和afterExecute,在这两个方法里分别做一些任务执行前和任务执行后的相关监控逻辑,还有个terminated方法,是在线程池关闭后回调,,另外,我们可以通过getLargestPoolSize()和getCompletedTaskCount()来分别获取线程池数的峰值和线程池已完成的任务数。 ...
JVM 栈帧  一、栈帧   栈帧(Frame)是用来存储数据和部分过程结果的数据结构,同时也被用来处理动态链接(Dynamic Linking)、方法返回值和异常分派(Dispatch Exception)。   栈帧随着方法调用而创建,随着方法结束而销毁— ...
JVM GC算法 基础概念   GC Roots:  The objects that a program can access directly are those objects which are referenced by local variables on the processor stack as well as by any static variables that refer to objects. In the context of garbage collection, these variables are called the roots 在Java语 ...
简单组合java.util.Map<K,V>实现Map<K,P,V>   java.util.Map<K,V>为单键对单值,有时需要双键对单值,因此基于Map<K,V>可以简单实现一个Map<K,P,V>。   接口定义: package cc.lixiaohui.demo.javassist.proxy.util; import java.util.Collection; import java.util.Set; /** * 两个键的复合map * <pre> * key------ ...
Global site tag (gtag.js) - Google Analytics