`
shixin42
  • 浏览: 54319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

vim替换

    博客分类:
  • vim
VIM中常用的替换模式总结。 1,简单替换表达式 替换命令可以在全文中用一个单词替换另一个单词: :%s/four/4/g “%” 范围前缀表示在所有行中执行替换。最后的 “g” 标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉%即可   如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “\<” 来指定匹配单词开头:        :%s/\<four/4/g 显然,这样在处理 “fourty” 的时候还是会出错。用 “\>” 来解决这个问题:   ...
1 下载zookeeper, 我用了之前的稳定版本3.3.6 可参考安装: http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html#sc_maintenance 2 解压安装, 如果是cluster安装, 最好选取奇数的server, 原因在于zookeeper的leader election的策略. 3 修改zookeeper的配置文件, 默认启动时会使用conf/zoo.cfg. http://www.ibm ...
mvn archetype:create -DgroupId=* -DartifactId=* -DpackageName=* 可以使用archetype插件来构建一个非常简单的java项目. create是archetype插件的目标. 插件和目标 mvn help:effective-pom 可以查看最顶层的pom文件, pom (project object model) maven依靠的是它自带的或者可自动下载的一系列插件, 编译源码的时候有compile插件, 打包的时候有jar插件, 测试的时候有Surefile插件. 当执行mvn package的时候, 并没有执行插件目 ...

maven plugin assembly

使用 Maven Assembly 插件的预定义装配描述符生成一个可分发的 JAR 文件的过 程,该文件包含了项目的二进制文件和所有的依赖。 Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件。 你可以使 用 Maven Assembly 插件以你希望的任何形式来装配输出,只需定义一个自定义的 装配描述符。 后面的章节我们会说明如何创建一个自定义装配描述符,为 Simple Weather 应用程序生成一个更复杂的存档文件。 本章我们将会使用预定义的 jar- with-dependencies 格式。 要配置 Maven Assembly 插件, 我们需要在 pom.x ...

hadoop log

1 user log (用户程序中的log信息, 用log4j实现的) : $HADOOP_HOME/logs/userlogs/$JOB_ID/attempt_*/syslog 2 在$HADOOP_HOME/logs目录下: hadoop-$user-datanode-$hostname.log 在$hostname这台机器上启动datanode进程的时候的日志输出, 由log4j实现 hadoop-$user-datanode-$hostname.out 在$hostname这台机器上启动datanode进程的时候的标准输出 类似的还有 hadoop-$user-namenode- ...

top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48 Tasks:  29 total,   1 running,  28 sle ...

free

下面是free的运行结果,一共有4行。为了方便说明,我们加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:     FO[2][1] = 999212     FO[3][2] = 305404                                             1                     2                  3                    4                    5                  6 1                                 ...
com.senseidb.conf.SenseiServerBuilder.buildCore()方法中开始对zoie进行实例化: 1 构建ZoieConfig实例: ZoieConfig会设置Analyzer, Similarity实例,这些基本的lucene对象可以在sensei配置文件中自定义。设置batchSize, batchDelay, maxBatthSize, rtIndexing, skipBadRecord, freshness等属性也是在sensei配置中可配的。 2. 构建SenseiZoieFactory sensei自己实现了一个默认的解释器,实现了ZoieInd ...

zoie初窥手记

zoie是linkedIn开发的基于lucene的搜索组件,主要目的是支持近实时搜索,虽然后续的lucene也提供了近实时搜索的功能,但是相比来说,zoie还是具备一些优势的。 senseidb的索引管理,近实时搜索等服务都是基于zoie的。通过阅读senseid ...
有符号int最大可以支持到约22亿,远远大于我们的需求和MySQL单表所能支持的性能上限。对于OLTP应用来说,单表的规模一般要保持在千万级别,不会达到22亿上限。如果要加大预留量,可以把主键改为改为无符号int,上限为42亿,这个预留量已经是非常的充足了。 使用bigint,会占用更大的磁盘和内存空间,内存空间毕竟有限,无效的占用会导致更多的数据换入换出,额外增加了IO的压力,对性能是不利的。 因此推荐自增主键使用int unsigned类型,但不建议使用bigint。

rabbitMQ

http://www.rabbitmq.com/getstarted.html rabbitMQ是遵循AMQP协议实现的消息服务,核心概念 producer -  消息生产者 exchange - rabbitMQ服务端的信箱,负责接受从producer发送来的消息 queue - 消息队列,同样在rabbitMQ服务端。exchange会把消息分发给queue。consumer从queue中取消息 consumer - 消费者,从queue里面读取消息 exchange类型: fanout - 把exchange接受到的message分发到所有bind到这个exchange的queue di ...
发现有三十多万的消息堆积在10的queue里没有被消费 记录一下查看问题的步骤: 1 jps 找出程序的PID 2 jstack ${PID} 查看线程dump,发现rabbitMQ的consumer worker线程block住了: "Thread-33" prio=10 tid=0x00002aaac8013000 nid=0x3264 waiting for monitor entry [0x00000000437e4000]    java.lang.Thread.State: BLOCKED (on object monitor)         at o ...

jstack

    博客分类:
  • java
Java 的线程 线程是指能独立于程序的其它部分运行的执行单元。 JAVA语言能够很好的实现多线程的程序。我们在调试程序,或者在开发后期需要做性能调优的时候,往往也需要了解当前程序正在运行的线程的状态,正在执行的操作,从而分析系统可能存在的问题。 在阅读本文之间,应对 Java线程的编程原理,同步机制有一定了解 . 产生 JAVA线程 dump JAVA 的线程 DUMP,就象当前 JAVA进程的一个快照,打印出所有线程的状态和调用堆栈,以及 Monitor的状态。在不同的操作系统下,产生线程 DUMP的方式是不同的。     ·在 windows环境中,             在 ...

java内存管理

    博客分类:
  • java
程序出现指针悬挂或者内存泄露问题的时候,使用jmap(jdk自带的工具去查看问题),并参考这篇文章进行处理,还是要在实际问题中应该啊,这里tag一下! 内存管理简介 内存管理的职责为分配内存,回收内存。 没有自动内存管理 ...

java堆栈

    博客分类:
  • java
java的堆和栈都是用来在RAM中存放数据的地方,RAM - random access memory java的栈(stack)一般都是用来存储原始数据类型的,因为这些类型的值大小和生命周期是可知的,栈的读取速度都比较快。栈的特点是任何字面值实际都只存一份,然后可以有不同的引用来指向它。 java的堆(heap)比栈要慢,是用来存取类对象的。 理解JVM的内存分配和GC主要应该了解JVM堆的数据结构和garbage collector类型。 以及如何评测我们的程序在GC上遇到了瓶颈和如何去解决。 JVM heap是分为三代的young, old, permanent young中又划分 ...
Global site tag (gtag.js) - Google Analytics