`
冰糖葫芦
  • 浏览: 293861 次
社区版块
存档分类
最新评论
文章列表
写在之前 1.自定义实现采用数组作为内部数据结构 2.内部数组通过grow方法进行扩容,每次只是简单的扩展为原来的2倍 3.集中实现方式的主要区别在于siftDown方法 4.以下给出关键代码,更多详细信息请看附件源码   实现方式一(递归实现) 关键代码: @Override protected void siftDown(int index) { int len = totalCount - 1; int left = left(index); int right = right(index) ...
小数金额转换(精确到分) A.包含功能: 1.支持任意大小的金额 2.支持整形、小数金额转换 3.支持负数转换 4.支持以+开头的数,如+100 5.支持前缀0转换,如-000001、000001等 6.支持逗号去除,如100,000 转为 100000后转换为大写金额 ...
环境 1.机器型号:MacBook Pro (Retina, 15-inch, Mid 2015) 2.CPU型号:2.5 GHz Intel Core i7 3.操作系统:macOS 10.12.5 (16F73) 4.内核版本:Darwin 16.6.0 5.JDK版本:java version "1.8.0_101"(重要,jdk版本不同hsdis库可能要重新编译)     相关源码 1.jdk8地址:http://hg.openjdk.java.net/jdk8/jdk8 2.JITWatch源码:https://github.com/Adop ...
若可以使用表分区,应首选表分区而不是使用merge来分表。 1.也叫MRG_MyISAM,merge引擎使用示例: 2.目前(2015-11-05)merge引擎所关联的表只能是MyISAM引擎,不能是Innodb引擎 3.在merge table上是用drop table时只是影响的merge table并不影响被关联表如(t1,t2) 4.创建merge表必须要有UNION=(list-of-tables)语句  insert_method为可选参数,取值为last,first,no  其中last为插入到union中的最后一张表,first为插入到第一张表,no表示mer ...
1.解压 tar -xvf nutcracker-0.4.1.tar.gz  2.安装 yum install -y libtool cd nutcracker-0.4.1 ./configure make make install  3.配置文件 cp /home/test/nutcracker-0.4.1/conf/nutcracker.yml /etc/twemproxy/  4.启动: /usr/local/sbin/nutcracker -d -c /etc/twemproxy/nutcracker.yml -p /var/run/redisp ...
RDB 1.按特定的时间间隔来为数据集做快照 2.每次持久化都是将全量数据写入,而不是增量 3.每次写入时先将数据写入临时文件再替换掉原来的rdb文件 优点: 1.RDB是一个单独的文件,方便备份以及灾难恢复 2.写数据的模式为parent进 ...
2017-02-13T13:08:44.032+0800: 70058.910: [GC (Allocation Failure) 2017-02-13T13:08:44.033+0800: 70058.910: [ParNew: 5565156K->90568K(5662336K), 0.1661369 secs] 8129600K->3164530K(13002368K), 0.1663049 secs] [Times: user=0.61 sys=0.00, real=0.16 secs] 年轻代垃圾回收。年轻代的容量为5662336K,通过本次回收,年轻代使用量从5565 ...
声明:本文中所将的spark内存模型是1.6+的版本,新的内存模型会在新的文章中讲到。   不久前我在StackOverflow上回答了一系列关于Apache Spark架构相关的问题。这似乎是由于网上缺乏好的Spark整体架构的文章。甚至是官网指导中 ...
目前在媒体上有很大的关于Apache Spark框架的声音,渐渐的它成为了大数据领域的下一个大的东西。证明这件事的最简单的方式就是看google的趋势图:   上图展示的过去两年Hadoop和Spark的趋势。Spark在终端用户之间变得越来越受欢迎,而且这些用户经常在网上找Spark相关资料。这给了Spark起了很大的宣传作用;同时围绕着它的也有误区和思维错误,而且很多人还把这些误区作为银弹,认为它可以解决他们的问题并提供比Hadoop好100倍的性能。 这篇文章将为希望在自己系统接入Spark的技术员们讲解大家对它的一些主要误区。我要说的是这些误区主要是源于市场上一些专家的谣传和过 ...
我经常会从客户或者网上听到这个问题,尤其是最近几年。那么关于spark哪些被我们神化了,哪些又是真实的,以及它在“大数据”的生态系统中又是怎样的? 说实话,其实我把这个问题作为标题是有问题的,但是我们经常 ...
生产环境: solr4.7.2 jdk1.6 lucene4.7.2 mmseg4j-core-1.10 (https://github.com/chenlb/mmseg4j-core.git) mmseg-solr-2.0 (https://github.com/chenlb/mmseg4j-solr.git) pinyin4j-2.5.0 pinyinAnalyzer (https://github.com/liangbaolin/pinyinAnalyzer.git) 说明: 由于mmseg4j本身对max-word模式下分词做了最小只能是2个词的限制,而作者又没有 ...
如果我们曾经在IO密集型应用中碰到过性能问题,那么我们可能都知道系统的性能会随磁盘压力增加而降低。这个因素是众所周知的,但是其背后的原因可能就不那么清晰了。本文将尝试解释这个过程背后所发生的事情。 一 个 ...
当学习java NIO和IO API时,大脑中会很快涌现一个问题: 什么时候用IO?什么时候用NIO? 这篇文章作者将尝试阐明Java NIO和IO之间的一些区别、它们的用例、它们各自是如何影响我们的代码设计的。 Java NIO和IO的主要区别 以下表格简要说明了NIO和IO的区别,接着我们将详细说明表格中的每个不同点。 IO NIO 流式(Stream oriented) 缓冲式(Buffer oriented) 阻塞IO 非阻塞IO
什么是桥接模式? 桥接模式有助于将抽象从实现中解耦。这样如果实现发生变化但是不会影响到抽象,反之亦然。如图“抽象和实现”所示,开关为抽象层,电子设备是实现;而开关可以被任何电子设备实现,因此开关是一种抽象思维而设备是实现。 图1:抽象和实现 下面我们编写开关和设备例子的代码。首先要做的事情是将实现和抽象分开到两个类总。图“实现”展示了‘IEquipment’接口,该接口包含‘Start()’和‘Stop()’两个方法。我们实现了两个设备,一个是冰箱,另一个是电灯泡。 图2:实现 第二部分是抽象。这个例子中的抽象部分是开关,它有一个‘SetEquipment’方法来设置对象; ...
什么是状态模式? 状态模式允许一个对象根据当前对象的值来决定其行为。如下图“状态模式示例”是一个关于电灯泡操作的例子。如果电灯的状态为关,当按下开关时状态将打开;如果开关为开,则按下开关灯关闭。简而言之,根据不同的状态行为会发生变化。 图1:状态模式示例 下 面我们尝试使用C#实现该示例。图“状态模式实践”展示了业务类和客户端代码。我们创建了一个类‘clsState’,该类包含有两个状态“On”和 “Off”枚举;还定义了‘PressSwitch’方法,它根据当前状态来切换状态。在图右半部分我们实现了使用类‘clsState’的客户端来调用 ‘PressSwitch方法,并使用‘g ...
Global site tag (gtag.js) - Google Analytics