`
文章列表
性质1.节点是红色或黑色。 性质2.根节点是黑色。 性质3.每个叶子节点都是黑色的空节点(NIL节点)。 性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 性质5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。 这些约束强制了红黑树的关键性质: 从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。结果是这个树大致上是平衡的。因为操作比如插入、删除和查找某个值的最坏情况时间都要求与树的高度成比例,这个在高度上的理论上限允许红黑树在最坏情况下都是高效的,而不同于普通的二叉查找树。 旋转和颜色变化规则 1、添加的节点必须为红 ...
mysql中优化sql语句查询的30种方法: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 4.应尽量避免在 ...
钱多,富有梦想的公司,阿里招人招人招人啦 [b]简历请email给我,email :liugen.lilg@alibaba-inc.com 岗位描述: 1.主导业务、技术改造类项目的系统分析、设计工作,承担核心功能、公共核心模块的代码编写。确保项目进度和质量。 2.主导团队开发人员code review工作,并能提供性能优化、安全性建议。 3.参与系统架构设计、接口规范制定、技术文档编写等。 4.针对新人、普通开发人员进行有效辅导,帮助其快速成长。 岗位要求: 1、本科或以上学历,计算机软件或相关专业; 2、精通Web编程,4年以上使用Java语言进行web开发的经验,熟悉html,jav ...
几个必读的帖子: JVM调优的"标准参数"的各种陷阱:http://hllvm.group.iteye.com/group/topic/27945 Java Crash分析:http://www.slideshare.net/RednaxelaFX/java-crash jstat显示的full GC次数与CMS周期的关系:http://rednaxelafx.iteye.com/blog/1108768 检查Java进程的CPU占用率高的问题的例子:https://gist.github.com/1081908 jinfo工具的使用例子:http://rednaxela ...
注意分析 heap profile 文件 1 运行应用程序(使用jre版本为1.6以上) 2 命令行执行             jmap -dump:format=b,file=/tmp/mem4.hprof <pid>    其中/tmp/mem4.hprof   是dump出来的内存映像发文件,可以取任何后缀的名字。 例子: sudo -u admin /opt/taobao/install/jdk-1.6.0_32/bin/jmap  -dump:format=b,file=/tmp/mem4.hprof  32191 3 使用eclipse 的MAT分析/tm ...
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** *//** * Callable 和 Future接口 * Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。 * Callable和 ...
concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,其他的任务执行完自己的任务后调用同一个CountDownLatch对象上的countDown()方法,这个调用await()方法的任务将一直阻塞等待,直到这个Count ...

logstash 安装

http://logstash.net/docs/1.1.0/tutorials/getting-started-simple http://blog.sina.com.cn/s/blog_51103a35010104a7.html wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm sudo -i rpm -Uvh epel-release-5-4.noarch.rpm yum install erlang rpm --import http://www.rabbitmq.com/r ...

Hdfs-site.xml

Hdfs-site.xml   //指定name镜像文件存放目录,如不指定则    //默认为core-site中配置的tmp目录    <property>        <name>dfs.name.dir</name>        <value>/usr/local/hadoop/hdfs/name</value>    </property>       //数据节点冗余备份的数量,由于实验只有2个 // NN顾设置唯一,实际配置是可由实际情况 //配置,建议尽量大于3    <property> ...

hbase java编程实例

HBase提供了java api来对HBase进行一系列的管理涉及到对表的管理、数据的操作等。常用的API操作有:   1、  对表的创建、删除、显示以及修改等,可以用HBaseAdmin,一旦创建了表,那么可以通过HTable的实例来访问表,每次可以往表里增加数据。   2、  插入数据     创建一个Put对象,在这个Put对象里可以指定要给哪个列增加数据,以及当前的时间戳等值,然后通过调用HTable.put(Put)来提交操作,子猴在这里提请注意的是:在创建Put对象的时候,你必须指定一个行(Row)值,在构造Put对象的时候作为参数传入。   3、  获取数据     要获取数据,使 ...
用Explain分析SQL语句的时候,经常发现有的语句在Extra列会出现Using filesort,根据mysql官方文档对他的描述: 引用 MySQL must do an extra pass to find out how to retrieve the rows in sorted order. The sort is done by going through all rows according to the join type and storing the sort key and pointer to the row for all rows that match the ...
group by       在select 语句中可以使用group by 子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle ...
     Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。   可以将native方法比作Java程序同C程序的接口,其实现步骤:   1、在Java中声明native()方法,然后编译;   2、用javah产生一个.h文件;   3、写一个.cpp文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);   4、将第三步的.cpp文件编译成动态链接库文件;   5、在Java ...
转载:http://happyjin2010.iteye.com/blog/1073195 先看ArrayList源码中数组复制的代码:    其实ArrayList 就是一个数组的形式存放数据的. 没有高深的地方.他的性能在于他的索引能力, 正因为他是数组形式,所以索引元素的时候他表现得非 ...

java 线程 整理

1,简述 synchronized 和 java.util.concurrent.locks.Lock 的异同? 答: 主要相同点: Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工 ...
Global site tag (gtag.js) - Google Analytics